Differences
This shows you the differences between two versions of the page.
de:arduino:nrf24 [2020/01/13 13:16] |
de:arduino:nrf24 [2022/04/21 15:00] () |
||
---|---|---|---|
1: | 1: | ||
+ | ~~META: | ||
+ | keyword | ||
+ | ~~ | ||
+ | ====== nRF24L01 ====== | ||
+ | Das Kommunikationsmodul, | ||
+ | |||
+ | |||
+ | |||
+ | ===== Allgemeine Merkmale der nRF24L01-Module ===== | ||
+ | ** Technische Merkmale: ** | ||
+ | * [[hu: | ||
+ | * Auto-Bestätigungsfunktion | ||
+ | * Adresse und [[de: | ||
+ | * Datenrate von 1 oder 2 Mbit/s ("on air") | ||
+ | * [[de: | ||
+ | * Verbesserter ShockBurst ™ -Hardwareprotokollbeschleuniger, | ||
+ | * 125 auswählbare HF-Kanäle (2400,2525 MHz ISM, 1 MHz pro Kanal) | ||
+ | * Jedes Modul kann mit 6 anderen gleichzeitig kommunizieren | ||
+ | * Anwendung von Frequenzsprüngen | ||
+ | * 5V Signaleingänge | ||
+ | * Stromversorgung: | ||
+ | * Der Zugriff auf die Module erfolgt von Arduino aus über [[de: | ||
+ | |||
+ | ==== Pinbelegung der Module ==== | ||
+ | |||
+ | ^Nr^Abk.^Funktion^Beschreibung^Arduino Uno Pin| | ||
+ | |1|**Gnd**|Ground|Grund|**GND**| | ||
+ | |2|**Vcc**|Power|Stromversorgung : 3.3V (**!!**)|Mit Adaptermodul **5V** \\ Ohne Adapter **3.3V**| | ||
+ | |3|**CE**|Chip Enable|Aktivieren die SPI-Kommunikation|**D7**| | ||
+ | |4|**CSN**|Ship Select Not|Der Eingang muss auf HI eingestellt sein, \\ sonst wird es die SPI-Kommunikation deaktiviert|**D8**| | ||
+ | |5|**SCK**|Serial Clock|Die für den SPI erforderliche Taktsignal|**D13**| | ||
+ | |6|**MOSI**|Master Out Slave In|PIN zum Empfangen von Daten|**D11**| | ||
+ | |7|**MISO**|Master In Slave Out|PIN zum Senden zu Daten|**D12**| | ||
+ | |8|**IRQ**|Interrupt|(optional) Interrupt Pin, " | ||
+ | |||
+ | ===== Verschiedene NRF24 IC Typen ===== | ||
+ | ^ Modul Id ^ Modul (oben) ^ Modul (unten) ^ Modul IC^Bemerkung | | ||
+ | |0830AE|{{: | ||
+ | |1405FJ|{{: | ||
+ | |1242AF|{{: | ||
+ | |1408AF|{{: | ||
+ | |1322DQ|{{: | ||
+ | |1331AF|{{: | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | ===== NRF24L01 + PA + LNA modul (8 pin) ===== | ||
+ | Zusätzlich zum IC-Integrationspanel enthält das Modul auch einen Leistungsverstärker (LNA) und eine Antenne (PA). Kann also relativ über größere Entfernungen angewendet werden. | ||
+ | |||
+ | * Bei einer Datenrate von 250 Kb kann die Übertragungsentfernung bis zu 1100 Meter betragen | ||
+ | * Bei einer Datenübertragungsrate von 1 MB kann die Übertragungsentfernung bis zu 750 Meter betragen | ||
+ | |||
+ | ===== nRF24L01 + SI24R1 receiver modul (8 pin) ===== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Dieses Modul integriert sich auch die Antenne auf der Leiterplatte, | ||
+ | |||
+ | Standardmäßig gibt der SI24R1 ungefähr 2 ~ 3dBm Ausgangsleistung aus. Durch Setzen des niedrigsten Bitwerts von Register 0x06 (RF_SETUP) auf 1 kann dieser Wert auf 7 dBm erhöht werden. | ||
+ | |||
+ | ===== nRF24L01B (10 pin) ===== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Die Modulverkabelung unterscheidet sich von den anderen. Es hat 10 Pins anstelle von 8, 2 gnd und 2 Vcc anstelle von jeweils einem. Herkömmliche Adaptermodule sind dafür nicht nutzbar! | ||
+ | ===== nRF24L01 - Arduino Nano-Verdrahtung ===== | ||
+ | {{: | ||
+ | |||
+ | **Arduino Uno/Nano - nRF24L01** | ||
+ | |||
+ | 3,3V - Vcc \\ | ||
+ | GND - GND \\ | ||
+ | D13 - SCK \\ | ||
+ | D12 - MISO \\ | ||
+ | D11 - MOSI \\ | ||
+ | D10 - CSN \\ | ||
+ | D9 - CE \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | {{ : | ||
+ | ===== nRF24L01 + Adaptermodul YL-105 ===== | ||
+ | en: Socket Adapter Module Board For 8 Pin NRF24L01+ Wireless Transceiver \\ | ||
+ | |||
+ | Dieses Schnittstellenmodul löst das 3,3lV / 5 V-Schnittstellenproblem, | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== nRF24L01 szoftver ===== | ||
+ | https:// | ||
+ | |||
+ | |||
+ | ==== nRF24L01 Testprogram ==== | ||
+ | Ich habe den Originalcode mit 2 LEDs ergänzt. Diese zeigen an, wann das Modul sendet oder empfängt. Die LEDs müssen mit einem 100-Ohm-Widerstand an Pin 9 und das Ende an GND angeschlossen werden. | ||
+ | |||
+ | === nRF24L01 Send === | ||
+ | <code c> | ||
+ | /* | ||
+ | * Arduino Wireless Communication Tutorial | ||
+ | * | ||
+ | * | ||
+ | * by Dejan Nedelkovski, | ||
+ | * | ||
+ | * Library: TMRh20/ | ||
+ | */ | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | RF24 radio(7, 8); // CE, CSN | ||
+ | const byte address[6] = " | ||
+ | void setup() { | ||
+ | pinMode(9, OUTPUT); | ||
+ | radio.begin(); | ||
+ | radio.openWritingPipe(address); | ||
+ | radio.setPALevel(RF24_PA_MIN); | ||
+ | radio.stopListening(); | ||
+ | } | ||
+ | void loop() { | ||
+ | digitalWrite(9, | ||
+ | const char text[] = "Hello World"; | ||
+ | radio.write(& | ||
+ | delay(20); | ||
+ | digitalWrite(9, | ||
+ | delay(1000); | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | === nRF24L01 Receive === | ||
+ | <code c> | ||
+ | /* | ||
+ | * Arduino Wireless Communication Tutorial | ||
+ | * | ||
+ | * | ||
+ | * by Dejan Nedelkovski, | ||
+ | * | ||
+ | * Library: TMRh20/ | ||
+ | */ | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | RF24 radio(7, 8); // CE, CSN | ||
+ | const byte address[6] = " | ||
+ | void setup() { | ||
+ | Serial.begin(9600); | ||
+ | pinMode(9, OUTPUT); | ||
+ | radio.begin(); | ||
+ | radio.openReadingPipe(0, | ||
+ | radio.setPALevel(RF24_PA_MIN); | ||
+ | radio.startListening(); | ||
+ | } | ||
+ | void loop() { | ||
+ | digitalWrite(9, | ||
+ | if (radio.available()) { | ||
+ | char text[32] = ""; | ||
+ | radio.read(& | ||
+ | Serial.println(text); | ||
+ | digitalWrite(9, | ||
+ | delay(20); | ||
+ | } | ||
+ | } | ||
+ | </ |