Arduino Ai Vu-meter 10 led

Share

Ecco un esempio di sketch per un vu meter con 10 led utilizzando Arduino:

const int analogInPin = A0;  // Pin analogico in cui è collegato il microfono
const int ledCount = 10;    // Numero di LED sul vu meter
const int ledPins[] = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };  // Elenco dei pin dei LED sul vu meter

void setup() {
  // Configura i pin dei LED come uscite
  for (int i = 0; i < ledCount; i++) {
    pinMode(ledPins[i], OUTPUT);
  }
}

void loop() {
  // Leggi il valore del segnale audio dal pin analogico
  int audioValue = analogRead(analogInPin);

  // Mappa il valore letto dal pin analogico al valore di luminosità del LED
  int brightness = map(audioValue, 0, 1023, 0, ledCount);

  // Accendi i LED corrispondenti alla luminosità
  for (int i = 0; i < ledCount; i++) {
    if (i < brightness) {
      digitalWrite(ledPins[i], HIGH);
    } else {
      digitalWrite(ledPins[i], LOW);
    }
  }

  // Aggiorna ogni 20 millisecondi
  delay(20);
}

Questo codice legge il valore del segnale audio dal pin analogico ‘A0‘, lo mappa al valore di luminosità del LED e accende i LED corrispondenti alla luminosità. Il vu meter si aggiornerà ogni 20 millisecondi.