Különbségek
A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
Előző változat mindkét oldalon Előző változat Következő változat | Előző változat | ||
hu:arduino:nrf24 [2020/03/22 22:56] Sandor Vamos [A modulok pin kiosztása] |
hu:arduino:nrf24 [2020/03/23 20:02] (aktuális) Sandor Vamos |
||
---|---|---|---|
Sor 1: | Sor 1: | ||
+ | ~~META: | ||
+ | keyword = nrf24l01, nrf24, magyar, arduino | ||
+ | ~~ | ||
+ | |||
====== nRF24L01 ====== | ====== nRF24L01 ====== | ||
Sor 31: | Sor 35: | ||
|7|**MISO**|Master In Slave Out|Adatok küldésére szolgáló pin|**D12**| | |7|**MISO**|Master In Slave Out|Adatok küldésére szolgáló pin|**D12**| | ||
|8|IRQ|Interrupt|(opcionális) interrupt pin, "LO" aktív|**-**, nem kell bekötni| | |8|IRQ|Interrupt|(opcionális) interrupt pin, "LO" aktív|**-**, nem kell bekötni| | ||
+ | |||
+ | ===== Az NRF24 IC-k típusai ===== | ||
+ | ^ Modul Id ^ Modul (felülről) ^ Modul (alulról) ^ Modul IC^megjegyzés | | ||
+ | |0830AE|{{:hu:arduino:0830ae_1.jpg?250|}}|{{:hu:arduino:0830ae_2.jpg?250|}}|{{:hu:arduino:0830ae_3.jpg?90|}}|-| | ||
+ | |1405FJ|{{:hu:arduino:1405fj_1.jpg?250|}}|{{:hu:arduino:1405fj_2.jpg?250|}}|{{:hu:arduino:1405fj_3.jpg?90|}}|-| | ||
+ | |1242AF|{{:hu:arduino:1242af_1.jpg?250|}}|{{:hu:arduino:1242af_2.jpg?250|}}|{{:hu:arduino:1242af_3.jpg?90|}}|-| | ||
+ | |1408AF|{{:hu:arduino:1408af_1.jpg?250|}}|{{:hu:arduino:1408af_2.jpg?250|}}|{{:hu:arduino:1408af_3.jpg?90|}}|-| | ||
+ | |1322DQ|{{:hu:arduino:1322dq_1.jpg?250|}}|{{:hu:arduino:1322dq_2.jpg?250|}}|{{:hu:arduino:1322dq_3.jpg?90|}}|-| | ||
+ | |1331AF|{{:hu:arduino:1331af_1.jpg?250|}}|{{:hu:arduino:1331af_2.jpg?250|}}|{{:hu:arduino:1331af_3.jpg?90|}}|-| | ||
{{ :wiki:arduino:nrf24l01_01.png?160|nRF24L01}} | {{ :wiki:arduino:nrf24l01_01.png?160|nRF24L01}} | ||
- | ===== NRF24L01 + PA + LNA modul ===== | + | ===== NRF24L01 + PA + LNA modul (8 pin) ===== |
A modul az IC-t integráló panelon kívül egy [[hu:main:dict#lna|LNA]]-t, teljesítményerősítőt ([[hu:main:dict#pa|PA]]) és egy antennát is tartalmaz, ezáltal viszonylag nagyobb távolságra is alkalmazható. | A modul az IC-t integráló panelon kívül egy [[hu:main:dict#lna|LNA]]-t, teljesítményerősítőt ([[hu:main:dict#pa|PA]]) és egy antennát is tartalmaz, ezáltal viszonylag nagyobb távolságra is alkalmazható. | ||
Sor 39: | Sor 52: | ||
* 1 Mb adatátviteli sebesség mellett az átviteli távolság akár 750 méter is lehet | * 1 Mb adatátviteli sebesség mellett az átviteli távolság akár 750 méter is lehet | ||
- | ===== nRF24L01 + SI24R1 receiver modul ===== | + | ===== nRF24L01 + SI24R1 receiver modul (8 pin) ===== |
{{:wiki:arduino:nrf24l01_03.png?300|nRF24L01 + SI24R1 receiver modul}} | {{:wiki:arduino:nrf24l01_03.png?300|nRF24L01 + SI24R1 receiver modul}} | ||
Sor 47: | Sor 60: | ||
Az alapértelmezett beállítások szerint az SI24R1 nagyjából 2 ~ 3dBm kimeneti teljesítményt ad le. A 0x06 (RF_SETUP) regiszter legalacsonyabb bitértékének az 1-re állításával ez az érték 7dBm-re emelhető. | Az alapértelmezett beállítások szerint az SI24R1 nagyjából 2 ~ 3dBm kimeneti teljesítményt ad le. A 0x06 (RF_SETUP) regiszter legalacsonyabb bitértékének az 1-re állításával ez az érték 7dBm-re emelhető. | ||
+ | ===== nRF24L01B (10 pin) ===== | ||
+ | |||
+ | {{:hu:arduino:nrf24l01b.jpg?400|nRF24L01B (10 pin)}} | ||
+ | |||
+ | A modul vezetékezése eltér a többitől. Ennek 10 csatlakozója van, 2 Vcc-vel és 2 GND-vel. A többi modulnál használt adapterek (pl. YL-105) itt nem alkalmazhatók ! | ||
===== nRF24L01 - Arduino Nano vezetékezés ===== | ===== nRF24L01 - Arduino Nano vezetékezés ===== | ||
Sor 66: | Sor 84: | ||
\\ | \\ | ||
\\ | \\ | ||
- | {{ :wiki:arduino:nrf24l01_illeszto.png?180|nRF24L01 + (alapmodul) illesztőmodul}} | + | {{ :wiki:arduino:nrf24l01_illeszto.png?180|nRF24L01 + (alapmodul) YL-105 illesztőmodul}} |
- | ===== nRF24L01 + (alapmodul) illesztőmodul ===== | + | ===== nRF24L01 + (alapmodul) illesztőmodul YL-105 ===== |
en: Socket Adapter Module Board For 8 Pin NRF24L01+ Wireless Transceiver \\ | en: Socket Adapter Module Board For 8 Pin NRF24L01+ Wireless Transceiver \\ | ||
Sor 73: | Sor 91: | ||
{{:wiki:arduino:nrf24_interface_foto.jpg|nRF24L01 + (alapmodul) illesztőmodul}} | {{:wiki:arduino:nrf24_interface_foto.jpg|nRF24L01 + (alapmodul) illesztőmodul}} | ||
- | |||
- | |||
- | |||
- | |||
===== nRF24L01 szoftver ===== | ===== nRF24L01 szoftver ===== | ||
https://github.com/nRF24/RF24 | https://github.com/nRF24/RF24 | ||
+ | ==== nRF24L01 tesztprogram ==== | ||
+ | |||
+ | Az eredeti kódot kiegészítettem 2 LED-del. Ezek jelzik, mikor küld vagy fogad a modul. A LED-eket a 9-es pinre kell kötni, egy 100 ohmos ellenállással, a végét a GND-re. | ||
+ | === nRF24L01 küldés === | ||
+ | <code c> | ||
+ | /* | ||
+ | * Arduino Wireless Communication Tutorial | ||
+ | * Example 1 - Transmitter Code | ||
+ | * | ||
+ | * by Dejan Nedelkovski, www.HowToMechatronics.com | ||
+ | * | ||
+ | * Library: TMRh20/RF24, https://github.com/tmrh20/RF24/ | ||
+ | */ | ||
+ | #include <SPI.h> | ||
+ | #include <nRF24L01.h> | ||
+ | #include <RF24.h> | ||
+ | RF24 radio(7, 8); // CE, CSN | ||
+ | const byte address[6] = "00001"; | ||
+ | void setup() { | ||
+ | pinMode(9, OUTPUT); | ||
+ | radio.begin(); | ||
+ | radio.openWritingPipe(address); | ||
+ | radio.setPALevel(RF24_PA_MIN); | ||
+ | radio.stopListening(); | ||
+ | } | ||
+ | void loop() { | ||
+ | digitalWrite(9, HIGH); | ||
+ | const char text[] = "Hello World"; | ||
+ | radio.write(&text, sizeof(text)); | ||
+ | delay(20); | ||
+ | digitalWrite(9, LOW); | ||
+ | delay(1000); | ||
+ | } | ||
+ | </code> | ||
+ | === nRF24L01 fogadás === | ||
+ | <code c> | ||
+ | /* | ||
+ | * Arduino Wireless Communication Tutorial | ||
+ | * Example 1 - Receiver Code | ||
+ | * | ||
+ | * by Dejan Nedelkovski, www.HowToMechatronics.com | ||
+ | * | ||
+ | * Library: TMRh20/RF24, https://github.com/tmrh20/RF24/ | ||
+ | */ | ||
+ | #include <SPI.h> | ||
+ | #include <nRF24L01.h> | ||
+ | #include <RF24.h> | ||
+ | RF24 radio(7, 8); // CE, CSN | ||
+ | const byte address[6] = "00001"; | ||
+ | void setup() { | ||
+ | Serial.begin(9600); | ||
+ | pinMode(9, OUTPUT); | ||
+ | radio.begin(); | ||
+ | radio.openReadingPipe(0, address); | ||
+ | radio.setPALevel(RF24_PA_MIN); | ||
+ | radio.startListening(); | ||
+ | } | ||
+ | void loop() { | ||
+ | digitalWrite(9, LOW); | ||
+ | if (radio.available()) { | ||
+ | char text[32] = ""; | ||
+ | radio.read(&text, sizeof(text)); | ||
+ | Serial.println(text); | ||
+ | digitalWrite(9, HIGH); | ||
+ | delay(20); | ||
+ | } | ||
+ | } | ||
+ | </code> |