Python - Tutorials für Einsteiger und Fortgeschrittene zum Pythonboard.

Für alle Sensoren und Module, die beim Pythonboard beiliegen finden Sie im Anschluss Scripts, die Ihnen einen mühelosen Einstieg in die Python Programmierung ermöglichen sollen.

Mit einem Klick auf die Zeilennummern erhalten Sie weitere hilfreiche Informationen.
Python Hilfe


 So rufen Sie ein Pythonscript auf 


Python Sensoren
Bewegungsmelder schaltet die RGB Leuchtdiode

Ein Bewegungsmelder lässt beim Erkennen von Bewegungen die RGB LED leuchten.
Der Bewegungsmelder (ist im Set enthalten) kann einfach in den dafür vorgesehenen Sockel gesteckt werden und ist sofort betriebsbereit.
Lernziele:
GPIO Ausgänge (LEDs), GPIO Eingang (Bewegungsmelder), if - else, Pulldown - Widerstand

 Programmcode ausblenden/einblenden 

Schrift:   größer | kleiner            fett | normal
1   import sys
2  sys.path.append('/home/pi/raspbotics/Pythonboard_Module/RFID')
3  sys.path.append('/home/pi/raspbotics/Pythonboard_Module/LED_Matrix')
4  sys.path.append('/home/pi/raspbotics/Pythonboard_Module')
5   from RPi import GPIO
6   GPIO.setmode(GPIO.BCM)
7   import time
8  
9   LEDblau = 24
10   Bewegung = 27
11  
12   GPIO.setup(LEDblau,GPIO.OUT)
13   GPIO.setup(Bewegung,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
14  
15   GPIO.output(LEDblau,0)
16  
17   try:
18       while 1:
19           if GPIO.input(Bewegung)==1:
20               GPIO.output(LEDblau,1)
21           else:
22               GPIO.output(LEDblau,0)
23   except KeyboardInterrupt:
24       GPIO.cleanup()





Python Sensoren
Zutrittskontrolle mit Tastatur steuert RGB Leuchtdiode

Mit einer Tastatur wird eine dreistellige Geheimzahl abgefragt und bei richtiger Eingabe leuchtet die RGB Leuchtdiode grün. Bei falscher Eingabe leuchtet die LED rot. Wegen der Verwendung einer for-Zählschleife kann man durch eine Änderung zweier Zeilen im Script die Anzahl der Stellen der Geheimzahl beliebig erhöhen.
Lernziele:
GPIO Ausgänge (LEDs), Tastatur abfragen, for, if - else, while

 Programmcode ausblenden/einblenden 

Schrift:   größer | kleiner            fett | normal
1   import sys
2  sys.path.append('/home/pi/raspbotics/Pythonboard_Module/RFID')
3  sys.path.append('/home/pi/raspbotics/Pythonboard_Module/LED_Matrix')
4  sys.path.append('/home/pi/raspbotics/Pythonboard_Module')
5   from RPi import GPIO
6   GPIO.setmode(GPIO.BCM)
7   import time
8   from Tastatur import *
9  
10   LEDrot = 17
11   LEDgruen = 22
12  
13   GPIO.setup(LEDrot,GPIO.OUT)
14   GPIO.setup(LEDgruen,GPIO.OUT)
15  
16   GPIO.output(LEDrot,0)
17   GPIO.output(LEDgruen,0)
18  
19   Geheimzahl = 369
20   Zahl = 0
21  
22   try:
23       while 1:
24           for i in range(3):
25               print str(i+1) + ". Zahl:"
26               Taste = ""
27               while Taste == "":
28                   Taste = Tastatur()
29               print Taste
30               time.sleep(0.3)
31               Zahl = Zahl + int(Taste)*100/10**i
32  
33           if Zahl == Geheimzahl:
34               GPIO.output(LEDgruen,1)
35               GPIO.output(LEDrot,0)
36               time.sleep(1)
37               GPIO.output(LEDgruen,0)
38               GPIO.output(LEDrot,0)
39           else:
40               GPIO.output(LEDrot,1)
41               GPIO.output(LEDgruen,0)
42               time.sleep(1)
43               GPIO.output(LEDrot,0)
44               GPIO.output(LEDgruen,0)
45  
46           time.sleep(1)
47           print "-------------------------"
48           Zahl = 0
49   except KeyboardInterrupt:
50       GPIO.cleanup()





Python Sensoren
Laufschrift und Bilder am 8x8 LED Display ausgeben

Abwechselnde Ausgabe einer Laufschrit und einer Pixelgrafik.
Lernziele:
8x8 LED Matrix, if - else, Laufschriften bzw. statische und dynamische Pixelgrafiken erzeugen

 Programmcode ausblenden/einblenden 

Schrift:   größer | kleiner            fett | normal
1   import sys
2  sys.path.append('/home/pi/raspbotics/Pythonboard_Module/RFID')
3  sys.path.append('/home/pi/raspbotics/Pythonboard_Module/LED_Matrix')
4  sys.path.append('/home/pi/raspbotics/Pythonboard_Module')
5   from RPi import GPIO
6   GPIO.setmode(GPIO.BCM)
7   import time
8   from Muster import *
9   import LEDMatrix
10   from LEDMatrix import *
11  
12   LEDMatrix.init()
13   LEDMatrix.brightness(15)
14   LEDMatrix.richtung = 0
15  
16   Bild = [ [0,0,0,0,0,0,0,0],
17            [0,1,1,0,0,1,1,0],
18            [0,0,0,0,0,0,0,0],
19            [0,0,0,1,1,0,0,0],
20            [0,0,0,1,1,0,0,0],
21            [0,0,0,0,0,0,0,1],
22            [0,1,0,0,0,0,1,0],
23            [0,0,1,1,1,1,0,0] ]
24  
25  
26   try:
27       while 1:
28           LEDMatrix.Scroll(["Raspbotics"],0.05,Left)
29           time.sleep(1)
30           LEDMatrix.Display(Bild)
31           time.sleep(1)
32   except KeyboardInterrupt:
33       GPIO.cleanup()





Python Sensoren
Zeichnen von Pixelgrafiken mit dem Joystick

Mit dem Joystick kann ein Pixel auf der LED Matrix frei bewegt werden. Mit dem Taster können, wenn gewünscht Pixel gespeichert bzw. gelöscht werden.
Mit der Push-Funktion des Joysticks können gespeicherte Pixelgrafiken angezeigt werden.
Lernziele:
8x8 LED Matrix, Joystick, Taster, if - else, for, Listen, modulo, Funktionen

 Programmcode ausblenden/einblenden 

Schrift:   größer | kleiner            fett | normal
1   import sys
2  sys.path.append('/home/pi/raspbotics/Pythonboard_Module/RFID')
3  sys.path.append('/home/pi/raspbotics/Pythonboard_Module/LED_Matrix')
4  sys.path.append('/home/pi/raspbotics/Pythonboard_Module')
5   from RPi import GPIO
6   GPIO.setmode(GPIO.BCM)
7   import time
8   import LEDMatrix
9   from LEDMatrix import *
10  
11   LEDMatrix.init()
12   LEDMatrix.brightness(15)
13   LEDMatrix.richtung = 0
14  
15   Joy_left = 4
16   Joy_right = 23
17   Joy_up = 19
18   Joy_down = 13
19   Joy_push = 6
20   Taster = 5
21  
22   GPIO.setup(Joy_left,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
23   GPIO.setup(Joy_right,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
24   GPIO.setup(Joy_up,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
25   GPIO.setup(Joy_down,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
26   GPIO.setup(Joy_push,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
27   GPIO.setup(Taster,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
28  
29   def leer():
30       for i in range(8):
31           for j in range(8):
32               Pixel[i][j] = 0
33  
34   def Ausgabe():
35       global i
36       global j
37       leer()
38       Pixel[i][j] = 1
39       LEDMatrix.Display(Pixel)
40       time.sleep(0.3)
41  
42   Bild = [[0 for i in range(8)] for j in range(8)]
43   Pixel = [[0 for i in range(8)] for j in range(8)]
44   i = 3
45   j = 3
46   Ausgabe()
47  
48   try:
49       while 1:
50           if GPIO.input(Joy_left)==1:
51               j = (j-1)%8
52               Ausgabe()
53           if GPIO.input(Joy_right)==1:
54               j = (j+1)%8
55               Ausgabe()
56           if GPIO.input(Joy_up)==1:
57               i = (i-1)%8
58               Ausgabe()
59           if GPIO.input(Joy_down)==1:
60               i = (i+1)%8
61               Ausgabe()
62           if GPIO.input(Taster)==1:
63               Bild[i][j] = Bild[i][j] ^ 1
64               time.sleep(0.3)
65           if GPIO.input(Joy_push)==1:
66               LEDMatrix.Display(Bild)
67               time.sleep(0.3)
68  
69   except KeyboardInterrupt:
70       GPIO.cleanup()





Python Sensoren
Spiel:  Zeitschätzen

Mit einem Druck auf den Taster beginnt im Hintergrund ein Timer zu laufen. Nach geschätzten 5 Sekunden wird der Timer gestoppt und die benötigte Zeit im Terminalfenster angezeigt. Zusätzlich wird der Erfolg bzw. Misserfolg mit der grünen bzw. roten Leuchtdiode angezeigt.
Lernziele:
Taster, RGB Leuchtdiode, if - else, while, Timer

 Programmcode ausblenden/einblenden 

Schrift:   größer | kleiner            fett | normal
1   # -*- coding: utf-8 -*-
2   import sys
3  sys.path.append('/home/pi/raspbotics/Pythonboard_Module/RFID')
4  sys.path.append('/home/pi/raspbotics/Pythonboard_Module/LED_Matrix')
5  sys.path.append('/home/pi/raspbotics/Pythonboard_Module')
6   from RPi import GPIO
7   GPIO.setmode(GPIO.BCM)
8   import time
9  
10   Taster = 5
11   LEDgruen = 22
12   LEDrot = 17
13  
14   GPIO.setup(Taster,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
15   GPIO.setup(LEDgruen,GPIO.OUT)
16   GPIO.setup(LEDrot,GPIO.OUT)
17  
18   GPIO.output(LEDgruen,0)
19   GPIO.output(LEDrot,0)
20  
21   try:
22       while 1:
23           print "Drücken Sie den Taster und schätzen Sie 5 Sekunden"
24           print "Danach drücken Sie den Taster erneut"
25           while GPIO.input(Taster)!=1:
26               pass
27           start = time.time()
28           print "Timer gestartet"
29           time.sleep(0.3)
30           while GPIO.input(Taster)!=1:
31               pass
32           stop = time.time()
33           time.sleep(0.3)
34           Zeitdauer = round((stop - start),1)
35           print "Der Timer wurde nach " + str(Zeitdauer) + " Sekunden gestoppt"
36           if (Zeitdauer > 4.5) and (Zeitdauer < 5.5):
37               GPIO.output(LEDgruen,1)
38               time.sleep(1)
39               GPIO.output(LEDgruen,0)
40           else:
41               GPIO.output(LEDrot,1)
42               time.sleep(1)
43               GPIO.output(LEDrot,0)
44  
45           time.sleep(3)
46           print ""
47           print "-------------------------"
48           print ""
49   except KeyboardInterrupt:
50       GPIO.cleanup()





Python Sensoren
RFID:  Lesen und Schreiben

Die ID der RFID Karte bzw. die gespeicherten Werte können ausgelesen werden.
Zusätzlich wird mit der Tastatur eine Zahl eingegeben und auf der Karte als Punktestand, Guthaben, ... gespeichert.
Lernziele:
RFID, Taster, Tastatur, if - else, while

 Programmcode ausblenden/einblenden 

Schrift:   größer | kleiner            fett | normal
1   # -*- coding: utf-8 -*-
2   import sys
3  sys.path.append('/home/pi/raspbotics/Pythonboard_Module/RFID')
4  sys.path.append('/home/pi/raspbotics/Pythonboard_Module/LED_Matrix')
5  sys.path.append('/home/pi/raspbotics/Pythonboard_Module')
6   from RPi import GPIO
7   GPIO.setmode(GPIO.BCM)
8   import time
9   from RFID import *
10   from Tastatur import *
11  
12   Taster = 5
13  
14   GPIO.setup(Taster,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
15  
16   data = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
17   Zahl = 0
18  
19   try:
20       while 1:
21           ID = RFID()
22           if ID != None:
23               print ID[0]
24               print ID[1]
25  
26           if GPIO.input(Taster)==1:
27               RFID_write(data)
28  
29           Taste = Tastatur()
30           if Taste == "#":
31               print "Zahleingabe"
32  
33               for i in range(3):
34                   print str(i+1) + ". Ziffer"
35                   Taste = ""
36                   while Taste == ""
37                       Taste = Tastatur()
38                   Zahl = Zahl + Taste*100/10**i
39                   time.sleep(0.1)
40               print "Die Zahl lautet: " + str(Zahl)
41               data[0] = Zahl
42               Zahl = 0
43  
44   except KeyboardInterrupt:
45       GPIO.cleanup()





Python Sensoren
Ultraschall Entfernungssensor mit LED Anzeige

Der Ultraschall Sensor misst die Entfernung und gibt je nach Entfernung im Terminal "Alles Ok", "Warnung" bzw. "Kritischer Bereich" aus.
Zusätzlich leuchtet je nach Entfernungsbereich die grüne, blaue bzw. rote Leuchtdiode.
Lernziele:
GPIO Ausgänge (LEDs), Ultraschall Entfernungssensor, if - else

 Programmcode ausblenden/einblenden 

Schrift:   größer | kleiner            fett | normal
1   import sys
2  sys.path.append('/home/pi/raspbotics/Pythonboard_Module/RFID')
3  sys.path.append('/home/pi/raspbotics/Pythonboard_Module/LED_Matrix')
4  sys.path.append('/home/pi/raspbotics/Pythonboard_Module')
5   from RPi import GPIO
6   GPIO.setmode(GPIO.BCM)
7   import time
8   from Entfernung import *
9  
10   LEDgruen = 22
11   LEDblau = 24
12   LEDrot = 17
13  
14   GPIO.setup(LEDgruen,GPIO.OUT)
15   GPIO.setup(LEDblau,GPIO.OUT)
16   GPIO.setup(LEDrot,GPIO.OUT)
17  
18   GPIO.output(LEDgruen,0)
19   GPIO.output(LEDblau,0)
20   GPIO.output(LEDrot,0)
21  
22   try:
23       while 1:
24           Entfernung = round(distanz(),1)
25           if Entfernung > 20:
26               GPIO.output(LEDgruen,1)
27               GPIO.output(LEDblau,0)
28               GPIO.output(LEDrot,0)
29               print "Alles Ok"
30           elif (Entfernung >= 10) and (Entfernung <= 20):
31               GPIO.output(LEDblau,1)
32               GPIO.output(LEDgruen,0)
33               GPIO.output(LEDrot,0)
34               print "Warnung"
35           elif Entfernung < 10:
36               GPIO.output(LEDrot,1)
37               GPIO.output(LEDgruen,0)
38               GPIO.output(LEDblau,0)
39               print "Kritischer Bereich"
40           print Entfernung
41   except KeyboardInterrupt:
42       GPIO.cleanup()





Python Sensoren
Lichtsensor steuert die Helligkeit der LED Matrix

Je nach Helligkeit im Raum wird mit Hilfe des Lichtsensors die Displayhelligkeit geregelt. Lernziele:
Lichtsensor, LED Matrix, Analog Digital Wandler, if - else

 Programmcode ausblenden/einblenden 

Schrift:   größer | kleiner            fett | normal
1   import sys
2  sys.path.append('/home/pi/raspbotics/Pythonboard_Module/RFID')
3  sys.path.append('/home/pi/raspbotics/Pythonboard_Module/LED_Matrix')
4  sys.path.append('/home/pi/raspbotics/Pythonboard_Module')
5   from RPi import GPIO
6   GPIO.setmode(GPIO.BCM)
7   import time
7   import LEDMatrix
8   from LEDMatrix import *
9  
10   LEDMatrix.init()
11   LEDMatrix.brightness(15)
12   LEDMatrix.richtung = 0
13  
12   Taster = 5
13  
12   GPIO.setup(Taster,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
12   GPIO.add_event_detect(Taster,GPIO.RISING,callback=Interrupt_Kontrast)
13  
13  
12   def Interrupt_Kontrast(channel):
12       if GPIO.input(Taster)==1:
12           Helligkeit = ADC(4,1)
13  
22   try:
23       while 1:
24           LEDMatrix.Scroll(["Raspbotics"],tempo,Left)
41   except KeyboardInterrupt:
42       GPIO.cleanup()





Newsletter - Email eintragen!
 Anmelden
 Abmelden

RASPBOTICS
E-mail: info@raspbotics.at


© Ket4up, raffaelemontillo, Vadim Georgiev, Lightspring / shutterstock.com