• Erste Schritte
  • Hardware & GPIO
  • Projekte
  • Software
    • Webserver
  • Arduino & ESP8266
  • Hausautomatisierung
  • Sonstiges
    • News
Facebook Twitter YouTube
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
  • Einstieg
    • Erste Schritte
      • Raspberry Pi 3 Einstieg - Starter KitWas brauche und wie starte ich? – Raspberry Pi Einstieg
    • Einrichtung
      • microsd_karte_menuRaspbian Betriebssystem auf eine SD Karte flashen – Einfach & Schnell
      • wlanbluetooth_menuWLAN und Bluetooth einrichten – Raspberry Pi 4
      • wifi_menuWLAN Stick installieren und einrichten – Alternative
      • bash_menuSSH Zugriff einrichten via Putty – Kommandozeilen Zugriff
      • rdp_menuRemotedesktop Verbindung aufbauen – Fernsteuerung
    • Einsteiger Projekte
      • Sinnvolles Raspberry Pi Zubehör
      • 15 Raspberry Pi Projekte für Anfänger
      • Ampelschaltung mit GPIOs
      • GPIOs mit Port Expander erweitern
      • Elektronischer Würfel
      • 13 tolle Projekte für Kinder und Jugendliche
      • Roboter selber bauen
      • In Visual Studio Code mit C++ programmieren
      • Wünsch dir ein Tutorial
    • Programmieren lernen
      • Teil 1: Einführung
      • Teil 2: GPIOs steuern
      • Teil 3: GUI erstellen
      • Teil 4: PWM
      • C# GUI Apps entwickeln
  • Hardware & GPIO
    • 50 der wichtigsten Raspberry Pi Sensoren und Module – Aufgelistet mit Links zu den TutorialsRaspberry Pi Sensoren
    • Beliebte Tutorials
      • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorLuftfeuchtigkeit und Temperatur messen
      • Raspberry Pi WS2801B RGB LED Streifen anschließen und steuernWS2801 RGB LED Streifen anschließen und steuern
      • Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433Mhz)Funksteckdosen (433MHz) steuern
      • Raspberry Pi Relais ModulRaspberry Pi: Relais-Schalter per GPIO steuern
      • Raspberry Pi Servo MotorRaspberry Pi Servo Motor Steuerung
      • Amazon-Alexa-deutsch-auf-dem-Raspberry-Pi-installierenAmazon Alexa (Deutsch) auf dem installieren
      • Entfernung messen mit Ultraschallsensor HC-SR04 – Raspberry PiEntfernung messen mit Ultraschallsensor HC-SR04
      • 71-M-PU7vML.-S3L1500-Raspberry Pi’s über 433 MHz Funk kommunizieren
      • Raspberry Pi PIR Motion SensorBewegungsmelder PIR anschließen und steuern
      • Raspberry Pi USB Boot per Stick oder SSD Festplatte einrichtenUSB Boot per Stick oder SSD Festplatte
      • Analog
        • Raspberry Pi MCP3008 ADCMCP3008: Am Raspberry Pi analoge Signale auslesen
        • Raspberry Pi Gas Sensor MQ-2Raspberry Pi Gas Sensor (MQ-X) konfigurieren und auslesen
        • Raspberry Pi PulsmesserRaspberry Pi Pulsmesser: Herzfrequenz messen
        • Joystick am Raspberry Pi benutzen (mit MCP3008)Joystick am Raspberry Pi benutzen (mit MCP3008)
        • infrarot sharp distance senserInfrarot Abstandsmessung mit dem Raspberry Pi
        • Raspberry Pi Drehregler - Rotary EncoderKY040 Drehregler als Lautstärkeregler für den Raspberry Pi
        • Easpberry Pi Soil SensorBodenfeuchtigkeit mit dem Raspberry Pi messen
        • Raspberry Pi KeypadRaspberry Pi Keypad anschließen – Codeschloss
        • Raspberry Pi door sensorÜberwachung von Fenstern und Türen mit dem Raspberry Pi und Reed-Relais
        • Raspberry Pi Fotowiderstand HelligkeitssensorFotowiderstand (Helligkeitssensor) am Raspberry Pi
        • Raspberry Pi Waage selber bauen (mit Gewichtssensor HX711)Raspberry Pi Waage selber bauen (mit Gewichtssensor HX711)
      • Funk
        • 71-M-PU7vML.-S3L1500-Raspberry Pi’s über 433 MHz Funk kommunizieren lassen
        • Remote Control Raspberry Pi 433Mhz Radio TransmitterRaspberry Pi mit 433Mhz Funksender fernsteuern
        • Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433MHz) steuern
        • Raspberry Pi MiFlora - Xiaomi Pflanzensensor in OpenHAB einbindenMiFlora – Xiaomi Pflanzensensor ins Smart Home einbinden
        • Raspberry Pi RFID RC522 TüröffnerRaspberry Pi RFID RC522 Tags auslesen (NFC)
        • Funkkommunikation zwischen Raspberry Pi's und Arduinos (2.4 GHz)Funkkommunikation (2.4 GHz): Arduino & Raspberry Pi
        • Raspberry Pi Radio ReceiverRaspberry Pi als Radioempfänger benutzen
        • Raspberry Pi Xbox 360 Wireless ControllerRaspberry Pi mittels Xbox 360 Controller steuern
        • Raspberry Pi GSM Modul - Huawei Internet SticksRaspberry Pi GSM Modul – Mobiles Internet
        • Raspberry Pi Bluetooth DatentransferRaspberry Pi Bluetooth Datentransfer zum Smartphone
      • Infrarot & Laser
        • Raspberry Pi Infrarot FernbedienungRaspberry Pi: Per IR Remote Befehle ausführen
        • infrarot sharp distance senserInfrarot Abstandsmessung mit dem Raspberry Pi
        • Raspberry Pi Laser Lichtschranke für weite DistanzenRaspberry Pi Laser Lichtschranke für weite Distanzen
        • Infrarot Raspberry Pi FernbedienungInfrarot Steuerung einrichten
        • Raspberry Pi Infrarot Lichtschranke bauen und Geschwindigkeit messenRaspberry Pi Infrarot Lichtschranke bauen
        • Raspberry Pi Fotowiderstand HelligkeitssensorFotowiderstand (Helligkeitssensor) am Raspberry Pi
      • Temperatur & Navigation
        • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorRaspberry Pi: Luftfeuchtigkeit und Temperatur messen
        • Measuring Temperature with a Raspberry Pi Temperature Sensor (1-Wire)Raspberry Pi Temperatursensor (1-Wire): Temperatur messen
        • Raspberry Pi BMP180 SensorRaspberry Pi und I2C Luftdrucksensor BMP180
        • Raspberry Pi RTC Real Time ClockReal Time Clock Modul steuern
        • Rotation und Beschleunigung mit dem Raspberry Pi messenRotation und Beschleunigung mit dem Raspberry Pi messen
        • Raspberry Pi GPS ModulRaspberry Pi GPS Ortungs- / Navigationsgerät bauen
        • Raspberry Pi Kompass selber bauenRaspberry Pi Kompass selber bauen (HMC5883L)
        • Kontaktlosen Infrarot-Temperatursensor MLX90614 am Raspberry Pi auslesenMLX90614 – Kontaktlos Temperaturen messen
      • Displays
        • Raspberrry Pi HD44780 I2CHD44780 LCD Display per I2C ansteuern
        • Raspbery Pi LCD DisplayRaspberry Pi LCD Display: 16×2 Zeichen anzeigen
        • DisplayTipps & Tricks zum offiziellen 7″ Raspberry Pi Touchscreen
        • Raspberry Pi TouchscreenTestbericht zum 7″ Raspberry Pi Touchscreen Display
        • LCD Touch Display (3.2″) am Raspberry PiLCD Touch Display (3.2″) am Raspberry Pi
        • tft lcd touch displayRaspberry Pi LCD Touch Display Teil 2 – Anpassungen
        • Raspberry Pi LED MAX7219 Dot Matrix – ProjektübersichtRaspberry Pi LED Matrix – Projektübersicht
        • Raspberry Pi 7 Segment Anzeige Kathode mit MAX7219Raspberry Pi: 7 Segment Anzeigen mit MAX7219 steuern (Kathode)
        • 7 Segment Anzeige (Anode) mit MAX7219 MAX7221 und Raspberry Pi7 Segment Anzeige mit MAX7219 am Raspberry Pi (Anode)
        • Raspberry Pi Tablet Raspad TestberichtRaspberry Pi Tablet „Sunfounder RasPad“ Testbericht
      • Motoren & Sonstige
        • Raspberry Pi Stepper Motor Control with L293D / ULN2003ARaspberry Pi Schrittmotor ansteuern
        • Raspberry Pi Servo MotorRaspberry Pi Servo Motor Steuerung
        • Raspberry Pi PCA9685 mehrere Servos gleichzeitig steuernMehrere Servo Motoren per Raspberry Pi steuern
        • Raspberry Pi PIR Motion SensorBewegungsmelder PIR anschließen und steuern
        • How to use a Raspberry Pi Fingerprint Sensor for AuthenticationRaspberry Pi Fingerprint Sensor zur Authentifizierung nutzen
        • Raspberry Pi Akku AdapterRaspberry Pi mit Akkus/Batterien betreiben
        • Entfernung messen mit Ultraschallsensor HC-SR04 – Raspberry PiEntfernung messen mit Ultraschallsensor HC-SR04
        • Raspberry Pi WS2801B RGB LED Streifen anschließen und steuernWS2801 RGB LED Streifen anschließen und steuern
        • Raspberry Pi WS2812 RGB LED StripWS2812 RGB LED Streifen per Raspberry Pi steuern
        • Raspberry Pi Überwachungskamera LivestreamÜberwachungskamera Livestream einrichten
        • NoIRAufnahmen mit dem offiziellen Kamera Modul
        • Raspberry Pi Zero - establishing an Ethernet connection (ENC28J60)Raspberry Pi Zero – Ethernet Verbindung
  • Software
    • Webserver Installation
      • apache2_menu25Teil 1 – Apache2
      • php_menu25Teil 2 – PHP 5
      • mysql_menu25Teil 3 – MySQL
      • phpmyadmin_menu25Teil 4 – phpMyAdmin
      • ftp_menu25Teil 5 – FTP Server
      • dns_menu25Teil 6 – DNS Server via No-IP
      • home_menu25Homeverzeichnis ändern
      • share_25Samba Server: Dateien im Netzwerk teilen
      • nodejs_menu25Node.js Webserver installieren und GPIOs schalten
      • ssl_menu25SSL Zertifikat kostenlos mit Let’s Encrypt
      • wordpress_25Eigenen WordPress-Server einrichten
      • cloud-25Nextcloud auf dem Raspberry Pi installieren
    • Entertainment
      • led_menu25Raspberry Pi Ambilight für alle Geräte mit OSMC selber bauen
      • amazon_menu25Amazon Alexa (Deutsch) auf dem Raspberry Pi installieren
      • controller_25Raspberry Pi RetroPie – Spielekonsole selber bauen
      • kodi_menu25Mediencenter Raspbmc als SmartTV mit dem Raspberry Pi
      • android_25Android TV Box zum selber bauen
      • apple-2316234_640Raspberry Pi als AirPlay-Empfänger
      • jukebox_menu25Raspberry Pi als Jukebox (Spotify, Soundcloud, TuneIn, uvm.)
      • steam_25Steam Spiele streamen
      • minecraft_menu25Raspberry Pi Minecraft Server
      • youtube_25YouTube Live Streaming einrichten
      • qr-code-tutorials-raspberrypi.de_25Raspberry Pi QR / Barcode Scanner
    • Fernsteuerung
      • rdp_menuRaspberry Pi Remotedesktop Verbindung
      • ssh_menu25SSH Zugriff einrichten via Putty (Windows)
      • vnc_menu25Raspberry Pi mittels VNC fernsteuern
      • welcome_menu25SSH Terminal Begrüßung ändern
      • telegram1_menu25Telegram Messenger auf dem RaspberryPi
      • telegram2_menu25Mit Telegram Messenger Raspberry Pi steuern
      • bluet_menu25Raspberry Pi Bluetooth Datentransfer zum Smartphone
      • alexa_voice_25Eigenen Raspberry Pi Alexa Skill bauen
      • microphone_25Sprachsteuerung selber bauen
      • mqtt_25MQTT Broker/Client Funkkommunikation
      • mail_25Vom Raspberry Pi Emails senden
      • twitter_25Per Twitter Bot Nachrichten posten
    • Weitere
      • loggen_menu25Sensordaten mit ThingSpeak loggen und auswerten
      • mysql_datalogger25Per lokaler MySQL Datenbank zum Raspberry Pi Datenlogger
      • opencv_menu25OpenCV auf dem Raspberry Pi installieren
      • arduino_menu30tWiringPi installieren & Pinbelegung (Raspberry Pi)
      • radio_menu25Raspberry Pi als Radio Sendestation
      • win10_menu25Windows 10 IoT auf dem Raspberry Pi installieren
      • printer_25Drucker einrichten und per Knopfdruck Bilder drucken
      • gsm_menu25Raspberry Pi GSM Modul – Mobiles Internet (LTE, 3G, UMTS)
      • autostart_menu25Autostart: Programm automatisch starten lassen
      • machine-learning-25Raspberry Pi Machine Learning erlernen
  • Projekte
      • roboter_menu30tRoboter
        • Raspberry Pi Roboter ProjektRaspberry Pi Roboter Projektübersicht
        • Raspberry Pi Roboter Bausatz fertigTeil 1: Zusammenbau
        • Raspberry Pi Roboter - Linien folgenTeil 2: Linien folgen lassen
        • Raspberry Pi Roboter per Infrarot Fernbedienung steuernTeil 3: Per Infrarot Fernbedienung steuern
        • Raspberry Pi Roboter: Ultraschall AutopilotTeil 4: Automatisch Hindernissen ausweichen
        • Raspberry Pi Roboter der eigenen Stimme folgen lassenTeil 5: Der eigenen Stimme folgen lassen
        • Raspberry Pi Roboter mit Xbox 360 Controller fernsteuernTeil 6: Mit Xbox 360 Controller Roboter fernsteuern
        • Raspberry Pi Robot Arm 6DOF6-Gelenkigen Roboter Arm am Raspberry Pi betreiben (6 DOF)
      • led_menu30LED Matrix
        • Raspberry Pi LED MAX7219 Dot Matrix – ProjektübersichtMAX7219 LED Matrix – Projektübersicht
        • 8×8 LED Dot Matrix Parts8×8 LED Matrix – Zusammenbau und Installation
        • Raspberry Pi Bibliothek für mehrzeilige m x n MAX7219 LED MatrizenBibliothek für mehrzeilige m x n MAX7219 LED Matrizen
        • Graphiken auf mehrzeiligen Raspberry Pi LED Matrizen zeichnenGraphiken auf mehrzeiligen Raspberry Pi LED Matrizen zeichnen
        • Pong auf MAX7219 Matrizen spielen (mit Joystick) – Raspberry PiPong auf MAX7219 Matrizen spielen (mit Joystick)
        • Snake auf Raspberry Pi MAX7219 Matrizen spielenSnake auf Raspberry Pi MAX7219 Matrizen spielen
        • 7 Segment Anzeige (Anode) mit MAX7219 MAX7221 und Raspberry Pi7 Segment Anzeige (Anode) mit MAX7219/MAX7221
        • Raspberry Pi 7 Segment Anzeige Kathode mit MAX7219Raspberry Pi: 7 Segment Anzeigen mit MAX7219 steuern (Kathode)
      • wetterstation_menu30Wetterstation
        • Raspberry Pi Wetterstation mit OpenHAB 2 bauenEigene Raspberry Pi Wetterstation mit OpenHAB 2 bauen
        • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorLuftfeuchtigkeit und Temperatur messen
        • raspberry_pi_thingspeak_daten_loggenSensordaten mit ThingSpeak loggen und auswerten
        • Raspberry Pi BMP180 SensorRaspberry Pi und I2C Luftdrucksensor BMP180
        • Measuring Temperature with a Raspberry Pi Temperature Sensor (1-Wire)Raspberry Pi Temperatursensor (1-Wire): Temperatur messen
        • ESP8266 NodeMCU Außenposten-Wetterstation für den Raspberry PiESP8266 Wetterstation Außenposten für den Raspberry Pi
        • Raspberry Pi Gas Sensor MQ-2Raspberry Pi Gas Sensor (MQ-X) konfigurieren und auslesen
      • arduino_menu30tArduino & ESP8266
        • ESP8266 Microcontroller BoardEinführung & Programmierung des ESP8266 NodeMCU Boards
        • Raspberry Pi + ESP8266 NodeMCU: Per WLAN Daten sendenRaspberry Pi + ESP8266 NodeMCU: Per WLAN Daten senden
        • ESP8266 NodeMCU Außenposten-Wetterstation für den Raspberry PiESP8266 Wetterstation Außenposten für den Raspberry Pi
        • Mit dem NodeMCU ESP8266 433MHz Funksteckdosen steuernMit dem NodeMCU ESP8266 433MHz Funksteckdosen steuern
        • ESP8266 NodeMCU HD44780 LCD Display per I2C steuernNodeMCU ESP8266: HD44780 LCD Display per I2C steuern
        • ESP8266 Grafikdisplay: Am SSD1306 OLED per I2C Bilder & Text anzeigen
        • ESP8266 Google Maps API RoutenplanerESP8266 Google Maps API Routenplaner auf LCD anzeigen
        • 2000px-Arduino_Logo.svgRaspberry Pi und Arduino – Einführung
        • arduino unoArduino und Raspberry Pi miteinander kommunizieren lassen
        • Funkkommunikation zwischen Raspberry Pi's und Arduinos (2.4 GHz)Funkkommunikation zwischen Raspberry Pi’s und Arduinos (2.4 GHz)
        • NodeMCU: ESP8266 mit Solarpanel und Akku mit Strom versorgenNodeMCU: ESP8266 mit Solarzelle und Akku mit Strom versorgen
        • ESP8266 Access Point: Günstigen Wlan Repeater selber bauenESP8266 Access Point: Günstigen Wlan Repeater selber bauen
      • Mini Projekte
        • Raspberry Pi Gewächshaus automatisch selber bauenAutomatisches Raspberry Pi Gewächshaus selber bauen
        • Eigene Raspberry Pi Gartenbewässerung mit Webseite bauenEigene Gartenbewässerung mit Webseite bauen
        • Raspberry Pi Radio StationRaspberry Pi als Radio Sendestation verwenden
        • Raspberry Pi Radio ReceiverRaspberry Pi als Radioempfänger benutzen (Autoradio, Car PC)
        • spotify-logo-primary-horizontal-dark-background-rgbRaspberry Pi als Jukebox (Spotify, Soundcloud, TuneIn, uvm.) – Online Radio
        • Raspberry Pi RetroPie Guide - SNES Classic Spielekonsole selber bauenRaspberry Pi RetroPie Guide – SNES Spielekonsole bauen
        • Android + Raspberry Pi: Funksteckdosen App BedienungRaspberry Pi + Android/iOS: Funksteckdosen per App schalten
        • Indirekte Deckenbeleuchtung selber bauen mit farbigem LED LichtIndirekte Deckenbeleuchtung selber bauen mit farbigem LED Licht
  • Sonstiges
    • Wünsch dir ein Tutorial
    • News
    • Reviews
      • Pi Cap – Kapazitives Raspberry Pi Erweiterungsboard
      • Raspberry Pi Tablet „Sunfounder RasPad“ – Testbericht & Einrichtung
      • Testbericht zum 7″ Raspberry Pi Touchscreen Display
      • CrowPi 2 Testbericht: Laptop & Lern-Kit für Kinder
      • Daten auf dem Wio Terminal LCD Screen anzeigen
    • Raspberry Pi Zero
      • Offizielles 5$ Raspberry Pi Zero Modul vorgestellt
      • Raspberry Pi Zero – Ethernet Verbindung herstellen (ENC28J60)
      • Raspberry Pi: WS2801 RGB LED Streifen anschließen und steuern
  • Hausautomation
    • OpenHAB
      • steckdose_25Sonoff S20 Wifi Steckdose steuern
      • wireless_25Funksteckdosen (433 MHz) schalten
      • schalter_25Relais steuern (Rollladen, Lichter, etc.)
      • wetterstation_menu30Wetterstation mit OpenHAB 2 bauen
      • ws28_25WS28xx RGB LED Streifen steuern
      • touchscreen_25Touchscreen Panel bei Näherung aktivieren
      • mqtt_25MQTT Datenabfrage: Raspberry Pi an ESP8266
      • spotify_25Remote Spotify Player im Smart Home
      • heizung_25eQ-3 Thermostat im Smart Home
    • Einführung
      • Raspberry Pi Smart Home OpenHAB installierenOpenHAB installieren & konfigurieren
      • Home Assistant auf dem Raspberry Pi – Erste Schritte
    • ESP8266 NodeMCU
      • esp8266_25Einführung & Programmierung
      • arduino_25ESP8266: Arduino IDE installieren
      • lcd_25NodeMCU HD44780 LCD
      • battery_25Batteriebetrieb via Deep-Sleep
      • wifi_menuPer WLAN Daten senden
      • wetterstation_menu30Wetterstation Außenposten
      • maps_25Google Maps Routenplaner
      • wireless_25NodeMCU Funksteckdosen steuern
      • mail_25Vom NodeMCU Emails versenden
      • rgb_25WS2812B LEDs am Smartphone steuern
      • solar_25ESP8266 Stromversorgung mit Solarzelle
    • Überwachung
      • Aufnahmen mit dem offiziellen Kamera Modul des Raspberry Pi
      • Raspberry Pi: Überwachungskamera Livestream einrichten
      • mailbox_25Briefkasten Sensor – Email Benachrichtigung bei neuer Post
      • Raspberry Pi Überwachungskamera mit Webcam betreiben
      • Überwachung von Fenstern und Türen mit dem Raspberry Pi und Reed-Relais
      • ESP32 Cam Livestream Tutorial für Kamera Modul
    • Raspberry Pi + Android: Benachrichtigungen von Bewegungsmelder
    • Raspberry Pi + Android/iOS: Funksteckdosen per App schalten
    • Raspberry Pi + Android: Schwenkbarer Kamera-Livestream
      • Smart Home
        • Amazon Alexa (Deutsch) auf dem Raspberry Pi installieren
        • Raspberry Pi Funksteckdosen (433MHz) steuern – Tutorial
        • Raspberry Pi Sprachsteuerung selber bauen (Hausautomatisierung)
  • Englisch
  • Französisch
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
Home»Projekte»Raspberry Pi mittels Xbox 360 Controller steuern

Raspberry Pi mittels Xbox 360 Controller steuern

Facebook Twitter LinkedIn Tumblr Email Reddit
Raspberry Pi Xbox 360 Wireless Controller
Teilen
Facebook Twitter LinkedIn Email Tumblr Reddit Telegram WhatsApp

Neben der Steuerung des Raspberry Pi’s über Infrarot Fernbedienungen, 433 Mhz Sender, Instant Messenger und vielen weiteren, kann auch ein kabelloser Xbox 360 Controller vom Raspberry Pi ausgelesen werden und entsprechend darauf reagiert werden. So kann das Gamepad als externe Maus (im Desktop Modus) verwendet werden oder Skripte und somit die GPIOs angesteuert werden. In RetroPie kann der Xbox Controller außerdem als Eingabemedium für Spiele auf dem Raspberry Pi genutzt werden.

In diesem Tutorial werden mehrere dieser Möglichkeiten aufgezeigt. Angefangen von der Installation der benötigten Software, über die Verwendung als Maus bis hin zum Schalten der GPIOs und dem Steuern eines Servo Motors mit Hilfe des Joysticks.

 

Zubehör

Um den Raspberry Pi mit dem Xbox 360 Controller nutzen zu können, ist nicht viel Zubehör erforderlich:

  • Xbox 360 Wireless Controller
  • Xbox 360 USB Receiver

Jedes Raspberry Pi mit mind. einem freien USB Port kann also verwendet werden, wie z.B. das leistungsstärkere Raspberry Pi 3.

Falls du das kleine Projekt unten nachbauen willst, benötigst du außerdem noch:

  • Servo Motor
  • 4 LEDs (Rot, Grün, Blau, Gelb)
  • 4x 330Ω Widerstände
  • Breadboard
  • Jumper Kabel

 

 

Raspberry Pi Software für Xbox 360 Controller

Für Linux Distributionen gibt es einen entwickelten Treiber, speziell für die Kommunikation mit Xbox Controllern.

Wir installieren also zuerst den Treiber, damit mit dem Controller kommuniziert werden kann:

sudo apt-get install xboxdrv

Jetzt kann der USB Empfänger angeschlossen werden. Mit lsusb kannst du überprüfen, ob er erkannt wurde:

pi@raspberrypi:~ $ lsusb
Bus 001 Device 005: ID 045e:0291 Microsoft Corp. Xbox 360 Wireless Receiver for Windows
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 

Nun kannst du den Controller anschalten und testen, ob er erkannt wird. Dazu startest du den Treiber mittels:

sudo xboxdrv --detach-kernel-driver

Anschließend sollte sich beim Drücken der Tasten der Log verändern, der angibt, welche Taste(n) gedrückt sind und ggf. dessen Wert.

 

Auf der Dokumentation-Seite gibt es alle Befehle mit kurzer Erklärung dazu. So ist es bspw. möglich die LEDs des Xbox 360 Controllers leuchten/blinken zu lassen (--led NUM) oder vibrieren lassen (-r 255,255).  Insgesamt können bis zu 4 Funkcontroller verwendet werden und angesprochen bzw. ausgelesen werden.

 

Xbox 360 Controller als Rasbperry Pi Maus verwenden

Eine Funktion die mir besonders gefällt, ist die Maus-Option. Da ich bereits selten eine Tastatur am Raspberry Pi angeschlossen habe (ich nutze fast ausschließlich SSH und manchmal den Remotedesktop) und noch seltener eine Maus, finde ich es sehr praktisch den Xbox 360 Wireless Controller auch als Maus für den Raspberry Pi nutzen zu können. Alles was dazu benötigt wird, haben wir bereits installiert.

Lediglich ein weiterer Parameter muss angegeben werden:

sudo xboxdrv --detach-kernel-driver --silent --mouse

Die Geschwindigkeit und Auswahl der Tasten kannst du außerdem auch ändern (wie steht in der Dokumentation). Falls der Befehl bereits bei Systemstart ausgeführt werden soll, kannst du entweder ein Autostart Skript schreiben oder crontab nutzen.

Folgende (Standard) Belegung der Tasten für die Verwendung als Maus gilt:

  • A: Linksklick
  • B: Rechtsklick
  • X: Mittlere Maustastenklick
  • Y: Eingabe / Enter
  • Linker Controller: Mausbewegung
  • Rechter Controller: Scrollrad
  • Steuerkreuz: Pfeiltasten
  • Start: Vorwärts
  • Back: Zurück
  • LB: Bild auf
  • RB: Bild ab

 

 

Mit dem Xbox 360 Controller Skripte und Befehle starten

Eine Möglichkeit den Treiber in eigenen Skripten zu vewenden wäre das manuelle Auslesen der Ausgabewerte. Um uns diesen Aufwand zu ersparen, können wir aber auf eine bereits erstellte Python Bibliothek zurückgreifen.

 

git clone https://github.com/FRC4564/Xbox
cd Xbox

Anbei ist auch ein Beispiel (sample.py), welches man sich ggf. ansehen kann.

Ich habe daher mal ein kleines Beispiel mit einem Servomotor und 4 LEDs als Inspiration aufgebaut. Die Verkabelung ist recht einfach (Vorwiderstand an die LEDs), daher nur hier als schematischer Aufbau gezeigt:

Raspberrya Pi Xbox 360 Steckplatine

Wie ein Servomotor genau angesteuert werden kann, ist in diesem Tutorial nachzulesen.

 

Der Code dazu ist folgender (Datei z.B. mit sudo nano xbox360_example.py erstellen und mit STRG+X,O speichern und beenden):

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import RPi.GPIO as GPIO
import math
import xbox
 
GPIO_LED_GREEN  = 23
GPIO_LED_RED    = 22
GPIO_LED_YELLOW = 27
GPIO_LED_BLUE   = 17
 
GPIO_SERVO_PIN  = 25
 
 
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
 
GPIO.setup(GPIO_LED_GREEN, GPIO.OUT)
GPIO.setup(GPIO_LED_RED, GPIO.OUT)
GPIO.setup(GPIO_LED_YELLOW, GPIO.OUT)
GPIO.setup(GPIO_LED_BLUE, GPIO.OUT)
GPIO.setup(GPIO_SERVO_PIN, GPIO.OUT)
 
 
def updateServo(pwm, angle):
    duty = float(angle) / 10.0 + 2.5
    pwm.ChangeDutyCycle(duty)
 
def angleFromCoords(x,y):
    angle = 0.0
    if x==0.0 and y==0.0:
        angle = 90.0
    elif x>=0.0 and y>=0.0:
        # first quadrant
        angle = math.degrees(math.atan(y/x)) if x!=0.0 else 90.0
    elif x<0.0 and y>=0.0:
        # second quadrant
        angle = math.degrees(math.atan(y/x))
        angle += 180.0
    elif x<0.0 and y<0.0:
        # third quadrant
        angle = math.degrees(math.atan(y/x))
        angle += 180.0
    elif x>=0.0 and y<0.0:
        # third quadrant
        angle = math.degrees(math.atan(y/x)) if x!=0.0 else -90.0
        angle += 360.0
    return angle
 
if __name__ == '__main__':
    joy = xbox.Joystick()
    pwm = GPIO.PWM(GPIO_SERVO_PIN, 100)
    pwm.start(5)
    
    while not joy.Back():
        
        # LEDs
        led_state_green  = GPIO.HIGH if joy.A() else GPIO.LOW
        led_state_red    = GPIO.HIGH if joy.B() else GPIO.LOW
        led_state_yellow = GPIO.HIGH if joy.Y() else GPIO.LOW
        led_state_blue   = GPIO.HIGH if joy.X() else GPIO.LOW
            
        GPIO.output(GPIO_LED_GREEN, led_state_green)
        GPIO.output(GPIO_LED_RED, led_state_red)
        GPIO.output(GPIO_LED_YELLOW, led_state_yellow)
        GPIO.output(GPIO_LED_BLUE, led_state_blue)
        
        # Servo
        x, y = joy.leftStick()
        angle = angleFromCoords(x,y)
        if angle > 180 and angle < 270:
            angle = 180
        elif angle >= 270:
            angle = 0
        updateServo(pwm, angle)
        
    
    joy.close()
    pwm.stop()

Anschließend kannst du den Code ausführen (sudo nano xbox360_example.py) und mit den Buttons die LEDs an und ausschalten, sowie mit dem linken Joystick den Servomotor lenken. Um zu stoppen, drücke die BACK Taste.

Im nachfolgenden Video kannst du dir dieses kleine Projekt außerdem anschauen:

Darüber hinaus können noch viele weitere Sachen mit dem Raspberry Pi und Xbox 360 Controller angestellt werden. Ich plane z.B. eine Robotersteuerung mit Hilfe des Joysticks und verändern der Modi anhand der Knöpfe.

Nun, was wären eure nächsten geplanten Projekte mit dem Controller? 🙂

Eingabegerät fernbedienung Fernsteuerung Maus python Universalfernbedienung USB Xbox 360 Controller
Teilen Facebook Twitter Pinterest LinkedIn Tumblr Email
Vorheriger BeitragRaspberry Pi + Android/iOS: Funksteckdosen per App schalten
Nächster Beitrag Raspberry Pi: Überwachungskamera Livestream einrichten

Ähnliche Beiträge

Mit der Raspberry Pi REST API via Python alle GPIOs steuern

TensorFlow Lite mit Google Coral TPU am Raspberry Pi 4 nutzen

Raspberry Pi per Solarzelle und Akku mit Strom versorgen

PiCar-X: Smartes selbstfahrendes Roboter Auto mit dem Raspberry Pi bauen

37 Kommentare

  1. Hans am 16. Februar 2017 17:55

    Hallo,
    bei meinem Versuch kommt eine Fehlermeldung. Hängt es mit Python und Python3 zusammen? Da das Modul xbox vo 11/9/13 ist?
    Danke für eine Antwort.
    Die Fehlermeldung:
    pi@raspberrypi:~/roboter $ sudo python3 xbox360_example.py
    Traceback (most recent call last):
    File „xbox360_example.py“, line 49, in
    joy = xbox.Joystick()
    File „/home/pi/roboter/xbox.py“, line 67, in __init__
    raise IOError(‚Unable to detect Xbox controller/receiver – Run python as sudo‘)
    OSError: Unable to detect Xbox controller/receiver – Run python as sudo
    pi@raspberrypi:~/roboter $

    Antworten
    • Felix am 16. Februar 2017 20:32

      Hast du es denn mal mit Python2.7 versucht und bekommst du damit den selben Fehler?

      Antworten
      • Christoph am 24. Mai 2017 13:53

        Ist hier schon eine Lösung gefunden worden?
        Bei mir erscheint die selbe Fehlermeldung, unabhängig davon ob python3 oder 2.7.

    • Mare am 20. Dezember 2018 9:59

      Hey!
      Ich habe die Lösung gefunden.
      Man kann den Controller einmal verwenden nach einem Reboot. Dannach nicht mehr. Das liegt daran, dass das Programm nicht ordnungsgemäß über STRG+C beendet wurde sondern einfach geschlossen. Dann führt sich der Befehl „joy.close()“ nie aus.

      Das heißt einmal den Raspberry Pi neustarten und in Zukunft die Programme mit STRG+C beenden, damit „joy.close()“ durchlaufen kann.

      Mare

      Antworten
  2. Alex am 16. Februar 2017 19:04

    Hallo tolles Tutorial :),
    Mein Controller tut sich öfter mal schwer die Bluetoothverbindung herzustellen.
    Weißt du ob und wie man das verbessern könnte?

    Antworten
  3. Hans am 17. Februar 2017 10:13

    Hallo Felix,

    danke für die Antwort. Hier die Fehlermeldungen:
    pi@raspberrypi:~ $ cd roboter
    pi@raspberrypi:~/roboter $ sudo python xbox360_example.py
    ^X^CTraceback (most recent call last):
    File „xbox360_example.py“, line 67, in
    x, y = joy.leftStick()
    File „/home/pi/roboter/xbox.py“, line 233, in leftStick
    return (self.leftX(deadzone),self.leftY(deadzone))
    File „/home/pi/roboter/xbox.py“, line 111, in leftX
    raw = int(self.reading[3:9])
    KeyboardInterrupt
    pi@raspberrypi:~/roboter $
    pi@raspberrypi:~/roboter $ sudo python2.7 xbox360_example.py
    ^CTraceback (most recent call last):
    File „xbox360_example.py“, line 67, in
    x, y = joy.leftStick()
    File „/home/pi/roboter/xbox.py“, line 233, in leftStick
    return (self.leftX(deadzone),self.leftY(deadzone))
    File „/home/pi/roboter/xbox.py“, line 118, in leftY
    return self.axisScale(raw,deadzone)
    File „/home/pi/roboter/xbox.py“, line 135, in axisScale
    if abs(raw) < deadzone:
    KeyboardInterrupt
    pi@raspberrypi:~/roboter $

    Antworten
    • Felix am 17. Februar 2017 16:25

      Hast du die Ausführung unterbrochen (STRG+C)? Oder trat der Fehler einfach so auf?

      Antworten
  4. Hans am 17. Februar 2017 16:57

    Ja, da sich nichts (für mich sichtbares) tat, hab ich unterbrochen, war das ein Fehler?

    Antworten
    • Felix am 17. Februar 2017 17:00

      Naja, dann ist es wohl kein Softwarefehler. Eventuell wird der Controller nicht erkannt. Hast du die Testdateien aus diesem Tutorial denn ausprobiert?

      Antworten
  5. Hans am 17. Februar 2017 18:04

    Danke für die Antwort.
    Morgen gehe ich das Tutorial noch einmal exakt durch, Wäre doch gelacht, wenn es nichts wird.

    Antworten
  6. Luis Fernando am 13. März 2017 2:41

    Ich frage mich, warum mein Programm keine Fehlermarke mich Compiliert

    import RPi.GPIO as GPIO
    import math
    import xbox
    
    GPIO.setmode(GPIO.BCM)
    
    verde =4 
    
    GPIO.setup(verde, GPIO.OUT)
    
    
            #Initialize joystick
        joy = xbox.Joystick()
            while not joy.Back():
            
     
        if joy.B():
     GPIO.output(verde, GPIO.HIGH)
         
         else:
            GPIO.output(verde, GPIO.LOW)
    
        joy.close()                   #Cleanup before exit
    Antworten
    • Felix am 13. März 2017 13:32

      In Python sind die Einrückungen wichtig, da es keine Klammernotation gibt. Die sind bei dir komplett zufällig. Das kann so nicht funktionieren.

      Antworten
  7. Tom am 19. Mai 2017 17:56

    Hallo Felix,
    ich bekomme immer wieder die Fehlermeldung „No module named xbox“.
    Wie gehe ich damit um? Für mich ist das Raspberry Pi komplettes neuland…
    Ich habe bereits den Treiber installiert und getestet. Müsste alles passen.

    Antworten
    • Felix am 19. Mai 2017 18:01

      Die Datei xbox.py muss im selben Verzeichnis wie dein Skript sein.

      Antworten
  8. Christoph am 31. Mai 2017 8:59

    Wie kann ich einen zweiten Controller verwenden?
    Wenn ich z.B. den selben Aufbau nochmal mache und aus einem Programm beide Aufbauten mit jeweils einem Controller steuern kann.

    Antworten
    • Felix am 31. Mai 2017 13:26

      Ja, aber du musst diese per Code identifizieren.

      Antworten
      • Christoph am 31. Mai 2017 15:54

        Wie muss das denn aussehen?
        Ich hab ziemlich viel recherchiert und komme einfach nicht drauf:(

  9. Nico am 3. Juni 2017 20:47

    Hallo,
    Weis jemand wie man mit Hilfe eines ps3 Controllers anstatt des Xbox 360 Controllers die gpio pins steuern kann?
    Vielen Dank im Voraus.

    Antworten
  10. Felix am 21. August 2017 21:22

    Funktioniert dieser Aufbau auch mit dem Xbox 360 Controler für Windows?

    Antworten
    • Felix am 13. September 2017 19:36

      Ja, ist der selbe nur kabelgebunden.

      Antworten
  11. Norbert am 31. Dezember 2017 12:42

    Hallo Felxi,

    ich bekomme beim Ausführen folgende Fehlermeldung:
    Traceback (most recent call last):
    File „xbox1.py“, line 13, in
    joy = xbox.Joystick()
    File „/home/pi/xbox.py“, line 72, in __init__
    raise IOError(‚Unable to detect Xbox controller/receiver – Run python as sudo‘)
    IOError: Unable to detect Xbox controller/receiver – Run python as sudo

    Die Erkennung des Controllers mit:
    sudo xboxdrv –detach-kernel-driver
    funktioniert ohne Probleme.

    Ist es eventuell ein Problem mit der xbox.py?
    LG
    Norbert

    Antworten
    • Felix am 31. Dezember 2017 13:18

      Hast du das Python Skript mit sudo python xxx.py gestartet?

      Antworten
      • Felix am 29. Januar 2018 15:29

        Ich habe das selbe Problem wie Norbert. Ich habe das Python Script sowohl als sudo python als auch ohne sudo gestartet. Der Fehler tritt immer wieder auf.
        Der Controller ist an und kann auch verwendet werden (sowohl mit sudo xboxdrv –deatch-kernel-driver selbst aber auch als sudo xboxdrv –detach-kernel-driver –silent –mouse
        Ist der Fehler bereits irgendwem bekannt, bzw. gibt es dafür eventuell sogar schon eine Lösung?

      • Felix am 29. Januar 2018 20:25

        Ich hatte das nicht, aber ihr könntet ggf. mal beim Entwickler auf Github nachfragen.

      • Mare am 20. Dezember 2018 8:47

        Gibt es mittlerweile eine Lösung? Wenn ja wäre es praktisch diese oben zu verlinken o.Ä…

      • Mare am 20. Dezember 2018 9:59

        Hey!
        Ich habe die Lösung gefunden.
        Man kann den Controller einmal verwenden nach einem Reboot. Dannach nicht mehr. Das liegt daran, dass das Programm nicht ordnungsgemäß über STRG+C beendet wurde sondern einfach geschlossen. Dann führt sich der Befehl „joy.close()“ nie aus.

        Das heißt einmal den Raspberry Pi neustarten und in Zukunft die Programme mit STRG+C beenden, damit „joy.close()“ durchlaufen kann.

        Mare

  12. Rafael am 24. Februar 2018 22:56

    Funktioniert das Tutorial auch mit dem XBox One Controller?

    Antworten
    • Felix am 25. Februar 2018 17:54

      Nein.

      Antworten
  13. Orean am 3. Mai 2018 14:29

    Muss ich Änderung an der xbox.py Datei machen wenn ich zwei Controller gleichzeitig abfragen will?

    Antworten
  14. Helmut Lieven am 4. November 2018 16:42

    Gibt’s was neues ? Hab den Fehler bei „joy = xbox.Joystick()“

    Antworten
  15. Michael Kugelmann am 3. Februar 2019 19:39

    Hallo,
    schoen waere es auch, wenn man die Funktion eines XBOX One Controllers der ueber Bluetooth emulieren koennte. Zum Beispiel wenn man eine Raspberry Pi Zero W dafuer benutzen koennte, waere es auch noch guenstig.
    (Sorry die Tastatur hat keine Umlaute)

    Antworten
  16. Andreas am 3. Oktober 2020 19:54

    Wie kann ich lb, lt, dd, dl, usw abfragen?
    A abfragen klappt ja über Joy.A()
    Das klappt mit joy.lb() oder joy.dd() nicht.

    Antworten
  17. Kai am 17. Oktober 2020 10:31

    Hallo Felix,
    das Tutorial sieht gut aus und die Umsetzung funktioniert bei mir auch bis zu einem gewissen Punkt.
    Das Problem vermute ich „auf meinem Pi“:
    Das Modul xbox.py greift auf eine Funktion aus dem Modul „wpilib“ zurück.
    Woher bekomme ich die? Kannst Du mir da bitte helfen?
    Danke, Kai

    Antworten
  18. Hans Hambach am 21. Dezember 2020 13:48

    Hallo
    Ich bekomme bei der verwendung des xbox.py
    den Fehler
    File „xbox.py“, line 53
    waitTime = time.time() + 2.0

    Hat da wer eine Lösung
    Danke und gesund bleiben

    Lg Hans

    Antworten
  19. Alex am 11. Februar 2021 21:10

    Vielen Dank für das tolle Tutorial!
    Ich habe mir direkt einen xbox controller bestellt 🙂
    Ist für die RasPi 3B+ ebenfalls ein USB-Empfänger erforderlich? Bluetooth stünde doch onboard bereits zur Verfügung?
    Besten Gruß,

    Antworten
  20. Jannic am 30. Juni 2021 19:28

    Hallo,

    erstmal vielen Dank für die tolle Zusammenfassung. Ich habe mir auch schon seit längerem überlegt, einen Controller als Sender für ein RC-Auto zu nutzen. Dazu habe ich jetzt auch einen schönen Leitfaden 😉

    Ich kenne mich bei diesem Thema also noch nicht so ganz aus.
    Wäre es auch möglich einen ein PS4 oder XBOX ONE-Controller als Sender zu nutzen? Empfänger bleibt natürlich der RPI.

    Antworten
  21. David am 12. Januar 2022 18:31

    Hallo ich versuche das Projekt mit den LED und mit dem Roboter hinzukriegen aber die gleiche Meldung taucht bei mir auf: Joy = xbox.Joystick() raise IO error Unable to detect Xbox controller/receiver.

    ich hab alle Antworte durchgelesen und das Program mit sudo python ausgeführt, wenn ich das mache taucht bei mir die Meldung: No Module named RPi.GPIO auf.

    könnte jemand bitte mir was helfen?
    LG

    Antworten

Hinterlasse einen Kommentar Antwort abbrechen

Smart Home per Drag & Drop: Node-RED am Raspberry Pi nutzen

Roboter Arm mit Xbox 360 Controller am Raspberry Pi steuern

Raspberry Pi Raspbian OS auf eine SD-Karte übertragen (Windows)

Raspberry Pi als Jukebox (Spotify, Soundcloud, TuneIn, uvm.) – Online Radio

Über Telegram Messenger Raspberry Pi steuern

Raspberry Pi Waage selber bauen (mit Gewichtssensor HX711)

Blog abonnieren

Abboniere Raspberry Pi Tutorials, um kein Tutorial mehr zu verpassen!

Tutorials for Raspberry Pi
Facebook Twitter YouTube
  • Kontakt & Impressum
  • Unterstützen
  • Datenschutz

Tippe den Suchbegriff oben ein und drücke Enter, um danach zu suchen. Drücke Esc, um abzubrechen.