Adafruit_Learning_System_Gu.../Nightlight/gemma_nightlight/code.py
2022-02-18 16:27:10 -05:00

53 lines
1.3 KiB
Python

# SPDX-FileCopyrightText: 2018 Dan Halbert for Adafruit Industries
#
# SPDX-License-Identifier: MIT
import time
import board
import touchio
import adafruit_dotstar
# Red, green, blue, and simple mixes of 2 or 3.
# Add your own choices here.
COLORS = (
(0, 255, 0),
(0, 0, 255),
(255, 0, 0),
(0, 255, 255),
(255, 255, 0),
(255, 0, 255),
(255, 255, 255),
)
# The two left touch pads adjust the brightness.
# The right touch pad changes colors.
# Hold down or just tap.
brightness_down = touchio.TouchIn(board.D0)
brightness_up = touchio.TouchIn(board.D2)
change_color = touchio.TouchIn(board.D1)
dotstar = adafruit_dotstar.DotStar(board.APA102_SCK, board.APA102_MOSI, 1)
BRIGHTNESS_STEPS = 15
# Start at medium brightness, green.
brightness_step = 8
color_index = 0
while True:
if brightness_down.value:
# Don't go below 1.
brightness_step = max(1, brightness_step - 1)
if brightness_up.value:
# Don't go above BRIGHTNESS_STEPS.
brightness_step = min(BRIGHTNESS_STEPS, brightness_step + 1)
if change_color.value:
# Cycle through 0 to len(COLORS)-1 and then wrap around.
color_index = (color_index + 1) % len(COLORS)
# Scale brightness to be 0.0 - 1.0.
dotstar.brightness = brightness_step / BRIGHTNESS_STEPS
dotstar.fill(COLORS[color_index])
time.sleep(0.2)