Progetto 21 LED Controllato dal Suono

1. Descrizione

Il LED controllato dal suono è un dispositivo utilizzato per rilevare il suono in modo da controllare la luminosità del LED, composto da una scheda Arduino e alcuni componenti. Può collegarsi a più sensori come i microfoni. Converte il suono in un segnale di tensione variabile che viene ricevuto da Arduino per controllare l’accensione e lo spegnimento del LED.

2. Principio di Funzionamento

Quando viene rilevato un suono, la pellicola elettretica nel microfono vibra, modificando la capacità e generando una sottile variazione di tensione.

Successivamente, utilizziamo il chip LM3 per costruire un circuito adeguato che amplifica il suono rilevato, regolabile tramite un potenziometro. Ruotandolo in senso orario si aumenta il guadagno.

3. Schema di Collegamento

4. Codice di Test

/*
  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. Risultato del Test

Dopo aver collegato i fili e caricato il codice, aprire il monitor seriale impostando la velocità a 9600 baud, verrà visualizzato il valore analogico.

Regolazione della sensibilità:

Se si ritiene che la sensibilità del sensore sonoro sia adeguata, è possibile regolare il potenziometro del sensore (a destra per la massima sensibilità, a sinistra per la minima sensibilità).

6. Approfondimento

La luce da corridoio comunemente vista è un tipo di luce controllata dal suono. Nel frattempo, include anche una fotoresistenza. Diversamente da questa, qui costruiamo un modello in cui un LED è influenzato solo dal suono. Quando il volume analogico supera 100, il LED si accende per 2 secondi e poi si spegne.

  • Diagramma di Flusso:

  • Schema di Collegamento:

  • Codice:

/*
  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
  }
}
  • Risultato del Test

Quando il valore rilevato dal sensore sonoro è superiore a 100, il LED rosso si accende.