Arduino VU-Meter: So stellst du das Messgerät ganz leicht selbst her

Jetzt wird es retro! Nostalgiker kommen bei diesem Projekt auf Ihre Kosten. Bau dir dein Arduino Vu-Meter!

Wer in der ersten Hälfte des 20. Jahrhunderts das Licht der Welt erblickt hat, dürfte es in jedem Fall kennen: das Vu-Meter. Dabei handelt es sich um einen analogen Aussteuerungsmesser, mithilfe dessen sich die Lautstärke von Audiosignalen anzeigen lässt, quasi über eine Pegelanzeige. „Vu“ steht hierbei für „volume unit“, englisch für Lautstärkeeinheit. Schon vor mehreren Jahrzehnten wurde das analoge Messinstrument von seinem digitalen Nachfolger abgelöst. Und doch liegt für Tüftler unbestritten ein gewisser Reiz darin, das Gerät mit einigen wenigen Hilfsmitteln selbst herzustellen – was übrigens auch überraschend einfach ist. Hier erfährst du, wie du mit verschiedenfarbigen LEDs und unter Verwendung eines Arduino ein Vu-Meter programmieren kannst. Die LEDs dienen als Aussteuerungsanzeige, d. h. sie sollen bei dem Projekt gemäß dem elektronischen Signal leuchten, das an sie abgegeben wird. Der Arduino berechnet in diesem Fall aus dem Signal des Soundsensors, welche LED angesteuert wird.

Folgende Hardware benötigst du für das Arduino VU-Meter Projekt:

WARENKORB

Alle für dieses Projekt notwendigen Artikel landen mit einem Klick auf den Button direkt in deinem Warenkorb, sofern sie in unserem Shop verfügbar sind. Kontrolliere daher deinen Warenkorb genau!

Arduino Vu-Meter Verkabelung: Das gilt es zu beachten

Sämtliche LEDs brauchen einen Strombegrenzungswiderstand. Damit gewährleistest du, dass der Strom auf den gängigen Pegel von 20 mA limitiert wird. Ein Widerstand von 220 Ohm für eine 5-Volt-Versorgung eignet sich für diesen Zweck optimal.

Entscheidend für das Gelingen des Projekts ist, dass der Arduino ordnungsgemäß mit dem Soundsensor verbunden wird. Was dabei durchaus hilfreich ist: Sowohl die Pins des Soundsensor als auch die des Arduino sind beschriftet.

Folgendermaßen sollten die beiden Module miteinander verbunden werden:

Soundsensor:               Arduino:

VCC(+)              ->        5 V
GND(-)             ->        GND
OUT oder A0    ->       A0

Auch das Breadboard, in dem du die LEDs fixiert hast, muss mit dem Arduino verbunden werden. Verwende dazu die Jumper-/ Dupont-Kabel.

Arduino IDE Setup

Zuletzt musst du nur noch den unten dargestellten Code auf deinen Arduino hochladen. Dieses YouTube-Tutorial erklärt dir Schritt für Schritt, wie du hierbei vorzugehen hast.

Der Code wird mit Hilfe der integrierten Entwicklungsumgebung Arduino IDE erstellt. Diese kannst du hier herunterladen.

Zunächst musst du in der Arduino IDE folgende Einstellungen vornehmen. Unter “Werkzeuge” teilst du der Entwicklungsumgebung mit, für welches Arduino Modell dein Programm geschrieben wird:

Im nächsten Schritt musst du nur noch den Port wählen, mit dem du deinen Arduino an deinen Computer angeschlossen hast:

Hier findest du den Code für dein Projekt

Die Arduino IDE unterstützt C und C++. Der hier verwendete Code ist in C++ verfasst. Du kannst ihn ganz leicht mit dem Button in der Ecke des Codebeispiels oben rechts kopieren, so dass du ihn nicht in die Arduino IDE abtippen musst.



int soundPin = A0;                           //Analog Pin 
int sensorValue = 0;                        

int led1= 4;
int led2= 5;
int led3= 6;
int led4= 7;
int led5= 8;
int led6= 9;
int led7= 10;
int led8= 11;


void setup() 
{

Serial.begin (9600);                           //Serial monitor baud rate

pinMode(led1, OUTPUT);                         // Alle LEDs als OUTPUT
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);

}

void loop() 
{
  
 sensorValue = analogRead (soundPin);          // Analog Pin Wert auslesen 
 Serial.println (sensorValue, DEC);

  if (sensorValue > 180 && sensorValue < 190)
   {
        digitalWrite(led1, HIGH);
   }
   
   /////////////////////////////
   
  else if (sensorValue > 190 && sensorValue < 200)
   { 
        digitalWrite(led1, HIGH);
        digitalWrite(led2, HIGH);
   }

   /////////////////////////////

  else if (sensorValue > 200 && sensorValue < 210)
   { 
        digitalWrite(led1, HIGH);
        digitalWrite(led2, HIGH);
        digitalWrite(led3, HIGH);
   }

   /////////////////////////////

  else if (sensorValue > 210 && sensorValue < 220)
   { 
        digitalWrite(led1, HIGH);
        digitalWrite(led2, HIGH);
        digitalWrite(led3, HIGH);
        digitalWrite(led4, HIGH);
   }

   /////////////////////////////

  else if (sensorValue > 220 && sensorValue < 230)
   { 
        digitalWrite(led1, HIGH);
        digitalWrite(led2, HIGH);
        digitalWrite(led3, HIGH);
        digitalWrite(led4, HIGH);
        digitalWrite(led5, HIGH);
   }


   /////////////////////////////

  else if (sensorValue > 230 && sensorValue < 240)
   { 
        digitalWrite(led1, HIGH);
        digitalWrite(led2, HIGH);
        digitalWrite(led3, HIGH);
        digitalWrite(led4, HIGH);
        digitalWrite(led5, HIGH);
        digitalWrite(led6, HIGH);
   }

   /////////////////////////////

  else if (sensorValue > 240 && sensorValue < 250)
   { 
        digitalWrite(led1, HIGH);
        digitalWrite(led2, HIGH);
        digitalWrite(led3, HIGH);
        digitalWrite(led4, HIGH);
        digitalWrite(led5, HIGH);
        digitalWrite(led6, HIGH);
        digitalWrite(led7, HIGH);
   }

   /////////////////////////////

  else if (sensorValue > 250)
   { 
        digitalWrite(led1, HIGH);
        digitalWrite(led2, HIGH);
        digitalWrite(led3, HIGH);
        digitalWrite(led4, HIGH);
        digitalWrite(led5, HIGH);
        digitalWrite(led6, HIGH);
        digitalWrite(led7, HIGH);
        digitalWrite(led8, HIGH);
   }

   /////////////////////////////

  else 
  {
        digitalWrite(led1, LOW);
        digitalWrite(led2, LOW);
        digitalWrite(led3, LOW);
        digitalWrite(led4, LOW);
        digitalWrite(led5, LOW);
        digitalWrite(led6, LOW);
        digitalWrite(led7, LOW);
        digitalWrite(led8, LOW);  
  }


}

Der Sketch genannte Code wird dann als .ino-Datei gespeichert und auf den Arduino übertragen. Drücke dazu in der Arduino IDE den Pfeil oben links mit der Beschriftung “Hochladen”.

Geschafft! Dein Vu-Meter ist einsatzbereit

Wenn du alle Teile korrekt miteinander verbunden und den Code in deinen Arduino hochgeladen hast, ist dein Vu-Meter einsatzbereit. Probiere das Messgerät am besten gleich aus – bei Dunkelheit wird die Funktion der verschiedenfarbigen LEDs am sichtbarsten.

Aus diesem Grund eignet sich dieses Projekt beispielsweise auch um deiner Hausbar eine zur Musik passende Beleuchtung zu verleihen.

Wir wünschen dir viel Spaß mit diesem Projekt und hoffen, dass wir dir noch viele weitere Inspirationen für deinen Arduino oder Raspberry Pi liefern können.

Dein BerryBase-Team!

Dein Herz schlägt für Arduino und OpenSource Hardware? Hier gibt es noch mehr Tutorials zu diesem Thema!

Die mobile Version verlassen