Tym razem prezentujemy bardzo prosty wskaźnik wysterowania “VU Meter” całość oczywiście jest oparta o Arduino.
Do wykonania będą nam potrzebne następujące elementy:
– Arduino UNO (lub odpowiednik)
– LM386
– Mikrofon elektretowy
– 2 diody LED Czerwone
– 2 diody LED Pomarańczowe
– 2 diody LED Zielone
– 10 x rezystor 220Ω
– potencjometr 10kΩ
– kondensator 1μF
– kondensator 100μF
– płytka stykowa, przewody
Schemat połączeń do Arduino:
Program:
int levelLeds[] = {
2,3,4,5,6,7,8,9,10,11 }; // Diody LED od 2 do 11 pinu Arduino
void setup()
{
for(int i=0;i<10;i++){
pinMode(levelLeds[i],OUTPUT);
digitalWrite(levelLeds[i],LOW);
}
}
int ecmPin = 1; // Analogowy pin 1 od wzmacniacza mikrofonu
void loop()
{
static int lasEcmLevel = 0;
int input = analogRead(ecmPin);
input = abs(input – 512);
//Serial.println(input);
int ecmLevel = map(input, 50, 360, 0, 10); // 50 – wartość minimalna sygnału, 380 – wartość maksymalna sygnału, 0 – … wie, 10 – ilość diód podłączonych diod
lasEcmLevel = ecmLevel;
int pos;
for(pos=0;pos<lasEcmLevel;pos++){
digitalWrite(levelLeds[pos],HIGH);
}
for(;pos<10;pos++){ // 10 – ilość diód
digitalWrite(levelLeds[pos],LOW);
}
delay(5);
}
Realny działanie