Resumé
Clavier macro pour Raspberry Pi Pico. Utilise 6 touches et un module d'encodeur rotatif. Je n'ai pas de Github, donc le code peut être trouvé ci-dessous, non commenté et pourrait avoir besoin d'être refactorisé car c'était un projet de week-end. Les commandes sont codées en dur et vous devriez être en mesure d'inférer le câblage à partir du code et des images de câblage dans l'onglet d'impression final. La construction finale peut
Importer le tableau
Importer digitalio.
importe time
Importer usb_hid.
De adafruit_hid.keyboard import Keyboard
De adafruit_hid.keycode, importez Keycode.
Importer rotaryio.
Importer le tableau
clavier=Clavier(usb_hid.devices)
key1 = digitalio.DigitalInOut(board.GP2)
clé1.switch_to_input(pull=digitalio.Pull.DOWN)
key2 = digitalio.DigitalInOut(board.GP3)
key2.switch_to_input(pull=digitalio.Pull.DOWN)
key3 = digitalio.DigitalInOut(board.GP4)
key3.switch_to_input(pull=digitalio.Pull.DOWN)
key4 = digitalio.DigitalInOut(board.GP5)
key4.switch_to_input(pull=digitalio.Pull.DOWN)
key5 = digitalio.DigitalInOut(board.GP6)
key5.switch_to_input(pull=digitalio.Pull.DOWN)
key6 = digitalio.DigitalInOut(board.GP7)
key6.switch_to_input(pull=digitalio.Pull.DOWN)
rotK = digitalio.DigitalInOut(board.GP22)
rotK.switch_to_input(pull=digitalio.Pull.UP)
cliqué = Vrai
pressed = False
encoder = rotaryio.IncrementalEncoder(board.GP26, board.GP27)
last_position = None
tant que c'est vrai :
si ce n'est pas (non(valeur de key1) et non(valeur de key2) et non(valeur de key3) et non(valeur de key4) et non(valeur de key5) et non(valeur de key6)) et non(appuyé) :
si key1.value :
clavier.press(Keycode.LEFT_SHIFT)
clavier.press(Keycode.WINDOWS)
clavier.press(Keycode.S)
clavier.release(Keycode.S)
clavier.relâche(Keycode.WINDOWS)
clavier.release(Keycode.LEFT_SHIFT)
si key2.value :
clavier.press(Keycode.WINDOWS)
time.sleep(0.1)
clavier.press(Keycode.S)
time.sleep(0.1)
clavier.release(Keycode.S)
time.sleep(0.1)
clavier.relâche(Keycode.WINDOWS)
time.sleep(0.1)
clavier.press(Keycode.P)
time.sleep(0.1)
clavier.release(Keycode.P)
time.sleep(0.1)
clavier.press(Keycode.O)
time.sleep(0.1)
clavier.relâche(Keycode.O)
time.sleep(0.1)
clavier.press(Keycode.W)
time.sleep(0.1)
clavier.release(Keycode.W)
time.sleep(0.1)
clavier.press(Keycode.ENTER)
time.sleep(0.1)
clavier.release(Keycode.ENTER)
si key3.value :
clavier.press(Keycode.WINDOWS)
time.sleep(0.1)
clavier.press(Keycode.S)
time.sleep(0.1)
clavier.release(Keycode.S)
time.sleep(0.1)
clavier.relâche(Keycode.WINDOWS)
time.sleep(0.1)
clavier.press(Keycode.T)
time.sleep(0.1)
clavier.release(Keycode.T)
time.sleep(0.1)
clavier.press(Keycode.I)
time.sleep(0.1)
clavier.release(Keycode.I)
time.sleep(0.1)
clavier.press(Keycode.N)
time.sleep(0.1)
clavier.release(Keycode.N)
time.sleep(0.1)
clavier.press(Keycode.ENTER)
time.sleep(0.1)
clavier.release(Keycode.ENTER)
si key4.value :
clavier.press(Keycode.WINDOWS)
time.sleep(0.1)
clavier.press(Keycode.E)
time.sleep(0.1)
clavier.release(Keycode.E)
time.sleep(0.1)
clavier.relâche(Keycode.WINDOWS)
si key5.value :
clavier.press(Keycode.WINDOWS)
time.sleep(0.1)
clavier.press(Keycode.S)
time.sleep(0.1)
clavier.release(Keycode.S)
time.sleep(0.1)
clavier.relâche(Keycode.WINDOWS)
time.sleep(0.1)
clavier.press(Keycode.C)
time.sleep(0.1)
clavier.release(Keycode.C)
time.sleep(0.1)
clavier.press(Keycode.U)
time.sleep(0.1)
clavier.release(Keycode.U)
time.sleep(0.1)
clavier.press(Keycode.R)
time.sleep(0.1)
clavier.release(Keycode.R)
time.sleep(0.1)
clavier.press(Keycode.ENTER)
time.sleep(0.1)
clavier.release(Keycode.ENTER)
si key6.value :
clavier.press(Keycode.WINDOWS)
time.sleep(0.1)
clavier.press(Keycode.S)
time.sleep(0.1)
clavier.release(Keycode.S)
time.sleep(0.1)
clavier.relâche(Keycode.WINDOWS)
time.sleep(0.1)
clavier.press(Keycode.T)
time.sleep(0.1)
clavier.release(Keycode.T)
time.sleep(0.1)
clavier.press(Keycode.H)
time.sleep(0.1)
clavier.release(Keycode.H)
time.sleep(0.1)
clavier.press(Keycode.O)
time.sleep(0.1)
clavier.relâche(Keycode.O)
time.sleep(0.1)
clavier.press(Keycode.ENTER)
time.sleep(0.1)
clavier.release(Keycode.ENTER)
pressed = True
print("descendre")
Si (non(valeur de key1)) et (non(valeur de key2)) et (non(valeur de key3)) et (non(valeur de key4)) et (non(valeur de key5)) et (non
pressed = False
print("up")
Si ce n'est pas le cas (rotK.value) et que l'on a cliqué :
cliqué = Faux
clavier.press(Keycode.LEFT_ALT)
print("descendre")
si rotK.value et pas(cliqué) :
cliqué = Vrai
clavier.release(Keycode.LEFT_ALT)
print("up")
position = position de l'encodeur.
si last_position est None ou si position != last_position :
si ce n'est pas (cliqué) :
si position > dernière_position :
clavier.press(Keycode.TAB)
clavier.release(Keycode.TAB)
si la position < la dernière position :
clavier.press(Keycode.LEFT_SHIFT)
clavier.press(Keycode.TAB)
clavier.release(Keycode.TAB)
clavier.release(Keycode.LEFT_SHIFT)
si l'on clique et que last_position != None :
si position > dernière_position :
clavier.press(Keycode.TAB)
clavier.release(Keycode.TAB)
si la position < la dernière position :
clavier.press(Keycode.LEFT_SHIFT)
clavier.press(Keycode.TAB)
clavier.release(Keycode.TAB)
clavier.release(Keycode.LEFT_SHIFT)
dernière_position = position
Réglages d'impression.
Marque de l'imprimante :
Creality.
Imprimante :
Ender 3
Radeaux :
Non.
Soutient :
Non.
Résolution :
200
Remplissage :
38
Après l'impression.
32924836
32924837
32924838
32924840
モデルソース
