In diesem kurzen Beitrag möchte ich dir zeigen, wie du eine Ampelschaltung am M5Stamp Pico Mate programmieren kannst.
Den verwendeten Mikrocontroller – M5Stamp Pico Mate, habe ich dir bereits in den nachfolgenden Beiträgen vorgestellt.
Benötigte Ressourcen
Für dieses kleine Projekt verwende ich:
- einen M5Stamp Pico Mate*,
- einen ESP32 Downloader*,
- ein USB-Typ-C Kabel*,
- drei 220 Ohm Widerstände*,
- eine rote, 10 mm, LED*,
- eine gelbe, 10 mm, LED*,
- eine grüne, 10 mm, LED*,
- ein 400 Pin Breadboard*,
- vier Breadboardkabel*, männlich-männlich, 20 cm
Du kannst statt der 10 mm LEDs kannst du auch ein Ampel-Modul* oder einfache 5 mm LEDs verwenden.
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
Aufbau der Schaltung
Für die Schaltung benötigen wir lediglich 3 LEDs sowie 3 Vorwiderstände mit 220 Ohm.
LED | Pin am M5Stamp Pico Mate |
---|---|
rote LED, Anode | G18 |
gelbe LED, Anode | G19 |
grüne LED, Anode | G21 |
Die Kathoden der LEDs habe ich direkt mit GND des Mikrocontrollers verbunden.
Wenn du das verlinkte Ampel-Modul verwendest, sparst du dir zwei Breadboardkabel für den Minuspol der LEDs, ansonsten hat dieses keine weiteren Vorteile.
Programmieren in der Arduino IDE
Wie man eine LED am Mikrocontroller programmiert, habe ich dir bereits in diversen Beiträgen gezeigt und für den M5Stamp Pico sind keine besonderen Befehle notwendig und somit ist der Quellcode recht einfach gehalten.
//rote LED am GP18 angeschlossen #define ledRot 18 //gelbe LED GP19 angeschlossen #define ledGelb 19 //gruen LED GP21 angeschlossen #define ledGruen 21 //Wert für die Pause zwischen den //einzelnen Signalen der Ampel const int PAUSE = 750; void setup() { //Pin der roten LED als Ausgang definieren pinMode(ledRot, OUTPUT); //Pin der gelben LED als Ausgang definieren pinMode(ledGelb, OUTPUT); //Pin der gruenen LED als Ausgang definieren pinMode(ledGruen, OUTPUT); } void loop() { //nur die gruene LED aktiv trafficLights(0, 0, 1); //eine Pause einlegen delay(PAUSE); //nur die gelbe LED aktiv trafficLights(0, 1, 0); //eine Pause einlegen delay(PAUSE); //nur die rote LED aktiv trafficLights(1, 0, 0); //eine Pause einlegen delay(PAUSE); //die rote & gelbe LED aktiv trafficLights(1, 1, 0); //eine Pause einlegen delay(PAUSE); } //aktivieren der LEDs void trafficLights(int statusRedLed, int statusYelloLed, int statusGreenLed){ digitalWrite(ledRot, statusRedLed); digitalWrite(ledGelb, statusYelloLed); digitalWrite(ledGruen, statusGreenLed); }
Hier nun das Video zum oben gezeigten Code:
2 thoughts on “M5Stamp Pico Mate #2: Ampelschaltung”