Add Circuit python code
This commit is contained in:
parent
6391b023f6
commit
394911df7b
2 changed files with 58 additions and 0 deletions
2
CIRCUITPYTHON/Makefile
Normal file
2
CIRCUITPYTHON/Makefile
Normal file
|
@ -0,0 +1,2 @@
|
|||
install:
|
||||
cp code.py /run/media/ccowley/CIRCUITPY/code.py
|
56
CIRCUITPYTHON/code.py
Normal file
56
CIRCUITPYTHON/code.py
Normal file
|
@ -0,0 +1,56 @@
|
|||
import time
|
||||
import board
|
||||
from digitalio import DigitalInOut, Direction, Pull
|
||||
import usb_midi
|
||||
import adafruit_midi
|
||||
from adafruit_midi.control_change import ControlChange
|
||||
|
||||
# MIDI setup as MIDI out device
|
||||
midi = adafruit_midi.MIDI(midi_out=usb_midi.ports[1], out_channel=0)
|
||||
|
||||
|
||||
# button pins, all pins in order skipping GP15
|
||||
button_pins = [
|
||||
board.GP18,
|
||||
board.GP19,
|
||||
board.GP20,
|
||||
board.GP21,
|
||||
board.GP22,
|
||||
]
|
||||
|
||||
buttons = []
|
||||
for pin in button_pins:
|
||||
button = DigitalInOut(pin)
|
||||
button.direction = Direction.INPUT
|
||||
button.pull = Pull.UP
|
||||
buttons.append(button)
|
||||
|
||||
cc_numbers = [
|
||||
20,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
24,
|
||||
]
|
||||
|
||||
|
||||
|
||||
# button states
|
||||
button_states = [True] * len(buttons)
|
||||
|
||||
|
||||
while True:
|
||||
for i, button in enumerate(buttons):
|
||||
current_state = button.value
|
||||
if current_state != button_states[i]:
|
||||
if not current_state:
|
||||
# Button pressed
|
||||
midi.send(ControlChange(cc_numbers[i], 127))
|
||||
print(f"Button {i+1} pressed -> CC{cc_numbers[i]}:127")
|
||||
else:
|
||||
# Button released
|
||||
midi.send(ControlChange(cc_numbers[i], 0))
|
||||
print(f"Button {i+1} released -> CC{cc_numbers[i]}:0")
|
||||
button_states[i] = current_state
|
||||
|
||||
time.sleep(0.01)
|
Loading…
Add table
Add a link
Reference in a new issue