NRF Transceiver Module #nrf #nrftransmitter #nrftx #nrf24l01 #nrfreceiver #tx #rx #electronics #tech #arduino #nordic #remote #rc #remotecontrol https://www.instagram.com/p/CiKqb0mrw_Q/?igshid=NGJjMDIxMWI=

seen from Switzerland
seen from Argentina

seen from Switzerland

seen from Maldives
seen from Denmark
seen from Brazil
seen from Russia
seen from Belgium

seen from Germany
seen from Philippines
seen from United States
seen from Chile
seen from China
seen from Philippines
seen from China
seen from El Salvador
seen from Jordan
seen from Russia
seen from China
seen from United States
NRF Transceiver Module #nrf #nrftransmitter #nrftx #nrf24l01 #nrfreceiver #tx #rx #electronics #tech #arduino #nordic #remote #rc #remotecontrol https://www.instagram.com/p/CiKqb0mrw_Q/?igshid=NGJjMDIxMWI=
Fastest Arduino RC Car using Coreless DC Motors and nRF24L01 RF module
RC cars are always fun to play with. Most of these cars today provide a huge torque to handle rough terrains, but there is something that was always lagging, its Speed!!.. So, in this project, you will build a totally different type of RC car using Arduino, the main objective of this car is to achieve maximum speed, by coreless DC motor for an RC car. These motors are normally used in drones and are rated for 39000 RPM which should be more than enough to quench our speed thirst. The car will be powered with a small lithium battery and can be controlled remotely using the nRF24L01 RF module.
For NRF RECEIVER section 🤞 #nrf24l01 #microcrollerproject #arduinoprojects #microcontroller #electronicsprojects #electronics #electronicslovers #engneering #electronicsengineering #jlcpcb #linefollowerrobot https://www.instagram.com/p/CXm9DDnPI8h/?utm_medium=tumblr
* 🇧🇷 Walduininho V2 com módulo nrfl2401 . Comunicação entre dispositivos testada agora é transformar tudo em uma única placa (SMD) para embarcar em um projetos na sua fase final ------------------------ youtube.com/ProjetosEletronicos ------------------------ 🇺🇸 Walduininho V2 with module nrfl2401 . Communication between devices tested now is to turn a single board (SMD) to projects in its final phase ------------------------ #arduino #arduinouno #arduinonano #nrf24l01 #comunicação #dispositivos #projeto #embarcado #engineering #engenharia #smd #walduininho #v2 #iot #walproj #projetosmaker #projetoseletronicos #hardware #software (em Projetos Eletronicos) https://www.instagram.com/p/COV4Cl-rHod/?igshid=1uaxqpt6fdbok
Übertragen der Daten eines DHT11 Sensors mit Hilfe eines nRF24L01 Modules zwischen zwei Arduino Nano V3. #DHT11 #nrfl01 #nrf24l01 #oleddisplay #maker #diy #electronic #components #tech #techy #technology #draegerit (hier: Stefan Draeger Software) https://www.instagram.com/p/CNhkGC2KoFj/?igshid=olwm0mvi2vau
Arduino Nano V3 - nRFL01 Modul - Datenübertragung
In diesem ersten Beitrag möchte ich dir zeigen wie du Daten zwischen zwei Arduino Nano V3 mit zwei nRFL01 Modulen übertragen kannst.
Bezug von nRFL01 Modulen
Die mir vorliegenden nRFL01 Module habe ich im Set mit auf aliexpress.com für 6,32€ zzgl. 3,73€ Versandkosten gekauft.
Anzeige auf der Plattform aliexpress.com Dem Set liegen wie bereits erwähnt jeweils zwei Arduino Nano V3, nRFL01 Module, Antennen sowie Breadboard Adapter bei. Des Weiteren liegen noch zwei kleine USB Datenkabel bei welche leider so kurz sind (ca. 31cm) das diese nicht verwendet werden können.
länge USB Datenkabel Auf ebay.de du findest du recht günstig lange USB Datenkabel welche praktikabler sind als dieses kurze Teil.
benötigte Bauteile für diesen Beitrag
Wenn du die Beispiele aus diesem Beitrag nachbauen möchtest dann benötigst du: - zwei Microcontroller der Arduino Familie zbsp. Arduino Nano, Arduino UNO - zwei nRFL01 Module NRF24L01 - zwei Breadboard Regler für Modul NRF24L01
Set Arduino Nano V3, USB Datenkabel, nRFL01 Module
Anschluss des nRFL01 Modules an den Arduino Nano V3
Da ich mir ein Set inkl. Arduino Nano V3 gekauft habe, möchte ich dir zeigen wie das nRFL01 Modul an dieses angeschlossen wird. Da der Arduino Nano V3 aber recht baugleich mit dem Arduino UNO ist, kannst du diese Schaltung auch 1:1 auf diesen Microcontroller übertragen. Für die Ansteuerung des nRFL01 Modules am Microcontroller benötigst du zusätzlich ein Regler Modul welches dem Set bei liegt. Auf dieses Modul kann das nRFL01 bzw. nRF24L01 Modul gesteckt werden und die Pins mit Breadboardkabel abgegriffen werden.
Pinout des Regler Modules für den nRFL01 / nRF24L01 Das nRF24L01 Modul mit SMA Antenne verfügt wie auch das "normale" nRF24L01 Modul über 8 Pins.
Pinout des nRF24L01 SMA Moduls Das Regler Modul verfügt über 8 Pins wobei davon 2 für die Stromversorgung des Modules sowie 6 weitere für die Datenübertragung dienen.
Regler Modul für den nRFL01 An den Arduino Nano V3 / Arduino UNO wird dieses Modul wie folgt angeschlossen. Regler ModulArduino Nano V3VCC5 V (im betrieb ohne Regler an 3,3V)GNDGNDCEdigitaler Pin D6CSNdigitaler Pin D7SCKdigitaler Pin D13MO (MOSI)digitaler Pin D11MI (MISO)digitaler Pin D12IRQ- bleibt leer - Beachte aber das es ggf. je nach verwendeter Bibliothek, eine andere Pinbelegung gibt.
Arduino Nano V3 mit angeschlossenem nRFL01 Modul
zwei Microcontroller Arduino Nano V3 mit nRFL01 Modulen
Programmieren des nRFL01 Moduls am Arduino Nano V3
einrichten der benötigten Bibliothek Für den betrieb bzw. der Programmierung des nRF24L01 am Arduino benötigst du zusätzlich eine Bibliothek. In meinem Beispiel verwende ich das *.zip Paket vom GitHub Repository nRF24 / RF24. Wie du eine Bibliothek in der Arduino IDE installierst habe ich dir im Beitrag Arduino IDE, Einbinden einer Bibliothek ausführlich erläutert. Beispiel 1 - blinken einer LED Wollen wir zunächst eine LED steuern. Dazu senden wir den Befehl "ON" alle 1000ms. Und wenn wir am Empfänger diesen Befehl empfangen soll die LED aufleuchten, andernfalls soll diese deaktiviert sein. Aufbau der Schaltung am Empfänger Für den Aufbau der Schaltung des Empfängers benötigst du neben dem nRF24L01 Modul und einem Arduino Nano V3 noch zusätzlich - einen 220 Ohm Widerstand, - eine LED, 5mm, - diverse Breadboardkabel
Schaltung für den Empfänger Schaltung für den Sender Die Schaltung für den Sender ist recht einfach denn es wird lediglich ein nRFL01 Modul und ein Arduino Nano V3 benötigt.
Schaltung für den Sender Sketch für den Sender //Bibliotheken laden #include #include #include //CE - digitaler Pin D6 //CSN - digitaler Pin D7 RF24 radio(6, 7); // CE, CSN //Adresse über welche die Kommunikation stattfinden soll const byte address = "00001"; void setup(){ //beginn der seriellen Kommunikation mit 9600baud Serial.begin(9600); radio.begin(); //setzen der Adresse radio.openWritingPipe(address); //das Modul soll als Sender agieren daher //keine "abhören" radio.stopListening(); } void loop(){ //Nachricht welche gesendet werden soll const char status = "ON"; //senden der Nachricht radio.write(&status, sizeof(status)); //Ausgabe auf der seriellen Schnittstelle das //eine Nachricht gesendet wurde Serial.println("send"); //eine Pause von 1sek. delay(1000); } Sketch für den Empfänger //Bibliotheken laden #include #include #include //CE - digitaler Pin D6 //CSN - digitaler Pin D7 RF24 radio(6, 7); // CE, CSN //Adresse über welche die Kommunikation stattfinden soll const byte address = "00001"; //LED am digitalen Pin D4 angeschlossen #define led 4 //Variable um sich den Status der LED (AN/AUS) zu speichern int ledStatus = 0; void setup() { //Pin der LED als Ausgang definieren pinMode(led, OUTPUT); //solange der serielle Port nicht initialisiert ist //soll ein leere Schleife ausgeführt werden while (!Serial); //beginn der seriellen Kommunikation mit 9600baud Serial.begin(9600); radio.begin(); //setzen der Adresse //es können mehr als eine Adresse verwendet werden radio.openReadingPipe(0, address); //starten des "abhören" radio.startListening(); } void loop() { String t = "OFF"; //Wenn Daten empfangen wurden, dann... if (radio.available()) { //einen Buffer für den gelesen Text initialisieren char text = {0}; //lesen der Daten in den Buffer radio.read(&text, sizeof(text)); //umwandeln des Buffers (char Arrays) in einen String //dieses macht das vergleichen später einfacher t = String(text); //Ausgeben des gelesenen Textes auf der seriellen Schnittstelle Serial.println(text); } //Wenn der gelesene Text gleich "ON" ist dann soll die LED //aktiviert werden, d.h. Status 1 ansonsten Status 0 und die //LED wird deaktiviert. ledStatus = t == "ON" ? 1 : 0; digitalWrite(led, ledStatus); //eine kleine Pause von 500ms. //diese Pause sorgt dafür das die LED blinkt delay(500); } Download der Sketche Hier nun die beiden Sketche / Programme zum bequemen Download. Video
testen der Reichweite
Mit dem oben gezeigten Aufbau möchte ich dir nun einen kleinen Test präsentieren wie ich die Reichweite im bebaute Gelände getestet habe. Folgende GPS Koordinaten konnte ich dabei festhalten, wobei natürlich eine gewisse Toleranz bei diesem Messverfahren besteht. - Startpunkt - 52.146194 10.961047 - Position 1 - 52.145663 10.961269 - Position 2 - 52.147116 10.961016 Der Abstand zwischen - dem Startpunkt und der Position 1 beträgt 110m, - dem Startpunkt und der Position 2 beträgt 200m wobei aber immer Sichtkontakt bestehen musste.
Google Earth GPS Koordinaten In diesem gezeigten Gelände gibt es ein Gefälle von "Position 2" zu "Position 1" (d.h. "Position 1" liegt tiefer als "Position 2"). kleiner Test auf dem "Acker" In bebautem Gelände gibt es diverse störungsquellen welche die Datenübertragung mindern kann. Dazu zählen zbsp: - Hochspannungsleitungen, - elektrotechnische Geräte wie Rasenmäher, Pumpen usw. Nun möchte ich einmal prüfen wie sich das ganze auf einem recht freien Feld verhält. Folgende GPS Koordinaten habe ich aufgenommen: - Startpunkt - 52.148844 10.967183 - Position 1 - 52.148715 10.968886
Reichweitentest des nRF24L01 Modules in offenem Gelände Zusammenfassung Fassen wir kurz die gesammelten Daten in einer kleinen Tabelle zusammen: Positionbebautes Geländeoffenes GeländeStartpunkt - Position 1100m330mStartpunkt - Position 2200m- Aus der Tabelle geht sehr gut hervor das in offenem Gelände das nRF24L01 Modul mit SMA Antenne deutlich bessere Leistung bring. Mit knapp 330m ist das auch schon eine recht gute Leistung, wenn man mal bedenkt dass, das Modul mit 3,3V und einer Powerbank betrieben wird.
nRF24L01 Sender & Empfänger inkl. Powerbank
Beispiel 2 - steuern einer LED mit einem Taster
Nachdem wir nun eine LED mit dem Befehl "ON" steuern können wollen wir diesen Befehl mit einem Tastendruck absenden.
erweitern der Schaltung für den Sender
Für den Aufbau mit einem Taster, müssen wir die Schaltung für den Sender um einen Pull-Up / Pull-Down Widerstand und einen besagten Taster erweitern.
erweiterte Schaltung mit einem Taster und einen Pullup Widerstand
implementieren des Tasters in den bestehenden Sketch
Den bestehenden Sketch für den Sender müssen wir lediglich um den Taster erweitern. Unser Taster ist am digitalen Pin D3 angeschlossen. Es gibt nun die Möglichkeit den Taster einfach per "digitalRead" auszulesen ABER dann bekommen wir das Problem mit dem Prellen eines Tasters, um diesen Effekt zu unterbinden können wir die Bibliothek Bounce2 verwenden und somit ein gesichertes Tastersignal auswerten. Wie du einen Taster am Arduino programmierst und auch das prellen eines Tasters unterbinden kannst habe ich im Beitrag Arduino Lektion 87: Taster entprellen erläutert. einfache Lösung ohne zusätzliche Bibliothek Wie bereits erwähnt ist die einfachste Lösung mit der Funktion "digitalRead". Die Funktion "digitalRead" liefert uns entweder 0 / LOW wenn kein Signal anliegt oder aber 1 / HIGH wenn ein Signal anliegt. #define taster 3 void setup(){ pinMode(taster, INPUT); } void loop(){ if(digitalRead(taster) == HIGH){ //senden des Befehles "ON" } } aufwändige Lösung mit der Bibliothek Bounce2 Für die Lösung mit der Bibliothek Bounce2, müssen wir zunächst die besagte Bibliothek einfügen (zuerst in die Arduino IDE und danach in den Quellcode) und uns eine Objektinstanz erzeugen. #include #define taster 3 //erster Parameter der Pin für den Taster, //zweiter Parameter die ms. welche zwischen 2 Signalen liegen muss Bounce btnBouncer = Bounce(taster, 50); void setup(){ pinMode(taster, INPUT); } void loop(){ btnBouncer.update(); //Wenn der Taster losgelassen wird, dann... if(btnBouncer.fell()){ //senden des Befehles "ON" } } Sketch des Senders //Bibliotheken laden #include #include #include #include //CE - digitaler Pin D6 //CSN - digitaler Pin D7 RF24 radio(6, 7); // CE, CSN //Adresse über welche die Kommunikation stattfinden soll const byte address = "00001"; #define button 3 Bounce btnBouncer = Bounce(button, 50); void setup(){ //beginn der seriellen Kommunikation mit 9600baud Serial.begin(9600); pinMode(button, INPUT); radio.begin(); //setzen der Adresse radio.openWritingPipe(address); //das Modul soll als Sender agieren daher //keine "abhören" radio.stopListening(); } void loop(){ btnBouncer.update(); if(btnBouncer.fell()){ //Nachricht welche gesendet werden soll const char status = "ON"; //senden der Nachricht radio.write(&status, sizeof(status)); //Ausgabe auf der seriellen Schnittstelle das //eine Nachricht gesendet wurde Serial.println("send"); } } Sketch des Empfängers //Bibliotheken laden #include #include #includ Read the full article
Steuern einer LED mit einem Taster. Die Kommunikation findet dabei über zwei nRF24L01 Module am Arduino Nano V3 statt. #nrf24l01 #nrfl01 #arduinoproject #arduinonano #wireless #maker #diy #electronic #components #tech #techy #draegerit (hier: Stefan Draeger Software) https://www.instagram.com/p/CNNFVz7K7dz/?igshid=nduo5lhc0gwi
Testen der Reichweite des RF-Nano. Der RF-Nano verfügt über einen NRF24L01 welcher mit 2,4GHz sendet. #rfnano #keywish #nrf24l01 #maker #diy #tech #techy #technology #electronic #components #DraegerIT (hier: Stefan Draeger Software) https://www.instagram.com/p/B7f6HEwoEBp/?igshid=1mkltvrd42igj