Simple test¶
Ensure your device works with this simple test.
Single Adafruit Trellis Board
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | # SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
# SPDX-License-Identifier: MIT
# Basic example of turning on LEDs and handling Keypad
# button activity.
# This example uses only one Trellis board, so all loops assume
# a maximum of 16 LEDs (0-15). For use with multiple Trellis boards,
# see the documentation.
import time
import busio
from board import SCL, SDA
from adafruit_trellis import Trellis
# Create the I2C interface
i2c = busio.I2C(SCL, SDA)
# Create a Trellis object
trellis = Trellis(i2c) # 0x70 when no I2C address is supplied
# 'auto_show' defaults to 'True', so anytime LED states change,
# the changes are automatically sent to the Trellis board. If you
# set 'auto_show' to 'False', you will have to call the 'show()'
# method afterwards to send updates to the Trellis board.
# Turn on every LED
print("Turning all LEDs on...")
trellis.led.fill(True)
time.sleep(2)
# Turn off every LED
print("Turning all LEDs off...")
trellis.led.fill(False)
time.sleep(2)
# Turn on every LED, one at a time
print("Turning on each LED, one at a time...")
for i in range(16):
trellis.led[i] = True
time.sleep(0.1)
# Turn off every LED, one at a time
print("Turning off each LED, one at a time...")
for i in range(15, 0, -1):
trellis.led[i] = False
time.sleep(0.1)
# Now start reading button activity
# - When a button is depressed (just_pressed),
# the LED for that button will turn on.
# - When the button is relased (released),
# the LED will turn off.
# - Any button that is still depressed (pressed_buttons),
# the LED will remain on.
print("Starting button sensory loop...")
pressed_buttons = set()
while True:
# Make sure to take a break during each trellis.read_buttons
# cycle.
time.sleep(0.1)
just_pressed, released = trellis.read_buttons()
for b in just_pressed:
print("pressed:", b)
trellis.led[b] = True
pressed_buttons.update(just_pressed)
for b in released:
print("released:", b)
trellis.led[b] = False
pressed_buttons.difference_update(released)
for b in pressed_buttons:
print("still pressed:", b)
trellis.led[b] = True
|