Arduino Codebeispiel mit Cursortasten (z.B. für Arcade Bartops)

In diesem Code werden die Steuerungs Cursortasten (oben-unten-links-rechts) verwendet. Wenn du wissen willst, wie du diesen Code auf den Microcontroller programmierst, lies bitte vorher die Allgemeine Anleitung für Arduino Lenoardo Microcontroller mit ATmega32U4 Chip.

Der Arduino wird in diesem Beispiel wieder als „Keyboard“ programmiert, allerdings dienen diesmal die Cursortasten als Navigation anstatt der WASD Tasten

523a1765757b7f5c6e8b4567

 

#include <Keyboard.h>

#define BUTTONS 15
int pin_arr[]={2,4,3,5,14,16,9,8,A0,A1,6,7,A2,A3,15};
int keycode_arr[]={218,217,216,215,128,130,32,129,122,176,53,49,112,177,179}; 
// UP,DOWN,LEFT,RIGHT,LEFT-CTRL (Button 1), LEFT-ALT (Button 2),SPACEBAR (Button 3), LEFT-SHIFT (Button 4), Z (Button 5), ENTER (Button 6) (Enter instead of X so can use with other RPi things like raspi-config), Coin/Credit, 1P Start, P (Pause), ESC, TAB
int key_state[BUTTONS];

void setup() {
  Keyboard.begin();
  for (int i=0;i<BUTTONS;i++)
  {
    pinMode(pin_arr[i], INPUT_PULLUP);
    key_state[i] = digitalRead(pin_arr[i]);
  }
}

void loop() {
  for (int i=0;i<BUTTONS;i++)
  {
    key_state[i]=digitalRead(pin_arr[i]);
    if (key_state[i]==LOW) {
      Keyboard.press(keycode_arr[i]); if (keycode_arr[i] == 49) { delay(100); }
    } else {
      Keyboard.release(keycode_arr[i]);
    }
  }  
}
Diese Seite verwendet Cookies für ein besseres Surferlebnis. Durch das Browsen auf dieser Website stimmst du der Verwendung von Cookies zu.