44 lines
1.4 KiB
Python
44 lines
1.4 KiB
Python
|
import time
|
||
|
from automation import Automation2040W, SWITCH_A, SWITCH_B, NUM_SWITCHES
|
||
|
|
||
|
"""
|
||
|
An example of the user switches and LEDs on Automation 2040 W.
|
||
|
|
||
|
Press "A" and "B" together to exit the program.
|
||
|
"""
|
||
|
|
||
|
UPDATES = 10 # How many times to update per second
|
||
|
SWITCH_NAMES = ("SW_A", "SW_B") # The friendly names to give each user switch
|
||
|
LED_INCREMENT = 2 # How much to change a LED's brightess each update
|
||
|
|
||
|
# Create a new Automation2040W
|
||
|
board = Automation2040W()
|
||
|
|
||
|
# Enable the Conn LED
|
||
|
board.conn_led(True) # Full Brightness
|
||
|
|
||
|
led_brightnesses = [0.0, 0.0]
|
||
|
|
||
|
# Interact with the switches and LEDs until both are pressed simultaneously
|
||
|
while not board.switch_pressed(SWITCH_A) or not board.switch_pressed(SWITCH_B):
|
||
|
|
||
|
for i in range(NUM_SWITCHES):
|
||
|
# Change the LED brightness based on switch's state
|
||
|
if board.switch_pressed(i):
|
||
|
print(SWITCH_NAMES[i], " = Pressed", sep="", end=", ")
|
||
|
led_brightnesses[i] = min(led_brightnesses[i] + LED_INCREMENT, 100)
|
||
|
else:
|
||
|
print(SWITCH_NAMES[i], " = Released", sep="", end=", ")
|
||
|
led_brightnesses[i] = max(led_brightnesses[i] - LED_INCREMENT, 0)
|
||
|
|
||
|
# Apply the new brightnesses to the LEDs
|
||
|
board.switch_led(i, led_brightnesses[i])
|
||
|
|
||
|
# Print a new line
|
||
|
print()
|
||
|
|
||
|
time.sleep(1.0 / UPDATES)
|
||
|
|
||
|
# Put the board back into a safe state
|
||
|
board.reset()
|