Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Geluidssensor geactiveerde LED's met LCD voor geluidsniveaugegevens!

Componenten en benodigdheden

Arduino UNO
× 1
Soldeerloze breadboard op ware grootte
× 1
9V-batterij (algemeen)
Optioneel.
× 1
9V naar Barrel Jack Connector
Optioneel.
× 1
Mannelijke/Mannelijke doorverbindingsdraden
× 1
Mannelijke/Vrouwelijke doorverbindingsdraden
× 1
Adafruit Standaard LCD - 16x2 Wit op Blauw
Ik heb die met een i2c-rugzak gebruikt.
× 1
Geluidssensormodule KY-038
× 1
5 mm LED:geel
× 2
5 mm LED:groen
× 4
5 mm LED:rood
× 2
5 mm LED:wit
× 4
SparkFun 5 mm LED:blauw
× 4
Weerstand 100 ohm
Voor de witte en blauwe LED's.
× 8
Weerstand 220 ohm
Voor de rode en gele LED's.
× 4
Weerstand 330 ohm
Voor de groene LED's.
× 4

Apps en online services

Arduino IDE

Over dit project

Dit project gaat over het monitoren van de geluidsniveaugegevens die worden vrijgegeven, geproduceerd of uitgevoerd (?) door de luidsprekers.

Aaah... dit is een product van nieuwsgierigheid en verveling.

Ik gebruikte een [KY-038] microfoongeluidssensormodule om de waarden op te pikken die ik vervolgens verzamelde van de seriële monitor, overgebracht naar een spreadsheet, gerangschikt in oplopende volgorde en vervolgens de waarden koos die vaker voorkomen dan andere of alleen de waarden die ik Leuk vinden.

Ik heb een aantal variabelen gekozen, van het laagste bereik tot het midden- en hoge bereik.

De variabelen van het laagste bereik van waarden activeren de gele LED's, de middelste zullen de groene LED's activeren en de hoge bereik zullen de rode activeren.

De LED's worden geactiveerd of ingeschakeld wanneer de bepaalde sensorwaarde wordt bereikt of gedetecteerd door de geluidssensor.

Ik heb ook een optioneel LCD-scherm toegevoegd om de waarden in realtime te bekijken, gewoon voor de lol.

Ik heb deze code zojuist geüpgraded

Hier wat codes toegevoegd

En hier

De LCD-codes zijn van mijn vorige project

En Gebruikersnaam MAS3's Commentaar hier

Ik heb een probleem ondervonden waarbij de gegevens die op het LCD-scherm verschijnen, enkele overgebleven cijfers bevatten van de vorige sensorValue. Zoals, wanneer de huidige waarde 619 zou moeten zijn, wat op de seriële monitor staat, maar het wordt 6194, omdat de waarde in het verleden 1234 was.

Download hier de .cpp- en .h-bestanden.

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

Links naar sociale media om te volgen (ik bedoel, als je dat wilt):

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
Ik heb opmerkingen bij de code toegevoegd voor wat uitleg. Ik hoop dat ik weet wat ik doe. 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-naam en positie van de LCDAi2C; lamp op het breadboard + Waar het is aangesloten op de Arduino.// LED1 is LED-lamp 1 op het breadboard en 3 is Digital PWM 3 op de 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; // Digitale pin 2 op de Arduino is waar de "DO" van de geluidssensor is aangesloten.int sensorValue =analogRead (A0); //Hier is de "AO" van de geluidssensor aangesloten.boolean LEDStatus=false;void setup () {Serial.begin(9600); LCDi2C.begin(LCD_COLUMNS, LCD_ROWS, LCD_ADDRESS, BACKLIGHT); //Dit zijn degenen die we eerder hebben gedefinieerd. pinMode (geluidssensor, INPUT); //Omdat onze geluidssensor een invoerapparaat is. pinMode (LED1, UITGANG); pinMode (LED2, UITGANG); pinMode (LED3, UITGANG); pinMode (LED4, UITGANG); pinMode (LED5, UITGANG); pinMode (LED6, UITGANG); pinMode (LED7, UITGANG); pinMode (LED8, UITGANG); pinMode (sensorWaarde, UITGANG); //sensorValue wordt gedeclareerd als uitvoer omdat het wordt afgedrukt op het LCD-scherm en de seriële monitor.}void loop() {int sensorValue=analogRead(sensorValue); int SensorData=digitalRead (geluidssensor); if(SensorData=1){ if(LEDStatus==false){ LEDStatus=true; Serial.println(sensorValue); //Dit wordt afgedrukt op de seriële monitor om er zeker van te zijn dat de gegevens op het LCD-scherm hetzelfde zijn. LCDi2C.setCursor(0,0); //Dit is om ervoor te zorgen dat de tekst niet omhoog scrollt en verdwijnt en vervolgens weer verschijnt wanneer sensorValue-gegevens worden toegevoegd. LCDi2C.print("Geluidsniveaugegevens:"); // De tekst die op rij 1 van het LCD-scherm verschijnt en blijft. LCDi2C.setCursor(0,1); //Dit is om ervoor te zorgen dat de tekst niet omhoog scrollt en verdwijnt en vervolgens weer verschijnt wanneer sensorValue-gegevens worden toegevoegd. LCDi2C.print (sensorwaarde); // De gegevens die op het LCD-scherm verschijnen. LCDi2C.print(" "); // Dit is om te voorkomen dat een extra cijfer van de vorige waarde op de huidige waarde verschijnt. Zoals, wanneer de waarde in het verleden 1234 is, dan wordt de huidige verondersteld 619 te zijn, maar het verschijnt als 6194. } if(sensorValue>=750) { // sensorValue groter dan of gelijk aan XX. XX-nummers zijn verzameld uit de meest recente gegevens op de seriële monitor. Gekopieerd en geplakt op een spredsheet, vervolgens gerangschikt van het laagste tot het semi-hoogste geluidsvolumeniveau. digitalWrite (LED8, HOOG); // U kunt de verschillende waarden van de sensor op elke LED-lamp gebruiken als u wilt dat deze zich als een sensor gedraagt ​​door overeenkomstige LED-lampen weer te geven of te verlichten volgens de gegevens van de sensorwaarden. } // Net als gele LED-lampen zullen oplichten wanneer de sensor een geluid met een laag volume oppikt. Minimaal volumeniveau, groene led-lampen lichten op wanneer het volumeniveau OK is en rode led-lampen lichten op wanneer het volume de drempel voor luid volume bereikt. else{ // U kunt ook gewoon dezelfde waarde aan alle LED's toevoegen als u wilt dat ze allemaal tegelijkertijd reageren. LEDStatus=false; // Je kunt ook spelen met de sensorwaarden om de LED's te laten dansen. Bijvoorbeeld door de sensorwaarden willekeurig te herschikken. Of 2 LED's op dezelfde waarde laten reageren en andere LED's op andere waarden. digitalWrite (LED8, LAAG); } if(sensorValue>=735) {digitalWrite(LED7,HIGH); } else{ LEDStatus=false; digitalWrite (LED7, LAAG); } if(sensorValue>=725) {digitalWrite(LED6,HIGH); } else{ LEDStatus=false; digitalWrite (LED6, LAAG); } if(sensorValue>=720) {digitalWrite(LED5,HIGH); } else{ LEDStatus=false; digitalWrite (LED5, LAAG); } if(sensorValue>=715) {digitalWrite(LED4,HIGH); } else{ LEDStatus=false; digitalWrite (LED4, LAAG); } if(sensorValue>=700) {digitalWrite(LED3,HIGH); } else{ LEDStatus=false; digitalWrite (LED3, LAAG); } if(sensorValue>=675) {digitalWrite(LED2,HIGH); } else{ LEDStatus=false; digitalWrite (LED2, LAAG); } if(sensorValue>=650) {digitalWrite(LED1,HIGH); } else{ LEDStatus=false; digitalWrite (LED1,LAAG); } } else{ LEDStatus=false; //Niet echt zeker waarom ik dit heb toegevoegd. Lol. digitalWrite (LED1,LAAG); digitalWrite (LED2, LAAG); digitalWrite (LED3, LAAG); digitalWrite (LED4, LAAG); digitalWrite (LED5, LAAG); digitalWrite (LED6, LAAG); digitalWrite (LED7, LAAG); digitalWrite (LED8, LAAG); } } 

Schema's

Volg gewoon de draden van begin tot eind.

Productieproces

  1. Sensorfusie-algoritme gebruikt onbewerkte gegevens voor automodellen
  2. Würth:3-assige versnellingssensor met vooraf ingestelde functionaliteiten
  3. De integratie van sensorgegevens met Raspberry Pi-microprocessor
  4. Lijnvolgsensor met RPi
  5. Milieusensor-API met een RPi
  6. Het potentieel voor het integreren van visuele data met het IoT
  7. Zes essentiële zaken voor succesvolle sensorgeïnformeerde toepassingen
  8. Arch Systems werkt samen met Flex voor transformatie van productiegegevens
  9. Zachte tactiele sensor met huidvergelijkbare kenmerken voor robots
  10. WiFi RSSI-sensortracker voor het ISS
  11. Materialen voor op leds gebaseerde datacommunicatie van de volgende generatie