Projekt 21 Soundgesteuerte LED
1. Beschreibung
Die soundgesteuerte LED ist ein Gerät, das Schall erkennt und die Helligkeit der LED steuert. Es besteht aus einem Arduino-Board und einigen Komponenten. Es kann mit mehreren Sensoren wie Mikrofonen verbunden werden. Es wandelt Schall in ein sich änderndes Spannungssignal um, das vom Arduino empfangen wird, um die LED ein- und auszuschalten.
2. Funktionsprinzip

Beim Erkennen eines Tons vibriert die Elektretfolie im Mikrofon, was die Kapazität ändert und eine subtile Spannungsänderung erzeugt.
Anschließend verwenden wir den LM3-Chip, um eine geeignete Schaltung zum Verstärken des erfassten Tons aufzubauen, die mit einem Potentiometer eingestellt werden kann. Drehen Sie es im Uhrzeigersinn, um die Verstärkung zu erhöhen.
3. Schaltplan

4. Testcode
/*
keyestudio ESP32 Inventor Learning Kit
Project 21.1:Sound Controlled LED
http://www.keyestudio.com
*/
int sound = 33; //Define sound as IO33
void setup()
{
Serial.begin(9600);
pinMode(sound,INPUT);
}
void loop()
{
int value = analogRead(sound);
Serial.println(value);
}
5. Testergebnis
Nach dem Verbinden der Verkabelung und Hochladen des Codes öffnen Sie den seriellen Monitor und stellen die Baudrate auf 9600 ein, der analoge Wert wird angezeigt.

Empfindlichkeitseinstellung:
Wenn Sie das Gefühl haben, dass die Empfindlichkeit des Schallsensors passend ist, können wir das Potentiometer des Schallsensors einstellen (rechts für höchste Empfindlichkeit, links für niedrigste Empfindlichkeit).

6. Wissensvertiefung
Das häufig zu sehende Flurlicht ist eine Art soundgesteuertes Licht. Gleichzeitig enthält es auch einen Fotowiderstand. Anders als dort bauen wir hier ein Modell auf, bei dem eine LED nur vom Schall beeinflusst wird. Wenn die analoge Lautstärke 100 überschreitet, leuchtet die LED für 2 Sekunden und geht dann aus.
Flussdiagramm:

Schaltplan:

Code:
/*
keyestudio ESP32 Inventor Learning Kit
Project 21.2:Sound Controlled LED
http://www.keyestudio.com
*/
int sound = 33; //Define sound to IO33
int led = 25; //Define led to IO25
void setup()
{
pinMode(led,OUTPUT); //Set IO25 to output
}
void loop()
{
int value = analogRead(sound); //Read analog value of IO33 and assign it to value
if(value > 100)
{ //Judge whether value is greater than 100
digitalWrite(led,HIGH); //If IO25 pin outputs high level, LED lights up
delay(2000);
}
else
{
digitalWrite(led,LOW); //If IO25 pin outputs low level, LED lights off
}
}
Testergebnis
Wenn der vom Schallsensor erkannte Wert größer als 100 ist, leuchtet die rote LED.