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
|
# global variables
|
||||||
|
spot_mode = 0
|
||||||
session_start = monotonic_time()
|
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):
|
def set_spot_mode(new_mode):
|
||||||
@ -94,40 +100,39 @@ def next_spot_mode():
|
|||||||
set_spot_mode(spot_mode + 1)
|
set_spot_mode(spot_mode + 1)
|
||||||
|
|
||||||
|
|
||||||
def handle_button(gpio_id):
|
|
||||||
|
# user interface
|
||||||
|
|
||||||
|
def button_press(gpio_id):
|
||||||
next_spot_mode()
|
next_spot_mode()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# INIT GPIO
|
# INIT GPIO
|
||||||
GPIO.setmode(GPIO.BOARD)
|
GPIO.setmode(GPIO.BOARD)
|
||||||
GPIO.setwarnings(False)
|
GPIO.setwarnings(False)
|
||||||
|
|
||||||
GPIO.setup(GPIO_RIGHT_SPOT, GPIO.OUT)
|
GPIO.setup(GPIO_RIGHT_SPOT, GPIO.OUT, initial=GPIO.HIGH)
|
||||||
GPIO.setup(GPIO_LEFT_SPOT, GPIO.OUT)
|
GPIO.setup(GPIO_LEFT_SPOT, GPIO.OUT, initial=GPIO.HIGH)
|
||||||
GPIO.setup(GPIO_LED_BORDER, GPIO.OUT)
|
GPIO.setup(GPIO_LED_BORDER, GPIO.OUT, initial=GPIO.LOW)
|
||||||
|
GPIO.setup(GPIO_BUTTON_LED, GPIO.OUT, initial=GPIO.LOW)
|
||||||
GPIO.setup(GPIO_BUTTON_LED, GPIO.OUT)
|
|
||||||
GPIO.output(GPIO_BUTTON_LED, GPIO.LOW)
|
|
||||||
|
|
||||||
GPIO.setup(GPIO_BUTTON, GPIO.IN)
|
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)
|
led_border(False)
|
||||||
GPIO.output(GPIO_LEFT_SPOT, GPIO.HIGH)
|
|
||||||
|
|
||||||
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
|
|
||||||
sleep(0.02)
|
sleep(0.02)
|
||||||
GPIO.output(GPIO_LED_BORDER, GPIO.HIGH)
|
led_border(True)
|
||||||
sleep(0.02)
|
sleep(0.02)
|
||||||
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
|
led_border(False)
|
||||||
sleep(0.02)
|
sleep(0.02)
|
||||||
GPIO.output(GPIO_LED_BORDER, GPIO.HIGH)
|
led_border(True)
|
||||||
sleep(0.02)
|
sleep(0.02)
|
||||||
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
|
led_border(False)
|
||||||
sleep(0.02)
|
sleep(0.02)
|
||||||
GPIO.output(GPIO_LED_BORDER, GPIO.HIGH)
|
led_border(True)
|
||||||
sleep(0.02)
|
sleep(0.02)
|
||||||
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
|
led_border(False)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -253,20 +258,18 @@ def makePhotos():
|
|||||||
camera.start_preview()
|
camera.start_preview()
|
||||||
|
|
||||||
# COUNTDOWN
|
# COUNTDOWN
|
||||||
GPIO.output(GPIO_RIGHT_SPOT, GPIO.LOW)
|
led_border(True)
|
||||||
GPIO.output(GPIO_LEFT_SPOT, GPIO.LOW)
|
|
||||||
GPIO.output(GPIO_LED_BORDER, GPIO.HIGH)
|
|
||||||
for i in range(0, COUNTDOWN):
|
for i in range(0, COUNTDOWN):
|
||||||
countdown(camera, pad_cdn[i], img_cdn[i])
|
countdown(camera, pad_cdn[i], img_cdn[i])
|
||||||
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
|
led_border(False)
|
||||||
|
|
||||||
# SHOTS
|
# SHOTS
|
||||||
for i in range(0, SHOT_COUNT):
|
for i in range(0, SHOT_COUNT):
|
||||||
# SHOT!
|
# SHOT!
|
||||||
sleep(PIC_INTERVAL)
|
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)
|
camera.capture("./tmp%s.jpg" % i, format='jpeg', quality=100, thumbnail=None)
|
||||||
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
|
led_border(False)
|
||||||
|
|
||||||
# PAUSE
|
# PAUSE
|
||||||
if i < SHOT_COUNT - 1:
|
if i < SHOT_COUNT - 1:
|
||||||
@ -278,9 +281,6 @@ def makePhotos():
|
|||||||
# CLOSE CAMERA
|
# CLOSE CAMERA
|
||||||
camera.close()
|
camera.close()
|
||||||
|
|
||||||
GPIO.output(GPIO_RIGHT_SPOT, GPIO.HIGH)
|
|
||||||
GPIO.output(GPIO_LEFT_SPOT, GPIO.HIGH)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def chooseImages():
|
def chooseImages():
|
||||||
@ -420,7 +420,5 @@ except KeyboardInterrupt:
|
|||||||
print("")
|
print("")
|
||||||
|
|
||||||
finally:
|
finally:
|
||||||
GPIO.output(GPIO_RIGHT_SPOT, GPIO.HIGH)
|
led_border(False)
|
||||||
GPIO.output(GPIO_LEFT_SPOT, GPIO.HIGH)
|
|
||||||
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
|
|
||||||
pygame.quit()
|
pygame.quit()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user