GPOIO Helpers eingeführt / aufgeräumt
This commit is contained in:
parent
482c66be04
commit
5e9e4dca21
60
photobox.py
60
photobox.py
@ -76,10 +76,16 @@ IMAGES_TODO = os.path.join(IMAGE_DIR, "todo")
|
||||
|
||||
|
||||
# global variables
|
||||
spot_mode = 0
|
||||
session_start = monotonic_time()
|
||||
|
||||
|
||||
spot_mode = 0
|
||||
|
||||
# GPIO helpers
|
||||
|
||||
def led_border(state):
|
||||
global GPIO_LED_BORDER
|
||||
GPIO.output(GPIO_LED_BORDER, state)
|
||||
|
||||
|
||||
def set_spot_mode(new_mode):
|
||||
@ -94,40 +100,39 @@ def next_spot_mode():
|
||||
set_spot_mode(spot_mode + 1)
|
||||
|
||||
|
||||
def handle_button(gpio_id):
|
||||
|
||||
# user interface
|
||||
|
||||
def button_press(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_BUTTON_LED, GPIO.OUT)
|
||||
GPIO.output(GPIO_BUTTON_LED, GPIO.LOW)
|
||||
GPIO.setup(GPIO_RIGHT_SPOT, GPIO.OUT, initial=GPIO.HIGH)
|
||||
GPIO.setup(GPIO_LEFT_SPOT, GPIO.OUT, initial=GPIO.HIGH)
|
||||
GPIO.setup(GPIO_LED_BORDER, GPIO.OUT, initial=GPIO.LOW)
|
||||
GPIO.setup(GPIO_BUTTON_LED, GPIO.OUT, initial=GPIO.LOW)
|
||||
|
||||
GPIO.setup(GPIO_BUTTON, GPIO.IN)
|
||||
GPIO.add_event_detect(GPIO_BUTTON, GPIO.FALLING, handle_button, bouncetime=300)
|
||||
GPIO.add_event_detect(GPIO_BUTTON, GPIO.FALLING, button_press, bouncetime=300)
|
||||
|
||||
GPIO.output(GPIO_RIGHT_SPOT, GPIO.HIGH)
|
||||
GPIO.output(GPIO_LEFT_SPOT, GPIO.HIGH)
|
||||
|
||||
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
|
||||
led_border(False)
|
||||
sleep(0.02)
|
||||
GPIO.output(GPIO_LED_BORDER, GPIO.HIGH)
|
||||
led_border(True)
|
||||
sleep(0.02)
|
||||
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
|
||||
led_border(False)
|
||||
sleep(0.02)
|
||||
GPIO.output(GPIO_LED_BORDER, GPIO.HIGH)
|
||||
led_border(True)
|
||||
sleep(0.02)
|
||||
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
|
||||
led_border(False)
|
||||
sleep(0.02)
|
||||
GPIO.output(GPIO_LED_BORDER, GPIO.HIGH)
|
||||
led_border(True)
|
||||
sleep(0.02)
|
||||
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
|
||||
led_border(False)
|
||||
|
||||
|
||||
|
||||
@ -253,20 +258,18 @@ def makePhotos():
|
||||
camera.start_preview()
|
||||
|
||||
# COUNTDOWN
|
||||
GPIO.output(GPIO_RIGHT_SPOT, GPIO.LOW)
|
||||
GPIO.output(GPIO_LEFT_SPOT, GPIO.LOW)
|
||||
GPIO.output(GPIO_LED_BORDER, GPIO.HIGH)
|
||||
led_border(True)
|
||||
for i in range(0, COUNTDOWN):
|
||||
countdown(camera, pad_cdn[i], img_cdn[i])
|
||||
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
|
||||
led_border(False)
|
||||
|
||||
# SHOTS
|
||||
for i in range(0, SHOT_COUNT):
|
||||
# SHOT!
|
||||
sleep(PIC_INTERVAL)
|
||||
GPIO.output(GPIO_LED_BORDER, GPIO.HIGH)
|
||||
led_border(True)
|
||||
camera.capture("./tmp%s.jpg" % i, format='jpeg', quality=100, thumbnail=None)
|
||||
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
|
||||
led_border(False)
|
||||
|
||||
# PAUSE
|
||||
if i < SHOT_COUNT - 1:
|
||||
@ -278,9 +281,6 @@ def makePhotos():
|
||||
# CLOSE CAMERA
|
||||
camera.close()
|
||||
|
||||
GPIO.output(GPIO_RIGHT_SPOT, GPIO.HIGH)
|
||||
GPIO.output(GPIO_LEFT_SPOT, GPIO.HIGH)
|
||||
|
||||
|
||||
|
||||
def chooseImages():
|
||||
@ -420,7 +420,5 @@ except KeyboardInterrupt:
|
||||
print("")
|
||||
|
||||
finally:
|
||||
GPIO.output(GPIO_RIGHT_SPOT, GPIO.HIGH)
|
||||
GPIO.output(GPIO_LEFT_SPOT, GPIO.HIGH)
|
||||
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
|
||||
led_border(False)
|
||||
pygame.quit()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user