Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Schallsensoraktivierte LEDs mit LCD für Schallpegeldaten!

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
Lötfreies Steckbrett in voller Größe
× 1
9-V-Batterie (generisch)
Optional.
× 1
9V zu Barrel Jack Connector
Optional.
× 1
Überbrückungsdrähte männlich/männlich
× 1
Überbrückungsdrähte männlich/weiblich
× 1
Adafruit Standard LCD - 16x2 Weiß auf Blau
Ich habe das mit einem i2c-Rucksack verwendet.
× 1
Soundsensormodul KY-038
× 1
5 mm LED:Gelb
× 2
5 mm LED:Grün
× 4
5 mm LED:Rot
× 2
5 mm LED:Weiß
× 4
SparkFun 5 mm LED:Blau
× 4
Widerstand 100 Ohm
Für die weißen und blauen LEDs.
× 8
Widerstand 220 Ohm
Für die roten und gelben LEDs.
× 4
Widerstand 330 Ohm
Für die grünen LEDs.
× 4

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

Bei diesem Projekt geht es darum, die Schallpegeldaten zu überwachen, die von den Lautsprechern freigegeben, produziert oder ausgegeben(?) werden.

Aaah... das ist ein Produkt aus Neugier und Langeweile.

Ich habe ein [KY-038]-Mikrofon-Soundsensormodul verwendet, um die Werte aufzunehmen, die ich dann vom Serial Monitor gesammelt, in eine Tabelle übertragen und in aufsteigender Reihenfolge angeordnet habe, dann habe ich die Werte ausgewählt, die häufiger auftreten als andere oder nur die, die ich mögen.

Ich habe eine Reihe von Variablen vom niedrigsten Bereich bis zum mittleren und hohen Bereich ausgewählt.

Die Variablen aus dem niedrigsten Wertebereich aktivieren die gelben LEDs, die mittleren Werte aktivieren die grünen LEDs und die oberen Werte die roten.

Die LEDs werden aktiviert oder eingeschaltet, wenn der bestimmte sensorValue erreicht oder vom Schallsensor erkannt wird.

Ich habe auch ein optionales LCD eingebaut, um die Werte in Echtzeit anzuzeigen, nur zum Spaß.

Ich habe diesen Code im Grunde gerade aktualisiert

Einige Codes von hier hinzugefügt

Und hier

Die LCD-Codes stammen aus meinem vorherigen Projekt

Und Benutzername MAS3s Kommentar hier

Ich bin auf ein Problem gestoßen, bei dem die Daten, die auf dem LCD angezeigt werden, einige Restziffern vom letzten Sensorwert aufweisen. Zum Beispiel, wenn der aktuelle Wert 619 sein soll, was auf dem seriellen Monitor steht, aber 6194 wird, weil der vorherige Wert 1234 war.

Laden Sie die .cpp- und .h-Dateien hier herunter.

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

Social Media Links zum Folgen (ich meine, wenn Sie möchten):

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
Ich habe Kommentare zum Code hinzugefügt, um einige Erklärungen zu erhalten. Ich hoffe, ich weiß, was ich tue. 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_PCF85/74 LCD .i2C Name und Position hinzufügen; Glühbirne auf dem Steckbrett + Wo es am Arduino angeschlossen ist. // LED1 ist LED-Birne 1 auf dem Steckbrett und 3 ist Digital PWM 3 auf dem 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; // Digital Pin 2 auf dem Arduino ist dort, wo das "DO" des Soundsensors angeschlossen ist.int sensorValue =analogRead (A0); // Hier ist das "AO" des Schallsensors angeschlossen.boolean LEDStatus=false;void setup () { Serial.begin (9600); LCDi2C.begin (LCD_COLUMNS, LCD_ROWS, LCD_ADDRESS, HINTERGRUNDBELEUCHTUNG); //Dies sind die, die wir zuvor definiert haben. PinMode (SoundSensor, EINGANG); //Weil unser Schallsensor ein Eingabegerät ist. PinMode (LED1, AUSGANG); PinMode (LED2, AUSGANG); pinMode (LED3, AUSGANG); PinMode (LED4, AUSGANG); PinMode (LED5, AUSGANG); pinMode (LED6, AUSGANG); pinMode (LED7, AUSGANG); PinMode (LED8, AUSGANG); pinMode (sensorValue, OUTPUT); // sensorValue wird als Ausgabe deklariert, da sie auf dem LCD und dem seriellen Monitor gedruckt wird.}void loop () { Int sensorValue =analogRead (sensorValue); int SensorData=digitalRead(soundSensor); if(SensorData=1){ if(LEDStatus==false){ LEDStatus=true; Serial.println (sensorValue); // Dies wird auf dem seriellen Monitor gedruckt, um sicherzustellen, dass die Daten auf dem LCD gleich sind. LCDi2C.setCursor(0,0); // Dadurch wird der Text nicht nach oben gescrollt und verschwindet dann wieder, wenn sensorValue-Daten hinzugefügt werden. LCDi2C.print("SoundLevel-Daten:"); // Der Text, der angezeigt wird und in Zeile 1 des LCD bleibt. LCDi2C.setCursor(0,1); // Dadurch wird der Text nicht nach oben gescrollt und verschwindet dann wieder, wenn sensorValue-Daten hinzugefügt werden. LCDi2C.print (sensorValue); // Die Daten, die auf dem LCD erscheinen. LCDi2C.print(" "); // Dies soll verhindern, dass eine zusätzliche Ziffer aus dem letzten Wert auf dem aktuellen Wert erscheint. Wenn der vergangene Wert 1234 ist, soll der Strom 619 betragen, aber er wird als 6194 angezeigt. } if(sensorValue>=750) { // sensorValue größer oder gleich XX. XX-Nummern werden aus den neuesten Daten auf dem Serial Monitor gesammelt. Kopiert und auf ein Spredsheet eingefügt, dann von der niedrigsten bis zur halbhöchsten Lautstärke angeordnet. digitalWrite (LED8, HOCH); // Sie können die unterschiedlichen Werte des Sensors für jede LED-Lampe verwenden, wenn Sie möchten, dass sie wie ein Sensor agiert, indem Sie entsprechende LED-Lampen entsprechend den Sensorwertdaten anzeigen oder aufleuchten. } // Wie gelbe LED-Lampen leuchten auf, wenn der Sensor ein leises Geräusch aufnimmt, auch bekannt als. Mindestlautstärke, grüne LED-Lampen leuchten, wenn die Lautstärke in Ordnung ist, und rote LED-Lampen leuchten, wenn die Lautstärke die Lautstärkeschwelle für Laut erreicht. else{ // Alternativ können Sie allen LEDs den gleichen Wert hinzufügen, wenn alle gleichzeitig reagieren sollen. LEDStatus=false; // Sie können auch mit den Sensorwerten spielen, um die LEDs tanzen zu lassen. Zum Beispiel die Sensorwerte zufällig neu anordnen. Oder 2 LEDs auf denselben Wert reagieren lassen und andere LEDs auf andere Werte reagieren. digitalWrite (LED8, LOW); } if (sensorValue>=735) { digitalWrite (LED7, HIGH); aufrechtzuerhalten. Sonst { LEDStatus =false; digitalWrite (LED7, LOW); } if (sensorValue>=725) { digitalWrite (LED6,HIGH); aufrechtzuerhalten. Sonst { LEDStatus =false; digitalWrite (LED6, LOW); } if (sensorValue>=720) { digitalWrite (LED5, HIGH); aufrechtzuerhalten. Sonst { LEDStatus =false; digitalWrite (LED5, LOW); } if (sensorValue>=715) { digitalWrite (LED4,HIGH); aufrechtzuerhalten. Sonst { LEDStatus =false; digitalWrite (LED4, LOW); } if (sensorValue>=700) { digitalWrite (LED3, HIGH); aufrechtzuerhalten. Sonst { LEDStatus =false; digitalWrite (LED3, LOW); } if (sensorValue>=675) { digitalWrite (LED2,HIGH); aufrechtzuerhalten. Sonst { LEDStatus =false; digitalWrite (LED2, LOW); } if (sensorValue>=650) { digitalWrite (LED1, HIGH); aufrechtzuerhalten. Sonst { LEDStatus =false; digitalWrite (LED1, LOW); } } else{ LEDStatus=false; //Nicht wirklich sicher, warum ich das hinzugefügt habe. Lol. digitalWrite (LED1, LOW); digitalWrite (LED2, LOW); digitalWrite (LED3, LOW); digitalWrite (LED4, LOW); digitalWrite (LED5, LOW); digitalWrite (LED6, LOW); digitalWrite (LED7, LOW); digitalWrite (LED8, LOW); } } 

Schaltpläne

Folgen Sie einfach den Drähten von einem Ende zum anderen.

Herstellungsprozess

  1. Würth:3-Achsen-Beschleunigungssensor mit voreingestellten Funktionalitäten
  2. Integration von Sensordaten mit Raspberry Pi-Mikroprozessor
  3. Linienverfolgungssensor mit RPi
  4. Umgebungssensor-API mit einem RPi
  5. Das Potenzial für die Integration visueller Daten in das IoT
  6. Sechs Grundlagen für erfolgreiche sensorgestützte Anwendungen
  7. Arch Systems arbeitet mit Flex für die Transformation von Fertigungsdaten zusammen
  8. Weicher Tastsensor mit hautähnlichen Eigenschaften für Roboter
  9. WiFi-RSSI-Sensor-Tracker für die ISS
  10. Materialien für die LED-basierte Datenkommunikation der nächsten Generation