Last Updated on 1. April 2022 by sfambach
Funduino bietet mit dieser Platine ein weiteres RC-Fernbedienungsmodul. Die Platine besitzt einen Joystick, diverse Taster und Anschlussmöglichkeiten für externe Platinen wie z.B. für ein RF Module, ein Nokia Display und ein Bluetooth modul.
Zusätzlich kann das Board mit 3V und 5V betrieben werden.
Ansicht
Einsatzzwecke
- Mit RF modul als Fernbedienung für Fahrzeuge
- Mit Display als Spieleconsole
- Als Bedienfeld
Stückliste
Für die Joystick-Platine
- Funduino Joystick Platine
- Arduino Uno
- Spannungsversorgung (USB od., Akkupack)
- Optional ein nRF24 Modul
- Optional ein Nokia Display 5110
- Optional ein Bluetooth Modul (habe ich keins)
Für die nRF Gegensetelle
- nRF usb Dongel oder
- Arduino Uno +
- nRF24l01 Modul
- nRF Anschlussplatine
Anschluss
Joystick und Taster
Arduino Pins | Funktion |
2 | Taster A |
3 | Taster B |
4 | Taster C |
5 | Taster D |
6 | Taster E |
7 | Taster F |
8 | Taster Unter Joystick |
A0 | X-Richtung Joystick |
A1 | Y-Richtung Joystick |
nRF24 Modulanschluss
Ardunio | nRF24 |
GN | GND |
VCC 3.3V | VCC |
9 | CE |
10 | CSN |
13 | SCK |
11 | MOSI |
12 | MISO |
Nokia Display 5110
Achtung es gibt mehrere Displays Nokia 5110 leider stimmen nur bei wenigen die Pins. Diese hier scheien auf den ersten Blick zu stimmen:
https://www.exp-tech.de/displays/lcd/8653/graphic-lcd-84×48-nokia-5110
Hab leider das falsche Display bestellt obwohl es mit der Kompatibilität zum Joystick Shield beworben wurde 🙁 somit erstmal keine Display test.
Man sollte auch beachten, dass das Display die gleichen Pins D9-D13 wie das nRF24L01 Modul verwendet. Somit kann nicht beides gleichzeitig betrieben werden.(Diese Aussage muss ich nochmal überprüfen 😉 )
Bluetooth Modul
Kein HC-05/06 Bluetooth Modul mit 3.3V zur Hand, habe aber eines beim schnellen Ali bestellt.
Programmierung
Bibliothek
Für den den Joystick und die Tasten wird keine Bibliothek benötigt für die anderen Bestandteile gibt wie immer schon was im Netz.
nRF24 Lib
Für die nRF Kommunikation verwendet ich die folgende Lib.
Diese habe ich erfolgreich schon in anderen Projekten verwendet. Für das vorliegene Projekt habe ich die LIB Dateien jeweils in die Projekt ordner Kopiert.
Die Einbindung von Bibliotheken im generellen ist unter folgenden Link beschrieben, hier werde ich nicht mehr näher darauf eingehen.
https://fambach.net/arduino-ide#Bibliotheken
Joystick und Knöpfetest
Um mal den Joystick ohne jedliche andere Funktionalität zu testen habe ich ein kleinen Programm geschieben. Dieses Reagiert auf alle Knopfdrücke und den Joystick und gibt die Zustände auf der Console aus.
Ausgabe
nRF Übertragung
Als zweites habe ich die RF-Funktionalität mit in das Testprogramm von oben aufgenommen. Den Receiver habe ich aus einem alten Projekt und nur das data Array angepasst. Wie der Receiver aufgebaut wird und wie alles funktioniert könnt ihr hier nachlesen.
Den Transmitter auf die Funduino aufspielen und den Receiver auf einen zweiten Arduino mit RF und schon kanns los gehen.
Der Funduino Transmitter sendet die Taster und die Joystickdaten an den Receiver. Dieser gibt die Daten auf der Console aus.
Ausgabe
Fazit
Nette Platine, reich an Knöpfen jedoch mit leichten Defiziten:
- Entweder RF oder Display
- Spannungsversorgung des nRF über den Arduino 3.3V
- Anordnung der Bauteile könnte besser sein, nRF Modul wäre nach oben zeigend besser platziert.
- Wenig vollständige Dokumentation zu finden, meist werden nur die Knöpfe und der Joystick ausgelesen.
Mit einem zusätzlichen ELCO, ist die Platine dennoch gut als Fernbedienung für beispielsweise RC Autos zu gebrauchen.
Probleme
Verbindung reisst ab/kommt nicht zustande
Ich hatte mit dem RF auf diesem Board ziemliche Problem. Nachdem ich die Datenmenge ohne ersichtliche Besserung begrenzt hatte, stellte ich die Power auf RF24_PA_MIN um. Danach ging es. Es scheint so als würde das Board mit dem RF mehr verbrauchen als der Arduino liefern kann.
Eine angeschlossene exterene Spannungsquelle am Arduino funktioniert leider auch nicht.
Der RF Chip wird anscheinend direkt über die 3,3V der Arduino gespeist, dies reicht bei den neueren nRF24l01+Chips nicht aus (Alle unter dem Namen nRF24l01 erworben Chips sind bei mir
nRF24l01+) .
Ein Elektrolyt-Condensator mit 100uf zwischen 3,3V und Masse geschalten, ermöglichte mir die Power bis auf RF24_PA_MAX hoch zu setzten.
Ziehe auch diesen Link:
http://arduinoinfo.mywikis.net/wiki/Nrf24L01-2.4GHz-HowTo
Verwandte Beiträge
- Pan Tilt mit Joystick
- OpenSmart Funk Joystick
- RC Auto mit PS2 Controller
- Sunfounder nRF24 Fernbedienung
- Arduino PS2 Controller Platine Grundlagen
Quellen
https://1sheeld.com/top-5-arduino-joystick-shields/
https://www.reddit.com/r/arduino/comments/29wpyx/updated_project_nrf24l01_and_joystick_shields/
https://github.com/naztronaut/nrf24l01–tx-rx-project1/blob/master/joystickTX.ino
https://forum.arduino.cc/index.php?topic=322642.0
http://arduinoinfo.mywikis.net/wiki/Nrf24L01-2.4GHz-HowTo