Created
December 20, 2023 18:55
-
-
Save jedgarpark/0e714857f7ecdfa70f54d00efd9787a5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# SPDX-FileCopyrightText: Copyright (c) 2023 john park for Adafruit Industries | |
# | |
# SPDX-License-Identifier: MIT | |
# simple point-and-shoot camera example | |
# No bells! Zero whistles! | |
import time | |
import adafruit_pycamera | |
pycam = adafruit_pycamera.PyCamera() | |
pycam.mode = 0 # only mode 0 (JPEG) will work in this example | |
# User settings - try changing these: | |
pycam.resolution = 8 # 0-12 preset resolutions: | |
# 0: 240x240, 1: 320x240, 2: 640x480, 3: 800x600, 4: 1024x768, | |
# 5: 1280x720, 6: 1280x1024, 7: 1600x1200, 8: 1920x1080, 9: 2048x1536, | |
# 10: 2560x1440, 11: 2560x1600, 12: 2560x1920 | |
pycam.led_level = 1 # 0-4 preset brightness levels | |
pycam.led_color = 0 # 0-7 preset colors: 0: white, 1: green, 2: yellow, 3: red, | |
# 4: pink, 5: blue, 6: teal, 7: rainbow | |
pycam.effect = 0 # 0-7 preset FX: 0: normal, 1: invert, 2: b&w, 3: red, | |
# 4: green, 5: blue, 6: sepia, 7: solarize | |
print("Simple camera ready.") | |
pycam.tone(800, 0.1) | |
pycam.tone(1200, 0.05) | |
while True: | |
pycam.blit(pycam.continuous_capture()) | |
pycam.keys_debounce() | |
if pycam.shutter.short_count: | |
print("Shutter released") | |
pycam.tone(1200, 0.05) | |
pycam.tone(1600, 0.05) | |
try: | |
pycam.display_message("snap", color=0x00DD00) | |
pycam.capture_jpeg() | |
pycam.live_preview_mode() | |
except TypeError as e: | |
pycam.display_message("Failed", color=0xFF0000) | |
time.sleep(0.5) | |
pycam.live_preview_mode() | |
except RuntimeError as e: | |
pycam.display_message("Error\nNo SD Card", color=0xFF0000) | |
time.sleep(0.5) | |
if pycam.card_detect.fell: | |
print("SD card removed") | |
pycam.unmount_sd_card() | |
pycam.display.refresh() | |
if pycam.card_detect.rose: | |
print("SD card inserted") | |
pycam.display_message("Mounting\nSD Card", color=0xFFFFFF) | |
for _ in range(3): | |
try: | |
print("Mounting card") | |
pycam.mount_sd_card() | |
print("Success!") | |
break | |
except OSError as e: | |
print("Retrying!", e) | |
time.sleep(0.5) | |
else: | |
pycam.display_message("SD Card\nFailed!", color=0xFF0000) | |
time.sleep(0.5) | |
pycam.display.refresh() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment