<span>ZeroBOY</span>bella
<span>ZeroBOY</span>bella

Menu

  • Anleitungen
    • DADDELKISCHDE
      • Einbau
      • Installation
      • Downloads
    • Kategorien
      • Technisches/Diagramme
      • Monitor
      • Steuerung
      • Sound
      • User Projekte
    • RTFM
      • LVL1 – Gehäuse
      • LVL2 – Steuerung
      • LVL3 – Strom
      • LVL4 – Komponenten
      • Glossar
  • Shop
  • Teile
    • Merch
    • Teileliste + Links
    • Raspberry Zero
      • Amazon
      • PiHut
      • PiMoroni
  • Downloads
    • ZeroBOY OS
  • Community
  • Info
    • Geschichte
    • AGBs
    • Versand und Zahlung
    • Datenschutzerklärung
    • Widerrufsbelehrung & Widerrufsformular
    • Shopvote Zertifiziert
    • Kontakt
    • Impressum
  • Translate
  • Wishlist
  • Checkout
  • My Account
User Login
13

Cart

Menu

Skip to content
  • Anleitungen
    • DADDELKISCHDE
      • Einbau
      • Installation
      • Downloads
    • Kategorien
      • Technisches/Diagramme
      • Monitor
      • Steuerung
      • Sound
      • User Projekte
    • RTFM
      • LVL1 – Gehäuse
      • LVL2 – Steuerung
      • LVL3 – Strom
      • LVL4 – Komponenten
      • Glossar
  • Shop
  • Teile
    • Merch
    • Teileliste + Links
    • Raspberry Zero
      • Amazon
      • PiHut
      • PiMoroni
  • Downloads
    • ZeroBOY OS
  • Community
  • Info
    • Geschichte
    • AGBs
    • Versand und Zahlung
    • Datenschutzerklärung
    • Widerrufsbelehrung & Widerrufsformular
    • Shopvote Zertifiziert
    • Kontakt
    • Impressum
  • Translate
  • Anleitungen
    • DADDELKISCHDE
      • Einbau
      • Installation
      • Downloads
    • Kategorien
      • Technisches/Diagramme
      • Monitor
      • Steuerung
      • Sound
      • User Projekte
    • RTFM
      • LVL1 – Gehäuse
      • LVL2 – Steuerung
      • LVL3 – Strom
      • LVL4 – Komponenten
      • Glossar
  • Shop
  • Teile
    • Merch
    • Teileliste + Links
    • Raspberry Zero
      • Amazon
      • PiHut
      • PiMoroni
  • Downloads
    • ZeroBOY OS
  • Community
  • Info
    • Geschichte
    • AGBs
    • Versand und Zahlung
    • Datenschutzerklärung
    • Widerrufsbelehrung & Widerrufsformular
    • Shopvote Zertifiziert
    • Kontakt
    • Impressum
  • Translate

Blog

Leonardo Pro Micro (ATmega32U4) als Gamepad

28. Februar
by ZeroBOY-Admin
Arduino, Arduino Leonard Pro Micro, Atmega32U4, Howto, Microcontroller, Raspberry Pi, Recalbox, Retropie, Script, Steuerung, Verkabelung, ZeroBOY
Steuerung, Tutorials

In dieser Anleitung wird beschrieben, wie wir einen Arduino Leonardo Pro Micro so programmieren, dass er als Gamepad vom System erkannt wird. Diese Methode sollte bevorzugt gewählt werden, wenn es zu Problemen bei der Implementierung der Steuerung in diversen Emulatoren kommt.


zeroboy_gamepad
Hier könnt ihr den Arduino Pro Micro erwerben

Als Basis-Einstellungen in der Arduino IDE Software bitte die Werte von dem Vorgängertutorial übernehmen.

Die Kurzfassung:
Tools => Port auswählen bei dem Arduino/Genuino Micro (o.ä) in Klammer aufscheint
Tools => Board => Arduino/Genuino Micro (welches im Vorherigen Schritt in Klammer angezeigt wurde) wählen
Tools => Programmer => AVRISP MKII wählen

Und ganz wichtig, die “Gamepad-Library” installieren
Diese könnt ihr hier downloaden => ArduinoGamepad-master

Danach entpackt ihr die ZIP in das Library Verzeichnis der Arduino IDE Software, welches sich Standardmäßig unter C:\Users\BENUTZERNAME\Documents\Arduino\libraries befindet

Eine genaue Anleitung findet ihr auch hier
Der folgende Code muss dann nur noch kompiliert und auf den Leonardo Pro Micro geladen werden

// Arduino Pro Micro Config for Gamepad by www.zeroboy.eu - p!

#include <Gamepad.h>
Gamepad gb;
// Use PIN Number connected to PCB
#define BTN_DOWN 9
#define BTN_UP 15
#define BTN_LEFT 14
#define BTN_RIGHT 8
#define BTN_A 2
#define BTN_START 6
#define BTN_Y 4
#define BTN_L1 1
#define BTN_X 5
#define BTN_R1 10
#define BT
#define BTN_B 3
#define BTN_SELECT 7
#define BTN_L2 0
#define BTN_R2 16


void setup() {
Serial.begin(9600);
for (int x = 0; x < 19; x++) {
pinMode(x, INPUT_PULLUP);
}
}
void loop() {

bool downSet = digitalRead(BTN_DOWN);
bool upSet = digitalRead(BTN_UP);
bool leftSet = digitalRead(BTN_LEFT);
bool rightSet = digitalRead(BTN_RIGHT);
gb.setLeftYaxis(!upSet ? -127 : !downSet ? 127 : 0);
gb.setLeftXaxis(!leftSet ? -127 : !rightSet ? 127 : 0);
gb.setButtonState(0, !digitalRead(BTN_A));
gb.setButtonState(1, !digitalRead(BTN_B));
gb.setButtonState(2, !digitalRead(BTN_Y));
gb.setButtonState(3, !digitalRead(BTN_X));
gb.setButtonState(4, !digitalRead(BTN_SELECT));
gb.setButtonState(5, !digitalRead(BTN_START));
gb.setButtonState(6, !digitalRead(BTN_L1));
gb.setButtonState(7, !digitalRead(BTN_R1));
gb.setButtonState(8, !digitalRead(BTN_L2));
gb.setButtonState(9, !digitalRead(BTN_R2));

gb.sendUpdate();
}

Wenn ihr das PCB Controller Board mit dem Leonardo mit dem obigen Code unangepasst verwenden wollt, beachtet folgende Verkabelung:

leonardo_pins

FunktionPIN
A2
B3
Y4
X5
Start6
Select7
Rechts8
Unten9
Oben 15
Links 14
L1 1
R110
L20
R216

und ein belieber Masse/GND Pin vom Leonardo zum GND des Controller PCBs 😉

Post navigation

Previous PostNext Post

Related Posts

23. März

Tutorial GBZBatteryMonitor

19. März

Tutorial Self-Made HDMI Kabel

1. Februar

GPIO Konfiguration in Retropie/Recalbox

7. Oktober

SNES-mini Emulator auf Raspberry pi (by User krom)

3. Oktober

3.5″ HDMI Kedei V2 Tutorial

16. Juni

ZeroBOY PCB 2.1

21. März

Steuerung via Blackberry Trackball (Achims Blackberry Build)

11. September

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

11. September

Arduino Codebeispiel mit (PSP) Analogstick

30. August

Soundausgabe über GPIO des Zeros

30. August

Einstellungen für eine Ausgabe via USB-Soundcard

12. August

Allgemeines ZeroBOY Layout aller Hardwareteile

Folge uns

Akzeptierte Zahlungsmethoden

  • Maestro
  • MasterCard
  • PayPal
  • Visa
  • Anleitungen
  • Shop
  • Teile
  • Downloads
  • Community
  • Info
  • Translate
Copyright © 2020 ZeroBOY, All Rights Reserved.
Um Ihnen einen optimalen Service auf unserer Webseite zu bieten, verwenden wir Cookies zur Verbesserung der Funktionalität sowie zu Analysezwecken.
Durch die weitere Nutzung dieser Webseite erklären Sie sich damit einverstanden.
Weitere Details zu den eingesetzten Cookies, ihrer Verwendung und zur Änderung der Cookie-Einstellungen finden Sie in unseren Datenschutzerklärungen
Stimme zuStimme nicht zuErfahre mehr