User manual

Heute im Adventskalender
1 LED gelb mit eingebautem Vorwiderstand
1 GPIO-Verbindungskabel
Ampel auf einer Straße
Das Experiment des 3. Tags stellt eine Ampel dar. Stellen Sie sich mit der
Spielfigur auf die Haltelinie, und die Ampel schaltet auf Grün.
Die in Minecraft
TM
aufgebaute Ampel kann nicht wirklich leuchten. Dies überneh-
men drei LEDs.
Bauteile
1 Steckbrett
1 LED rot mit eingebautem Vorwiderstand
1 LED gelb mit eingebautem Vorwiderstand
1 LED grün mit eingebautem Vorwiderstand
4 GPIO-Verbindungskabel
Das Programm
Das Programm 03mc_ampel01.py schaltet einen Ampelzyklus auf den
drei LEDs, wenn die Spielfigur auf dem Wartebalken auf der Straße steht.
#!/usr/bin/python
import mcpi.minecraft as minecraft
import RPi.GPIO as GPIO
import time
mc = minecraft.Minecraft.create()
rot = 0
gelb = 1
gruen = 2
Ampel=[18,23,25]
GPIO.setmode(GPIO.BCM)
GPIO.setup(Ampel[rot], GPIO.OUT, initial=True)
GPIO.setup(Ampel[gelb], GPIO.OUT, initial=False)
GPIO.setup(Ampel[gruen], GPIO.OUT, initial=False)
try:
while True:
p = mc.player.getTilePos()
mat = mc.getBlock(p.x, p.y-1, p.z)
if mat==42:
GPIO.output(Ampel[gelb],True)
time.sleep(0.6)
GPIO.output(Ampel[rot],False)
GPIO.output(Ampel[gelb],False)
GPIO.output(Ampel[gruen],True)
time.sleep(2)
GPIO.output(Ampel[gruen],False)
GPIO.output(Ampel[gelb],True)
time.sleep(0.6)
GPIO.output(Ampel[gelb],False)
GPIO.output(Ampel[rot],True)
time.sleep(2)
except KeyboardInterrupt:
GPIO.cleanup()
Der Ampelzyklus
Farbe(n) Zeit
Rot/Gelb 0.6 sek
Grün 2.0 sek
Gelb 0.6 sek
Rot 2.0 sek
So funktioniert das Programm
import time
Zusätzlich zu den bereits bekannten Bibliotheken wird die Bibliothek time
importiert, die verschiedene Funktionen zur Berechnung von Zeiten enthält.
Damit werden die Wartezeiten zwischen den Ampelphasen erstellt.
rot = 0
gelb = 1
gruen = 2
Ampel=[18,23,25]
Um die GPIO-Pins im Programm besser unterscheiden und das Programm
leichter an einen anderen Schaltungsaufbau anpassen zu können, werden
die Pinnummern am Anfang in einer Liste Ampel[] gespeichert. Die Num-
mern der drei Listenelemente werden in den drei Variablen rot, gelb und
gruen gespeichert und können so sehr einfach zugeordnet werden.
GPIO.setup(Ampel[rot], GPIO.OUT, initial=True)
Drei LEDs simulieren eine Ampel am Raspberry Pi.