• 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

PTS Workshop Mechatronik
Coding Mikrocontroller + Elektronik

PTS Schopenhauerstrasse, 24. + 25. Juni 2019

Kontakt

Raspbotics

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

Download

latest Image

Stand: 02.06.2019

ältere Images