Ecco un esempio di sketch arduino per accendere 8 led in base al suono rilevato da un microfono:
const int MIC_PIN = A0; // Pin analogico per il microfono
const int LED_PINS[] = {2, 3, 4, 5, 6, 7, 8, 9}; // Pins digitali per i LED
const int THRESHOLD = 500; // Soglia del suono da superare per accendere i LED
void setup() {
Serial.begin(9600); // Inizializzazione della comunicazione seriale
for (int i = 0; i < 8; i++) {
pinMode(LED_PINS[i], OUTPUT); // Impostazione dei pins dei LED come output
}
}
void loop() {
int soundLevel = analogRead(MIC_PIN); // Legge il valore dal microfono
Serial.println(soundLevel); // Stampa il valore sul monitor seriale
if (soundLevel > THRESHOLD) { // Se il valore supera la soglia del suono
for (int i = 0; i < 8; i++) {
digitalWrite(LED_PINS[i], HIGH); // Accende i LED
}
} else { // Altrimenti
for (int i = 0; i < 8; i++) {
digitalWrite(LED_PINS[i], LOW); // Spegne i LED
}
}
}
Il codice legge il valore del suono dal microfono (collegato al pin analogico A0) e lo confronta con una soglia preimpostata. Se il valore supera la soglia, tutti i 8 LED (collegati ai pin digitali da 2 a 9) vengono accesi. Se il valore è inferiore alla soglia, i LED vengono spenti. Il valore del suono viene anche stampato sul monitor seriale per il debugging.