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:
Letzte Aktualisierung am: 10. März 2024

2 thoughts on “M5Stamp Pico Mate #2: Ampelschaltung”