====== Tourneur de page ====== sur une base arduino leonardo, code à l'arrache Bien utile pour tourner les pages d'un lecteur de partition quand on à les mains prises Ce tourneur envoi, avec keyboard.press , le code des fleches gauche/droite, cf /* de https://www.arduino.cc/en/Reference/KeyboardModifiers #include "Keyboard.h" const int bouton_pin[] = {2, 4}; int bouton_etat[] = {0, 0}; int bouton_etat_preded[] = {HIGH, HIGH}; long lastDebounceTime[] = {0, 0}; long debounceDelay = 70; void setup() { pinMode(bouton_pin[1], INPUT); digitalWrite(bouton_pin[1], HIGH); pinMode(bouton_pin[0], INPUT); digitalWrite(bouton_pin[0], HIGH); delay(2000); Keyboard.begin(); } /* de https://www.arduino.cc/en/Reference/KeyboardModifiers KEY_LEFT_ARROW 0xD8 216 KEY_RIGHT_ARROW 0xD7 215 KEY_PAGE_UP 0xD3 211 KEY_PAGE_DOWN 0xD6 214 */ // Output actions. Probably the only part that you need to change void loop() { ///////// //1 button bouton_etat[0] = digitalRead(bouton_pin[0]); if ((bouton_etat[0] != bouton_etat_preded[0]) && (bouton_etat[0] == HIGH)) { if ((millis() - lastDebounceTime[0]) > debounceDelay) { Keyboard.press(KEY_RIGHT_ARROW); delay(200); Keyboard.releaseAll(); lastDebounceTime[0] = millis(); } } bouton_etat_preded[0] = bouton_etat[0]; //////// //2 button bouton_etat[1] = digitalRead(bouton_pin[1]); if ((bouton_etat[1] != bouton_etat_preded[1]) && (bouton_etat[1] == HIGH)) { if ((millis() - lastDebounceTime[1]) > debounceDelay) { Keyboard.press(KEY_LEFT_ARROW); delay(200); Keyboard.releaseAll(); lastDebounceTime[1] = millis(); } } bouton_etat_preded[1] = bouton_etat[1]; }