• Tutorials

    Tutorials in Scratch, C und Python erleichtern dir den Einstieg und helfen dir bei der Umsetzung kreativer Ideen.

Hindernis Pro

Led MatrixPythonboard Raspberry Pi

Erweit­er­ung Hin­der­nis mit Tas­ta­tur für den Schwie­rig­keits­grad und RFID-Mo­dul für den Spiel­start.

Bewege die Maus über die blauen Zeilennummern und erhalte mehr Informationen.

 

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 random
9 from RFID import *
10 from Tastatur import *
11 import LEDMatrix
12 from LEDMatrix import *
13  
14 LEDMatrix.init()
15 LEDMatrix.brightness(15)
16 LEDMatrix.richtung = 0
17  
18 Joy_right = 23
19 Joy_left = 4
20 LEDrot = 17
21  
22 GPIO.setup(Joy_right,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
23 GPIO.setup(Joy_left,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
24 GPIO.setup(LEDrot,GPIO.OUT)
25  
26 def interrupt_right(channel):
27     global platte
28     Screen[7-fehler][platte] = 0
29     Screen[7-fehler][platte+1] = 0
30     Screen[7-fehler][platte+2] = 0
31     platte = (platte+1)%6
32     Screen[7-fehler][platte] = 1
33     Screen[7-fehler][platte+1] = 1
34     Screen[7-fehler][platte+2] = 1
35     LEDMatrix.Display(Screen)
36  
37 def interrupt_left(channel):
38     global platte
39     Screen[7-fehler][platte] = 0
40     Screen[7-fehler][platte+1] = 0
41     Screen[7-fehler][platte+2] = 0
42     platte = (platte-1)%6
43     Screen[7-fehler][platte] = 1
44     Screen[7-fehler][platte+1] = 1
45     Screen[7-fehler][platte+2] = 1
46     LEDMatrix.Display(Screen)
47  
48 GPIO.add_event_detect(Joy_right,GPIO.RISING,callback=interrupt_right,bouncetime=200)
49 GPIO.add_event_detect(Joy_left,GPIO.RISING,callback=interrupt_left,bouncetime=200)
50  
51 Screen = [[0,0,0,0,0,0,0,0],
52           [0,0,0,0,0,0,0,0],
53           [0,0,0,0,0,0,0,0],
54           [0,0,0,0,0,0,0,0],
55           [0,0,0,0,0,0,0,0],
56           [0,0,0,0,0,0,0,0],
57           [0,0,0,0,0,0,0,0],
58           [0,0,0,0,0,0,0,0]]
59  
60 platte = 3
61 zufall = 0
62 fehler = 0
63 ID_Karte = 0
64 ID_erlaubt = 2005008
65 tempo = 0.5
66 temp_taste = ""
61 Screen[7][platte]=1
62 Screen[7][platte+1]=1
63 Screen[7][platte+2]=1
64 LEDMatrix.Display(Screen)
65  
66 while(ID_Karte != ID_erlaubt):
67     temp = RFID()
68     if(temp != None):
69         print temp[0]
70         ID_Karte = temp[0]
71  
72 print "Gib einen Schwierigkeitsgrad von 1 bis 3 an:"
73 while(temp_taste == ""):
74     gesetzt = 0
75     temp_taste = Tastatur()
76     if(temp_taste == 1):
77         tempo = 0.5
78     elif(temp_taste == 2):
79         tempo = 0.4
80     elif(temp_taste == 3):
81         tempo = 0.3
82     else:
83         if((gesetzt == 0) and (temp_taste != "")):
84             print "Bitte eine Zahl von 1 bis 3"
85             gesetzt = 1
86         temp_taste = ""
87  
88 GPIO.output(LEDrot,0)
89  
90 try:
91     while 1:
92         zufall = random.randint(0,7)
93         for i in range(8-fehler):
94             Screen[i][zufall]=1
95             LEDMatrix.Display(Screen)
96             time.sleep(tempo)
97             Screen[i][zufall]=0
98             if(i==7-fehler):
99                 if((zufall==platte)or(zufall==platte+1)or(zufall==platte+2)):
100                     Screen[7-fehler][platte]=0
101                     Screen[7-fehler][platte+1]=0
102                     Screen[7-fehler][platte+2]=0
103                     fehler = fehler + 1
104                     Screen[7-fehler][platte]=1
105                     Screen[7-fehler][platte+1]=1
106                     Screen[7-fehler][platte+2]=1
107                     LEDMatrix.Display(Screen)
108                     if(fehler==5):
109                         Screen[7-fehler][platte]=0
110                         Screen[7-fehler][platte+1]=0
111                         Screen[7-fehler][platte+2]=0
112                         Screen[7][platte]=1
113                         Screen[7][platte+1]=1
114                         Screen[7][platte+2]=1
115                         fehler = 0
116                         LEDMatrix.Scroll(["Game over"],0.05,Left)
117                         LEDMatrix.Display(Screen)
118                         break
119  
120 except KeyboardInterrupt:
121     GPIO.cleanup()

 

Workshops

Sensoren programmieren mit Python am Raspberry Pi
Einsteiger Workshop

PH Baden, 20. Oktober 2018


Roboter programmieren mit Scratch

PH Baden, 27. Oktober 2018


Sensoren programmieren mit Python am Raspberry Pi
Einsteiger Workshop

PTS Schopenhauerstrasse, 6. + 13. März 2019


Sensoren programmieren mit Python am Raspberry Pi
Fortgeschrittenen Workshop

PTS Schopenhauerstrasse, 18. + 25. März 2019


Roboter programmieren mit Scratch

PTS Schopenhauerstrasse, 20. März 2019

Kontakt

Raspbotics

  • Claus Zöchling
  • +436504291944
  • info[at]raspbotics.at
  • Facebook

Download

latest Image

Stand: 29.04.2018

ältere Images