2022-04-26 16:00:29 +00:00
|
|
|
import board
|
|
|
|
import digitalio
|
|
|
|
import time
|
|
|
|
import usb_hid
|
|
|
|
from adafruit_hid.consumer_control_code import ConsumerControlCode
|
|
|
|
from adafruit_hid.consumer_control import ConsumerControl
|
2022-04-26 19:33:41 +00:00
|
|
|
from adafruit_hid.mouse import Mouse
|
2022-04-26 16:00:29 +00:00
|
|
|
|
|
|
|
clkPin = digitalio.DigitalInOut(board.GP2)
|
|
|
|
dtPin = digitalio.DigitalInOut(board.GP1)
|
|
|
|
dtPin.direction= digitalio.Direction.INPUT
|
|
|
|
clkPin.direction = digitalio.Direction.INPUT
|
|
|
|
clkPin.pull = digitalio.Pull.UP
|
|
|
|
dtPin.pull = digitalio.Pull.UP
|
|
|
|
|
2022-04-26 19:33:41 +00:00
|
|
|
global buttonPin
|
|
|
|
buttonPin = digitalio.DigitalInOut(board.GP15)
|
|
|
|
buttonPin.direction = digitalio.Direction.INPUT
|
|
|
|
buttonPin.pull = digitalio.Pull.UP
|
|
|
|
|
|
|
|
global consumer_control
|
2022-04-26 16:00:29 +00:00
|
|
|
consumer_control = ConsumerControl(usb_hid.devices)
|
|
|
|
|
2022-04-26 19:33:41 +00:00
|
|
|
global mode
|
|
|
|
mode = 0
|
|
|
|
global previousValue
|
|
|
|
previousValue = True
|
|
|
|
|
|
|
|
def control_volumen(pinStatus):
|
|
|
|
if pinStatus == False:
|
|
|
|
print('Volumen down')
|
|
|
|
consumer_control.send(ConsumerControlCode.VOLUME_DECREMENT)
|
|
|
|
else:
|
|
|
|
print('Volumen up')
|
|
|
|
consumer_control.send(ConsumerControlCode.VOLUME_INCREMENT)
|
|
|
|
|
|
|
|
def mute_volumen():
|
|
|
|
consumer_control.send(ConsumerControlCode.MUTE)
|
|
|
|
print('Mute')
|
|
|
|
|
|
|
|
|
2022-04-26 16:00:29 +00:00
|
|
|
while True:
|
2022-04-26 19:33:41 +00:00
|
|
|
if buttonPin.value == False:
|
|
|
|
if mode == 0:
|
|
|
|
mute_volumen()
|
|
|
|
else:
|
|
|
|
mode = 0
|
|
|
|
mute_volumen()
|
|
|
|
print('Button pressed')
|
|
|
|
time.sleep(0.5)
|
|
|
|
else:
|
|
|
|
if previousValue != clkPin.value:
|
|
|
|
if clkPin.value == False:
|
|
|
|
if mode == 0:
|
|
|
|
control_volumen(dtPin.value)
|
|
|
|
else:
|
|
|
|
mode = 0
|
|
|
|
control_volumen(dtPin.value)
|
|
|
|
previousValue = clkPin.value
|
|
|
|
print('Rotary Status: ' + str(clkPin.value))
|