Arduino – VU Meter 10 LED

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:

arduino - VU Meter 10 LED

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

Post Author: swistak

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Potwierdz, że nie jesteś botem. *