Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

LED activées par capteur sonore avec écran LCD pour les données de niveau sonore !

Composants et fournitures

Arduino UNO
× 1
Planche à pain sans soudure pleine grandeur
× 1
Batterie 9V (générique)
Facultatif.
× 1
Connecteur 9V vers Barrel Jack
Facultatif.
× 1
Câbles de raccordement mâle/mâle
× 1
Câbles de raccordement mâle/femelle
× 1
Adafruit Standard LCD - 16x2 Blanc sur Bleu
J'ai utilisé celui avec un sac à dos i2c.
× 1
Module de capteur de son KY-038
× 1
LED 5 mm :Jaune
× 2
LED 5 mm :Vert
× 4
LED 5 mm :Rouge
× 2
LED 5 mm :Blanc
× 4
LED SparkFun 5 mm :Bleu
× 4
Résistance 100 ohm
Pour les LED blanches et bleues.
× 8
Résistance 220 ohm
Pour les LED rouges et jaunes.
× 4
Résistance 330 ohm
Pour les LED vertes.
× 4

Applications et services en ligne

Arduino IDE

À propos de ce projet

Ce projet concerne la surveillance des données de niveau sonore qui sont diffusées, produites ou émises (?) par les haut-parleurs.

Aaah... c'est le produit de la curiosité et de l'ennui.

J'ai utilisé un module de capteur de son de microphone [KY-038] pour récupérer les valeurs que j'ai ensuite recueillies à partir du moniteur série, transférées sur une feuille de calcul, classées par ordre croissant, puis j'ai choisi les valeurs qui se produisent de manière plus répétitive que les autres ou uniquement celles que j'ai Comme.

J'ai choisi un certain nombre de variables de la gamme la plus basse à la gamme moyenne et haute.

Les variables de la gamme de valeurs la plus basse activeront les LED jaunes, celles de milieu de gamme activeront les LED vertes et celles de gamme haute activeront les rouges.

Les LED seront activées ou allumées lorsque la certaine valeur du capteur est atteinte ou détectée par le capteur de son.

J'ai également inclus un écran LCD en option pour afficher les valeurs en temps réel juste pour le plaisir.

Je viens de mettre à jour ce code

Ajout de quelques codes d'ici

Et ici

Les codes LCD proviennent de mon projet précédent

Et le commentaire du nom d'utilisateur MAS3 ici

J'ai rencontré un problème où les données qui apparaissent sur l'écran LCD ont des chiffres restants de la sensorValue passée. Par exemple, lorsque la valeur actuelle est censée être 619, ce qui est sur le moniteur série, mais elle devient 6194, car la valeur précédente était 1234.

Téléchargez les fichiers .cpp et .h ici.

******************************************************** *******************************

Liens de médias sociaux à suivre (je veux dire, si vous le souhaitez) :

Facebook - https://fb.me/HeathenHacks

Twitter - https://twitter.com/HeathenHacks

Instagram - https://instagr.am/HeathenHacks

******************************************************** **************************

https://drive.google.com/file/d/15NRocdFjr-DG7Hu2zyyvSvRz7bcncvU7/

Code

  • SoundSensorLEDwData
SoundSensorLEDwDataArduino
J'ai ajouté des commentaires sur le code pour quelques explications. J'espère que je sais ce que je fais. lol.
#include "Arduino.h" #include "LiquidCrystal_PCF8574.h" #define LCD_ADDRESS 0x27#define LCD_ROWS 2#define LCD_COLUMNS 16#define SCROLL_DELAY 150#define BACKLIGHT 255LiquidCrystal_PCF8574/ LCDi2C name et position; ampoule sur la maquette + Où elle est connectée sur l'Arduino.// LED1 est l'ampoule LED 1 sur la planche à pain et 3 est Digital PWM 3 sur l'Arduino.int LED1=3;int LED2=4;int LED3=5;int LED4=6;int LED5=7;int LED6=8;int LED7=9;int LED8=10;int soundSensor=2; // La broche numérique 2 sur l'Arduino est l'endroit où le "DO" du capteur de son est connecté.int sensorValue =analogRead(A0); //C'est là que le "AO" du capteur de son est connecté.boolean LEDStatus=false;void setup () { Serial.begin(9600); LCDi2C.begin(LCD_COLUMNS, LCD_ROWS, LCD_ADDRESS, BACKLIGHT); //Ce sont ceux que nous avons définis plus tôt. pinMode (soundSensor, INPUT); //Parce que notre capteur de son est un périphérique d'entrée. pinMode (LED1, SORTIE); pinMode (LED2, SORTIE); pinMode (LED3, SORTIE); pinMode (LED4, SORTIE); pinMode (LED5, SORTIE); pinMode (LED6, SORTIE); pinMode (LED7, SORTIE); pinMode (LED8, SORTIE); pinMode(sensorValue, OUTPUT); //sensorValue est déclaré comme sortie car il sera imprimé sur l'écran LCD et Serial Monitor.}void loop() { int sensorValue=analogRead(sensorValue); int SensorData=digitalRead(soundSensor); if(SensorData=1){ if(LEDStatus==false){ LEDStatus=true ; Serial.println(sensorValue); //Ceci sera imprimé sur le moniteur série juste pour s'assurer que les données sur l'écran LCD sont les mêmes. LCDi2C.setCursor(0,0); //Cela permet au texte de ne pas défiler vers le haut et de disparaître, puis de réapparaître lorsque les données sensorValue sont ajoutées. LCDi2C.print("Données de niveau sonore :"); //Le texte qui apparaîtra et restera sur la ligne 1 de l'écran LCD. LCDi2C.setCursor(0,1) ; //Cela permet au texte de ne pas défiler vers le haut et de disparaître, puis de réapparaître lorsque les données sensorValue sont ajoutées. LCDi2C.print(sensorValue); // Les données qui apparaîtront sur l'écran LCD. LCDi2C.print(" "); // Ceci pour empêcher un chiffre supplémentaire de la valeur passée d'apparaître sur la valeur actuelle. Comme, lorsque la valeur passée est 1234, alors le courant est supposé être 619, mais il apparaît comme 6194. } if(sensorValue>=750) { // sensorValue supérieur ou égal à XX. Les numéros XX sont collectés à partir des données les plus récentes sur le moniteur série. Je l'ai copié et collé sur une feuille de calcul, puis arrangé du niveau de volume sonore le plus bas au semi-haut. digitalWrite (LED8, HAUT); // Vous pouvez utiliser les différentes valeurs du capteur sur chaque ampoule LED si vous souhaitez qu'elle agisse comme un capteur en affichant ou en allumant les ampoules LED correspondantes en fonction des données de valeurs du capteur. } // Comme les ampoules LED jaunes s'allumeront lorsque le capteur captera un son à faible volume, c'est-à-dire. Niveau de volume minimum, les ampoules LED vertes s'allument lorsque le niveau de volume est correct et les ampoules LED rouges s'allument lorsque le volume atteint le seuil de volume fort. else{ // Alternativement, vous pouvez simplement ajouter la même valeur à toutes les LED si vous voulez qu'elles réagissent toutes en même temps. LEDStatus=false ; // Vous pouvez aussi jouer avec les valeurs des capteurs pour faire danser les LED. Réarranger les valeurs des capteurs de manière aléatoire par exemple. Ou faire réagir 2 LED à la même valeur et les autres LED réagissent à d'autres valeurs. écriture numérique (LED8, FAIBLE); } if(sensorValue>=735) { digitalWrite(LED7,HIGH); } else{ LEDStatus=false; écriture numérique (LED7, FAIBLE); } if(sensorValue>=725) { digitalWrite(LED6,HIGH); } else{ LEDStatus=false; écriture numérique (LED6, FAIBLE); } if(sensorValue>=720) { digitalWrite(LED5,HIGH); } else{ LEDStatus=false; écriture numérique (LED5, FAIBLE); } if(sensorValue>=715) { digitalWrite(LED4,HIGH); } else{ LEDStatus=false; écriture numérique (LED4, FAIBLE); } if(sensorValue>=700) { digitalWrite(LED3,HIGH); } else{ LEDStatus=false; digitalWrite (LED3, LOW); } if(sensorValue>=675) { digitalWrite(LED2,HIGH); } else{ LEDStatus=false; digitalWrite (LED2, LOW); } if(sensorValue>=650) { digitalWrite(LED1,HIGH); } else{ LEDStatus=false; digitalWrite (LED1, BAS); } } else{ LEDStatus=false; //Je ne sais pas vraiment pourquoi j'ai ajouté ceci. MDR. digitalWrite (LED1, BAS); digitalWrite (LED2, LOW); digitalWrite (LED3, LOW); écriture numérique (LED4, FAIBLE); écriture numérique (LED5, FAIBLE); écriture numérique (LED6, FAIBLE); écriture numérique (LED7, FAIBLE); écriture numérique (LED8, FAIBLE); } } 

Schémas

Il suffit de suivre les fils de bout en bout.

Processus de fabrication

  1. Würth :capteur d'accélération 3 axes avec fonctionnalités prédéfinies
  2. L'intégration des données du capteur avec le microprocesseur Raspberry Pi
  3. Capteur de suivi de ligne avec RPi
  4. API de capteur environnemental avec un RPi
  5. Le potentiel d'intégration de données visuelles avec l'IoT
  6. Six éléments essentiels pour réussir les applications basées sur les capteurs
  7. Capteur tactile souple avec des caractéristiques comparables à celles de la peau pour les robots
  8. Traqueur de capteur WiFi RSSI pour l'ISS
  9. Matériaux pour les communications de données à base de LED de nouvelle génération