changed the default logic for the buttons and contact pins to inverted - default high. changed circuit and circuit diagrams to accomodate for that.
This commit is contained in:
parent
d5d79416e3
commit
f617226879
@ -56,23 +56,23 @@ pin_blue, pin_green, pin_red
|
|||||||
|
|
||||||
pin_start
|
pin_start
|
||||||
|
|
||||||
Type: Input, Pull Up
|
Type: Input, Pull Down
|
||||||
Use: Start pin. If this is active, the game starts.
|
Use: Start pin. If this is active, the game starts.
|
||||||
|
|
||||||
pin_stop
|
pin_stop
|
||||||
|
|
||||||
Type: Input, Pull Up
|
Type: Input, Pull Down
|
||||||
Use: Stop pin. If this is active, the game ends
|
Use: Stop pin. If this is active, the game ends
|
||||||
|
|
||||||
pin_error
|
pin_error
|
||||||
|
|
||||||
Type: Input, Pull Up
|
Type: Input, Pull Down
|
||||||
Use: This is to be attached to the game wire. If the wire is touched,
|
Use: This is to be attached to the game wire. If the wire is touched,
|
||||||
the pin is pulled up and an error is registered.
|
the pin is pulled up and an error is registered.
|
||||||
|
|
||||||
pin_shutdown
|
pin_shutdown
|
||||||
|
|
||||||
Type: Input, Pull Up
|
Type: Input, Pull Down
|
||||||
Use: Triggering this input causes a system shutdown.
|
Use: Triggering this input causes a system shutdown.
|
||||||
|
|
||||||
GPIO Pinout for assembly:
|
GPIO Pinout for assembly:
|
||||||
@ -117,20 +117,18 @@ Circuit diagrams for the contact and button electronics:
|
|||||||
|
|
||||||
All buttons are close-contact.
|
All buttons are close-contact.
|
||||||
|
|
||||||
+3.3V DC ---+-----------+-----------+-----------+-------->
|
+3.3V DC ---+-----------+-------------------------------->
|
||||||
| | | |
|
| | | |
|
||||||
|
R2 R4 R4 R4
|
||||||
| | | |
|
| | | |
|
||||||
start \ stop \ shutdown \ error \
|
+----+ +----+ +----+ +----+
|
||||||
contact \ contact \ button \ contact \
|
| | | | | | | |
|
||||||
|
| P_32 | P_37 | P_32 | P_32
|
||||||
|
\ \ \ \
|
||||||
|
\ \ \ \
|
||||||
\ \ \ \
|
\ \ \ \
|
||||||
* * * *
|
* * * *
|
||||||
| | | |
|
| | | |
|
||||||
R1 R3 R5 R7
|
|
||||||
| | | |
|
|
||||||
+-----+ +-----+ +-----+ +-----+
|
|
||||||
| | | | | | | |
|
|
||||||
R2 P_32 R4 P_37 R6 P_36 R8 P_33
|
|
||||||
| | | |
|
|
||||||
GND --------+-----------+-----------+-----------+-------->
|
GND --------+-----------+-----------+-----------+-------->
|
||||||
|
|
||||||
LED Strip controller and driver:
|
LED Strip controller and driver:
|
||||||
@ -190,13 +188,9 @@ and the other 3 the ground connections for the corresponding LED colour.
|
|||||||
Part list:
|
Part list:
|
||||||
|
|
||||||
Resistors:
|
Resistors:
|
||||||
R1............1,800 Ohm
|
|
||||||
R2...........10,000 Ohm
|
R2...........10,000 Ohm
|
||||||
R3............1,800 Ohm
|
|
||||||
R4...........10,000 Ohm
|
R4...........10,000 Ohm
|
||||||
R5............1,800 Ohm
|
|
||||||
R6...........10,000 Ohm
|
R6...........10,000 Ohm
|
||||||
R7............1,800 Ohm
|
|
||||||
R8...........10,000 Ohm
|
R8...........10,000 Ohm
|
||||||
R9............1,000 Ohm
|
R9............1,000 Ohm
|
||||||
R10..........10,000 Ohm
|
R10..........10,000 Ohm
|
||||||
@ -454,7 +448,7 @@ def handle_events():
|
|||||||
exit_application()
|
exit_application()
|
||||||
|
|
||||||
# shutdown raspberry if shutdown pin is detected
|
# shutdown raspberry if shutdown pin is detected
|
||||||
if GPIO.input(pin_shutdown):
|
if not GPIO.input(pin_shutdown):
|
||||||
shutdown_raspberry()
|
shutdown_raspberry()
|
||||||
|
|
||||||
def exit_application():
|
def exit_application():
|
||||||
@ -715,7 +709,7 @@ while True:
|
|||||||
|
|
||||||
# event handling for if the start button is pushed
|
# event handling for if the start button is pushed
|
||||||
#wait for the user to press start button
|
#wait for the user to press start button
|
||||||
if GPIO.input(pin_start) and not pin_start_inhibit:
|
if not GPIO.input(pin_start) and not pin_start_inhibit:
|
||||||
# change game state to running and not ending
|
# change game state to running and not ending
|
||||||
game_running = True
|
game_running = True
|
||||||
game_ending = False
|
game_ending = False
|
||||||
@ -753,7 +747,7 @@ while True:
|
|||||||
pin_start_inhibit = False
|
pin_start_inhibit = False
|
||||||
|
|
||||||
# add errors if error pin is detected, only once per 500 ms
|
# add errors if error pin is detected, only once per 500 ms
|
||||||
if GPIO.input(pin_error):
|
if not GPIO.input(pin_error):
|
||||||
if not error_added:
|
if not error_added:
|
||||||
errors += 1
|
errors += 1
|
||||||
error_added = True
|
error_added = True
|
||||||
@ -791,7 +785,7 @@ while True:
|
|||||||
#pygame.display.flip()
|
#pygame.display.flip()
|
||||||
|
|
||||||
# if another push of start is detected (i.e. the game is ending!)
|
# if another push of start is detected (i.e. the game is ending!)
|
||||||
if GPIO.input(pin_stop):
|
if not GPIO.input(pin_stop):
|
||||||
# change led colour to red
|
# change led colour to red
|
||||||
change_led_colour(200, 0, 200)
|
change_led_colour(200, 0, 200)
|
||||||
|
|
||||||
|
24
pud_test.py
Normal file
24
pud_test.py
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
#coding=utf-8
|
||||||
|
|
||||||
|
import signal
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
import time
|
||||||
|
import RPi.GPIO as GPIO
|
||||||
|
|
||||||
|
############################################
|
||||||
|
############## END OF IMPORTS ##############
|
||||||
|
|
||||||
|
# GPIO for Buttons
|
||||||
|
pin_start = 36
|
||||||
|
|
||||||
|
|
||||||
|
# initialise gpio
|
||||||
|
GPIO.setmode(GPIO.BOARD)
|
||||||
|
GPIO.setup(pin_start, GPIO.IN)
|
||||||
|
|
||||||
|
while True:
|
||||||
|
print(GPIO.input(pin_start))
|
||||||
|
time.sleep(1)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user