Sunfounder nRF24 Fernbedienung

Last Updated on 1. April 2022 by sfambach

Die Sunfounder Fernbedingung wird mit Hilfe eines Arduino Nano und einer nRF24101 Platine betrieben. Sie besitzt Schraubklemmen für die Stromversorgung, einen Einschalter und zwei Steckplätze für die genannten Module. Zur Steruerung verwendet sie einen Joystick mit zwei Freiheitsgraden wie er beispielsweise in der PS4 Fernsteuerung verbaut ist. Der Joystick ist analog. Zwei Potentiometer (Veränderliche Widerstände) verändern die Ausgangsspannung je nach Stellung des Joysticks.

Ansichten

Einsatzzwecke

  • Fernbedienung
  • Für weitere Einsatzwecke fehlt mir die Fantasie 😉

Stückliste

  • Sunfounder Fernbedienungsplatine
  • Arduino Nano
  • nRF24L01 Platine
  • Spannungsversorgung (USB Schnittstelle, Akku …)
  • Einen Epfänger z.B. nRF Modul für die Serielle Schnittstelle od. an Arduino

Fernbedienung

Interner Schaltplan

File:Nrf2.jpg
Schaltplan des Herstellers www.sunfounder.com

Beschaltung des Joystick

Der Joystick ist mit dem Analogen Port 0 und 1 verbunden. Der Taster kann über den Digitalen Port 2 abgefragt werden.

Die Werte an den analogen Ports liegen zwischen 0 und 1023. Wobei sich bei rund 512 die Mittelstellung befindet (Kann je nach Potentiometer etwas abweichen).

ArduinoJoystick
A0Y Richtung (hoch/runter)
A1X Richtung (rechts/links)
D2Schalter (Auf Joystick drücken)

Beschaltung nRF

ArduinonRFKommentar
D9CEChick enable Rx od. TX mode
D10CSNChip select
D11MOSIData input
D12MISOData output
D13SCKClock
IRQInterrupt

Arduino Nano

nRF24 Modul

Alter Beitrag zu RF24

Bibliothek

Es gibt einige Implementierung für die nRF Module ich habe unter anderem diese von Sunfounder beworbene verwendet.

http://wiki.sunfounder.cc/images/7/76/Test_Code.zip

Sollte es hiermit probleme geben kann ich auch noch die folgende LIB empfehlen:

http://tmrh20.github.io/RF24

Das es immer etwas kritisch ist, ob die schon installierten libs und die neuen zusammenpassen habe ich für dieses Projekt die *.h und die *.cpp Dateien einfach in die Projektordner des Senders und Empfängers kopiert. Natürlich könnt ihr die RF24 auch einfach installieren.

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

Programmierung

Ich bin bei diesem Projekt in zwei schritten vorgegangen.

  • Schritt 1 mal die Platine Testen
  • Schritt 2 das RF hinzufügen

Erster Schritt – Platine Testen

Der erste Test fragt den Joystick ab und gibt die Werte auf der Console aus.

Consolen Ausgabe

Zweiter Schritt – RF hinzugefügt

Die Fernbedienung sendet ihre Werte direkt an den Empfänger,dieser gibt die Werte auf der Console aus.

Der sender soll 1:1 die Werte der analogen Ports und die Schalterstellung übermitteln. Hierfür habe ich den ersten Test um die RF Schnittstelle erweitert.

So sollte es dann aussehen:

Links Sender – Rechts Empfänger

Fazit

Sunfounder hat hier eine nette kleine und kostengünstige Fernbedienung im Angebot. Die Installation ist einfach, schade ist dass der Taster nicht funktioniert.

Probleme

Druckknopf funktioniert nicht

Bei meinem Board funktioniert der Druckknopf im Joystick leider nicht :(.

RF geht nicht

Nochmal die folgende Lib probieren, mit dieser hatte ich die meisten Erfolge.
http://tmrh20.github.io/RF24


Verwandte Beiträge

Quellen

https://www.sunfounder.com/mobile-robot-remote-controller.html

http://wiki.sunfounder.cc/index.php?title=Mobile_Robot_Remote_Controller

http://tmrh20.github.io/RF24

https://playground.boxtec.ch/doku.php/wireless/nrf24

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert