Arduino UNO R3 – Gabellichtschranke& Piezo Buzzer

In diesem Beitrag möchte ich dir zeigen wie du bei Kontakt zwischen einer Gabellichtschranke einen Piezo Buzzer am Arduino UNO R3 auslösen kannst.

Arduino UNO R3 mit Gabellichtschranke & Piezo Buzzer
Arduino UNO R3 mit Gabellichtschranke & Piezo Buzzer

Die Gabellichtschranke KY-010 habe ich dir bereits im Beitrag Arduino Lektion 43: Lichtschranke KY-010 vorgestellt und ebenso ein kleines Beispiel gezeigt.

Benötigte Ressourcen für dieses kleine Projekt

Für den Nachbau, dieses kleines Projektes benötigst du:

Aufbau der Schaltung am Arduino UNO R3

Die Gabellichtschranke verfügt über 3 Pins. Auf der Rückseite der Gabellichtschranke findest du lediglich die Beschriftung „S“ für den „Signal“ Pin die anderen beiden sind (in meinem Fall) nicht beschriftet.

Aufbau der Schaltung - Arduino UNO R3 mit Gabellichtschranke & Piezo Buzzer
Aufbau der Schaltung – Arduino UNO R3 mit Gabellichtschranke & Piezo Buzzer

Die Bauteile aus dem Projekt werden wie folgt mit dem Arduino UNO R3 verbunden:

BauteilArduino UNO R3
Gabellichtschranke KY-010
Sdigitaler Pin D8
GGND
VCC5V
Piezo Buzzer
+digitaler Pin D2
GND

Programmieren der Gabellichtschranke inkl. Piezo Buzzer am Arduino UNO R3

// Gabellichtschranke KY-010 am digitalen Pin D8 angeschlossen
#define LICHTSCHRANKE 8
// Piezo Buzzer am digitalen Pin D2 angeschlossen
#define BUZZER 2

// Anzahl der Beeps welche ausgeführt werden sollen
const int NUM_BEEPS = 4;
// Frequenz des Beeps
const int FREQ = 500;
// die Pause zwischen den einzelnen Tönen
const int PAUSE = 75;

void setup() {
  // Pin des Buzzers als Ausgang definieren
  pinMode(BUZZER, OUTPUT);
  // Pin der Gabellichtschranke als Eingang definieren
  pinMode(LICHTSCHRANKE, INPUT);
}
void loop() {
  // lesen des aktuellen Zustands der Gabellichtschranke
  boolean active = digitalRead(LICHTSCHRANKE);
  // wenn ein Kontakt besteht dann soll ein Ton augegeben werden
  if (active) {
    // Die Schleife von 0 bis NUM_BEEP durchlaufen
    for (int i = 0; i <= NUM_BEEPS; i++) {
      // erzeugen eines Tones
      tone(BUZZER, FREQ);
      // eine Pause
      delay(PAUSE);
      // Wiedergabe des Tones am BUZZER Pin stoppen
      noTone(BUZZER);
      // eine Pause
      delay(PAUSE);
    }
  }
}

Video

2 Kommentare

  1. Guten Tag Herr Draeger,
    Vielen, vielen Dank für dieser wunderbare Sketch und Ihre Erklärung da zu ist sehr spektakulär zum Lernen, ich hätte doch eine Frage dazu: wie mache ich es, der Piezo Buzzer solle er piepsen wenn
    der Gabellichtschranke aus ist, er soll piepsen wenn zum Beispiel Fahrstuhl Kabine fährt hoch
    Tritte stock Gabellichtschranke aus Motor aus Buzzer signalisiert Tritte Etage 3 mal Piepsen.
    Vielen danken Herr Draeger.
    Gruß
    Antonio

    1. Hallo Herr Tommasi,

      man bräuchte dazu ein weiteres Signal um zu erkennen welcher Stock gerade angefahren wurde.

      Für den Fall das Sie den Signalton möchten wenn die Gabellichtschranke offen ist, müssen Sie die boolsche Variable mit einem ! davor umkehren.
      „if (!active) {“

      Gruß,

      Stefan Draeger

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.