Arduino Nano ESP32 Bluetooth-Joystick-Beispiel - 2D-Richtungssteuerung über BLE-Anleitung
Übersicht
Dieses Beispiel implementiert eine interaktive 2D-Joystick-Steuerung auf dem Arduino Nano ESP32 unter Verwendung von BLE (Bluetooth Low Energy) über die DIYables Bluetooth STEM-App. Empfangen Sie Echtzeit-X/Y-Koordinaten (-100 bis +100) zur Richtungssteuerung. Geeignet für Roboternavigation, Pan-Tilt-Servos, Motorsteuerung und Spielecontroller.
Hinweis: Der Arduino Nano ESP32 unterstützt nur BLE — Classic Bluetooth wird nicht unterstützt. Die DIYables Bluetooth App funktioniert auf Android und iOS mit BLE.

Funktionen
- 2D-Steuerung: X- und Y-Achse mit Bereich −100 bis +100
- Konfigurierbare Empfindlichkeit: Mindestbewegungsschwelle vor Auslöser von Updates
- Optionale automatische Rückführung: Joystick kann beim Loslassen automatisch zentriert werden
- Echtzeitwerte: Kontinuierliche Positionsaktualisierungen während des Ziehens
- Android- und iOS-Unterstützung: BLE ist mit beiden Plattformen kompatibel
- Keine Kopplung erforderlich: BLE verbindet sich ohne manuelle Kopplung
- Geringer Stromverbrauch: BLE verbraucht weniger Strom als Classic Bluetooth
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Arduino Nano ESP32 Code
Schnelle Schritte
- Neu beim Arduino Nano ESP32? Beginnen Sie mit der Arduino Nano ESP32 Anleitung für Anfänger.
- Verbinden Sie den Arduino Nano ESP32 über USB mit Ihrem Computer.
- Öffnen Sie Arduino IDE.
- Wählen Sie die Arduino Nano ESP32 Platine und den korrekten COM-Port.
- Klicken Sie auf das Bibliotheken Symbol in der linken Seitenleiste.
- Suchen Sie nach "DIYables Bluetooth" und wählen Sie die DIYables Bluetooth Bibliothek von DIYables.
- Klicken Sie auf Installieren.

- Wenn Sie aufgefordert werden, Abhängigkeiten zu installieren, klicken Sie auf Alles installieren.

BLE-Code
- In Arduino IDE öffnen Sie Datei Beispiele DIYables Bluetooth ArduinoBLE_Joystick, oder fügen Sie den Code in den Editor ein.
- Klicken Sie auf Upload um den Sketch auf die Platine zu flashen.
- Öffnen Sie den seriellen Monitor.
- Die Ausgabe des seriellen Monitors sollte wie folgt aussehen:
Mobile App
Hinweis: Die DIYables Bluetooth App funktioniert auf Android und iOS mit BLE. Es ist keine manuelle Kopplung erforderlich.
- Starten Sie die DIYables Bluetooth App.
- Bei der ersten Inbetriebnahme erteilen Sie die folgenden Berechtigungen:
- Nahegelegene Geräte (Android 12+) / Bluetooth (iOS) — erforderlich zum Scannen und Verbinden mit Bluetooth-Geräten
- Standort (nur Android 11 und älter) — erforderlich für ältere Android-Versionen zum Scannen für BLE
- Stellen Sie sicher, dass Bluetooth auf Ihrem Gerät aktiviert ist.
- Tippen Sie auf der Startseite auf Verbinden. Die App scannt dann nach BLE-Geräten.

- Tippen Sie in den Scan-Ergebnissen auf "Arduino_Joystick".
- Nach der Verbindung kehren Sie zur Startseite zurück und öffnen Sie die Joystick App.

Tippen Sie auf das Einstellungssymbol auf der Startseite, um Apps anzeigen oder auszublenden. Siehe das DIYables Bluetooth App Benutzerhandbuch für Details.
- Ziehen Sie den Joystick in eine beliebige Richtung.

Schauen Sie nun zurück auf den seriellen Monitor in Arduino IDE. Sie werden sehen:
Kreative Anpassung - Passen Sie den Code an Ihr Projekt an
Joystick-Werte verarbeiten
Joystick-Einstellungen konfigurieren
Config-Anforderung verarbeiten
Programmierungsbeispiele
Differenzialantrieb-Roboter
Pan-Tilt-Servo
Richtung mit Dead Zone
Fehlerbehebung
Häufige Probleme
1. Gerät ist in der App nicht sichtbar
- Bestätigen Sie, dass die Platine eingeschaltet und der Sketch hochgeladen ist
- Überprüfen Sie, ob Bluetooth auf Ihrem Telefon aktiviert ist
- Auf Android 11 und darunter müssen Sie auch Standortdienste aktivieren
2. Joystick reagiert nicht
- Überprüfen Sie den Bluetooth-Verbindungsstatus in der App
- Bestätigen Sie, dass der onJoystickValue Callback korrekt registriert ist
- Überprüfen Sie den seriellen Monitor auf Verbindungsmeldungen
3. Bewegung fühlt sich träge an
- Senken Sie den Empfindlichkeitswert für häufigere Updates
- Stellen Sie sicher, dass bluetoothServer.loop() ohne lange Verzögerungen läuft
4. Werte springen oder sind inkonsistent
- Fügen Sie einen Dead-Zone-Filter für kleine Bewegungen hinzu
- Überprüfen Sie die Empfindlichkeitseinstellung
5. Verbindung wird häufig unterbrochen
- Reduzieren Sie den Abstand zum Arduino
- Stellen Sie eine stabile USB-Stromversorgung sicher
6. Upload schlägt fehl oder Platine wird nicht erkannt
- Installieren Sie das neueste Arduino Nano ESP32 Board-Paket über den Board Manager
- Probieren Sie ein anderes USB-Kabel oder einen anderen Port
Projektideen
- Drahtloser Roboter-Controller
- Kameraschwenk-Neigung-Mount
- Roboterarm 2-Achsen-Steuerung
- LED-Matrix-Positions-Controller
- Spielecontroller für Arduino-Spiele
Nächste Schritte
Nach Abschluss des Bluetooth-Joystick-Beispiels erkunden Sie:
- Bluetooth-Schieberegler — Lineare Wertsteuerung
- Bluetooth-Rotator — Winkelsteuerung
- Bluetooth-Monitor — Statusrückmeldung
- Mehrere Bluetooth-Apps — Kombinieren Sie Joystick mit anderen Steuerelementen
Unterstützung
Für weitere Hilfe:
- Überprüfen Sie die API-Referenzdokumentation
- Besuchen Sie DIYables Tutorials
- Arduino-Community-Foren