Taster für Spot-Auswahl implementiert
This commit is contained in:
parent
63670c3575
commit
482c66be04
33
photobox.py
33
photobox.py
@ -64,6 +64,8 @@ BORDER = 10
|
||||
GPIO_LED_BORDER = 7
|
||||
GPIO_RIGHT_SPOT = 35
|
||||
GPIO_LEFT_SPOT = 37
|
||||
GPIO_BUTTON_LED = 36
|
||||
GPIO_BUTTON = 38
|
||||
|
||||
THUMB_WIDTH = int((800 - BORDER) / SHOT_COUNT - BORDER)
|
||||
THUMB_HEIGHT = int(THUMB_WIDTH / 1.333)
|
||||
@ -77,14 +79,38 @@ IMAGES_TODO = os.path.join(IMAGE_DIR, "todo")
|
||||
session_start = monotonic_time()
|
||||
|
||||
|
||||
spot_mode = 0
|
||||
|
||||
|
||||
def set_spot_mode(new_mode):
|
||||
global spot_mode
|
||||
spot_mode = new_mode % 4
|
||||
GPIO.output(GPIO_LEFT_SPOT, not (spot_mode & 1))
|
||||
GPIO.output(GPIO_RIGHT_SPOT, not (spot_mode & 2))
|
||||
|
||||
|
||||
def next_spot_mode():
|
||||
global spot_mode
|
||||
set_spot_mode(spot_mode + 1)
|
||||
|
||||
|
||||
def handle_button(gpio_id):
|
||||
next_spot_mode()
|
||||
|
||||
|
||||
# INIT GPIO
|
||||
GPIO.setmode(GPIO.BOARD)
|
||||
GPIO.setwarnings(False)
|
||||
|
||||
GPIO.setup(GPIO_RIGHT_SPOT, GPIO.OUT)
|
||||
GPIO.setup(GPIO_LEFT_SPOT, GPIO.OUT)
|
||||
GPIO.setup(GPIO_LED_BORDER, GPIO.OUT)
|
||||
GPIO.setup(GPIO_RIGHT_SPOT, GPIO.OUT)
|
||||
GPIO.setup(GPIO_LEFT_SPOT, GPIO.OUT)
|
||||
GPIO.setup(GPIO_LED_BORDER, GPIO.OUT)
|
||||
|
||||
GPIO.setup(GPIO_BUTTON_LED, GPIO.OUT)
|
||||
GPIO.output(GPIO_BUTTON_LED, GPIO.LOW)
|
||||
|
||||
GPIO.setup(GPIO_BUTTON, GPIO.IN)
|
||||
GPIO.add_event_detect(GPIO_BUTTON, GPIO.FALLING, handle_button, bouncetime=300)
|
||||
|
||||
GPIO.output(GPIO_RIGHT_SPOT, GPIO.HIGH)
|
||||
GPIO.output(GPIO_LEFT_SPOT, GPIO.HIGH)
|
||||
@ -159,6 +185,7 @@ def waitForEvent():
|
||||
pygame.event.clear()
|
||||
while 1:
|
||||
sleep(0.25)
|
||||
|
||||
events = pygame.event.get()
|
||||
if len(events) > 0:
|
||||
for event in events:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user