Outils pour utilisateurs

Outils du site


arduino:tourneur

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];
}
arduino/tourneur.txt · Dernière modification : 2024/02/09 17:10 de 127.0.0.1