Nr.03 Licht und Ton

Inhaltsverzeichnis

Gleichzeitiges Licht- und Tonsignal mit einem Mikrocontroller

Aufgabe: Eine LED und ein Piezo-Lautsprecher sollen kontinuierlich blinken bzw. piepen. Zusätzlich werden in dieser Anleitung auch Variablen verwendet.

Im Programmabschnitt vor dem setup-Teil werden Variablen eingetragen. Einem Pin wird ein Name zugeordnet. Im weiteren Verlauf wird statt des verwendeten Pins der Name des Pins verwendet.

Praxistipp: Unterscheidung von aktiven und passiven Lautsprechern

Die Bauform des aktiven und passiven Lautsprechers können nahezu identisch sein. Man erkennt den hier benötigten aktiven Lautsprecher (auch piezo Speaker oder active Speaker) anhand der geschlossenen, schwarzen Unterseite.

Der Unterschied zwischen aktiven und passiven Lautsprechern
Von links nach rechts: passiver Lautsprecher (offen), aktiver Lautsprecher (Piezo, geschlossen)

Schaltpläne

LEDs werden je nach verwendeter Farbe mit 2 bis 3 Volt betrieben. Die Mikrokontroller arbeiten mit einer Spannung von 3,3 Volt bis 5 Volt. Die höhere Spannung kann die LEDs zerstören, deshalb muss ein sogenannter Vorwiderstand davor geschaltet werden. In diesem Fall ist er 220 Ohm groß.

Der Programmcode

Arduino UNO

// Dieses Mal nutzen wir auch den ersten Programmabschnitt. 
// Hier werden Variablen eingetragen. Das bedeutet, dass sich hinter einem Buchstaben oder einem Wort eine Zahl verbirgt. 
// Bei uns ist die LED an Pin 4 angeschlossen und der Piezo-Speaker an Pin 5. 
// Damit man die beiden Pins später nicht verwechselt, benennen wir Pin 4 und Pin 5 einfach um.
int LED = 4;  // Das Wort „LED“ steht jetzt für die Zahl „4“.
int Pieps = 5;  // Das Wort „Pieps“ steht jetzt für die Zahl „5“.

void setup()  // wir starten mit dem Setup.
{
  pinMode(LED, OUTPUT);  // Pin 4 (Pin „LED“) ist ein Ausgang.
  pinMode(Pieps, OUTPUT);  // Pin 5 (Pin „Pieps“) ist ein Ausgang.
}

void loop()  // Das Hauptprogramm beginnt.
{

  digitalWrite(LED, HIGH);  // Schalte die LED an.
  digitalWrite(Pieps, HIGH);  // Schalte den Piezo-Lautsprecher an.
  delay(1000);  // Warte 1000 Millisekunden. (Es piepst und leuchtet.)
  digitalWrite(LED, LOW);  // Schalte die LED aus.
  digitalWrite(Pieps, LOW);  // Schalte den Piezo aus.
  delay(1000);  // Warte 1000 Millisekunden. (kein Lärm, kein Licht)
}

// Hier am Ende springt das Programm an den Start des Loop-Teils. 
// also wird es gleich wieder piepsen und leuchten. Wenn man die Pause (delay) verkleinert oder vergrößert,
// piepst und leuchtet es schneller oder langsamer.

Wemos D1 Mini

int LED = D5;  // Das Wort „LED“ steht jetzt für D5.
int Pieps = D6;  // Das Wort „Pieps“ steht jetzt für D6.

void setup()  // wir starten mit dem Setup.
{
  pinMode(LED, OUTPUT);  // Pin D5 (Pin „LED“) ist ein Ausgang.
  pinMode(Pieps, OUTPUT);  // Pin D6 (Pin „Pieps“) ist ein Ausgang.
}

void loop()  // Das Hauptprogramm beginnt.
{

  digitalWrite(LED, HIGH);  // Schalte die LED an.
  digitalWrite(Pieps, HIGH);  // Schalte den Piezo-Lautsprecher an.
  delay(1000);  // Warte 1000 Millisekunden. (Es piepst und leuchtet.)
  digitalWrite(LED, LOW);  // Schalte die LED aus.
  digitalWrite(Pieps, LOW);  // Schalte den Piezo aus.
  delay(1000);  // Warte 1000 Millisekunden. (kein Lärm, kein Licht)
}

ESP32-Wroom

int LED = 26;  // Das Wort „LED“ steht jetzt für die Zahl „26“.
int Pieps = 27;  // Das Wort „Pieps“ steht jetzt für die Zahl „27“.

void setup()  // wir starten mit dem Setup.
{
  pinMode(LED, OUTPUT);  // Pin 26 (Pin „LED“) ist ein Ausgang.
  pinMode(Pieps, OUTPUT);  // Pin 27 (Pin „Pieps“) ist ein Ausgang.
}

void loop()  // Das Hauptprogramm beginnt.
{

  digitalWrite(LED, HIGH);  // Schalte die LED an.
  digitalWrite(Pieps, HIGH);  // Schalte den Piezo-Lautsprecher an.
  delay(1000);  // Warte 1000 Millisekunden. (Es piepst und leuchtet.)
  digitalWrite(LED, LOW);  // Schalte die LED aus.
  digitalWrite(Pieps, LOW);  // Schalte den Piezo aus.
  delay(1000);  // Warte 1000 Millisekunden. (kein Lärm, kein Licht)
}

NodeMCU

int LED = D1;  // Das Wort „LED“ steht jetzt für D1.
int Pieps = D2;  // Das Wort „Pieps“ steht jetzt für D2.

void setup()  // wir starten mit dem Setup.
{
  pinMode(LED, OUTPUT);  // Pin D1 (Pin „LED“) ist ein Ausgang.
  pinMode(Pieps, OUTPUT);  // Pin D2 (Pin „Pieps“) ist ein Ausgang.
}

void loop()  // Das Hauptprogramm beginnt.
{

  digitalWrite(LED, HIGH);  // Schalte die LED an.
  digitalWrite(Pieps, HIGH);  // Schalte den Piezo-Lautsprecher an.
  delay(1000);  // Warte 1000 Millisekunden. (Es piepst und leuchtet.)
  digitalWrite(LED, LOW);  // Schalte die LED aus.
  digitalWrite(Pieps, LOW);  // Schalte den Piezo aus.
  delay(1000);  // Warte 1000 Millisekunden. (kein Lärm, kein Licht)
}

Funduino - Dein Onlineshop für Mikroelektronik

  • Dauerhaft 10% Rabatt für Schüler, Studenten und Lehrkräfte
  • Mehr als 3.500 Artikel sofort verfügbar!
  • Über 8 Jahre Erfahrung mit Arduino, 3D-Druck und co.
SALE