Schalte Spots nur während des Shootings ein

This commit is contained in:
root 2018-02-11 16:05:22 +01:00
parent 6eb31bcf7e
commit 63670c3575

View File

@ -61,6 +61,10 @@ COUNTDOWN = 3
SHOT_COUNT = 3 SHOT_COUNT = 3
BORDER = 10 BORDER = 10
GPIO_LED_BORDER = 7
GPIO_RIGHT_SPOT = 35
GPIO_LEFT_SPOT = 37
THUMB_WIDTH = int((800 - BORDER) / SHOT_COUNT - BORDER) THUMB_WIDTH = int((800 - BORDER) / SHOT_COUNT - BORDER)
THUMB_HEIGHT = int(THUMB_WIDTH / 1.333) THUMB_HEIGHT = int(THUMB_WIDTH / 1.333)
@ -77,20 +81,27 @@ session_start = monotonic_time()
# INIT GPIO # INIT GPIO
GPIO.setmode(GPIO.BOARD) GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False) GPIO.setwarnings(False)
GPIO.setup(7, GPIO.OUT)
GPIO.output(7, GPIO.LOW) GPIO.setup(GPIO_RIGHT_SPOT, GPIO.OUT)
GPIO.setup(GPIO_LEFT_SPOT, GPIO.OUT)
GPIO.setup(GPIO_LED_BORDER, GPIO.OUT)
GPIO.output(GPIO_RIGHT_SPOT, GPIO.HIGH)
GPIO.output(GPIO_LEFT_SPOT, GPIO.HIGH)
GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
sleep(0.02) sleep(0.02)
GPIO.output(7, GPIO.HIGH) GPIO.output(GPIO_LED_BORDER, GPIO.HIGH)
sleep(0.02) sleep(0.02)
GPIO.output(7, GPIO.LOW) GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
sleep(0.02) sleep(0.02)
GPIO.output(7, GPIO.HIGH) GPIO.output(GPIO_LED_BORDER, GPIO.HIGH)
sleep(0.02) sleep(0.02)
GPIO.output(7, GPIO.LOW) GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
sleep(0.02) sleep(0.02)
GPIO.output(7, GPIO.HIGH) GPIO.output(GPIO_LED_BORDER, GPIO.HIGH)
sleep(0.02) sleep(0.02)
GPIO.output(7, GPIO.LOW) GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
@ -215,18 +226,20 @@ def makePhotos():
camera.start_preview() camera.start_preview()
# COUNTDOWN # COUNTDOWN
GPIO.output(7, GPIO.HIGH) GPIO.output(GPIO_RIGHT_SPOT, GPIO.LOW)
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(7, GPIO.LOW) GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
# 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(7, GPIO.HIGH) GPIO.output(GPIO_LED_BORDER, GPIO.HIGH)
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(7, GPIO.LOW) GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
# PAUSE # PAUSE
if i < SHOT_COUNT - 1: if i < SHOT_COUNT - 1:
@ -238,6 +251,9 @@ 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():
@ -355,22 +371,29 @@ def saveImages(choices):
while 1: try:
waitForBegin() while 1:
waitForBegin()
makePhotos()
(choices, save) = chooseImages()
if save:
saveImages(choices);
screen.fill(COLOR_BACK)
screen.blit(*gfx["saved"])
pygame.display.flip()
else:
screen.fill(COLOR_BACK)
screen.blit(*gfx["canceled"])
pygame.display.flip()
sleep(2)
makePhotos() except KeyboardInterrupt:
(choices, save) = chooseImages() print("")
if save:
saveImages(choices);
screen.fill(COLOR_BACK)
screen.blit(*gfx["saved"])
pygame.display.flip()
else:
screen.fill(COLOR_BACK)
screen.blit(*gfx["canceled"])
pygame.display.flip()
sleep(2) finally:
GPIO.output(GPIO_RIGHT_SPOT, GPIO.HIGH)
GPIO.output(GPIO_LEFT_SPOT, GPIO.HIGH)
pygame.quit() GPIO.output(GPIO_LED_BORDER, GPIO.LOW)
pygame.quit()