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.

Összehasonlító nézet linkje

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:55]
Sandor Vamos [A modulok pin kiosztása]
hu:arduino:nrf24 [2021/06/16 20:17] (aktuális)
Sandor Vamos [nRF24L01 + SI24R1 receiver modul (8 pin)]
Sor 1: Sor 1:
 +~~META:
 +keyword ​    = nrf24l01, nrf24, magyar, arduino
 +~~
 +
 ====== nRF24L01 ====== ====== nRF24L01 ======
  
Sor 21: Sor 25:
 A modulok az Arduino felől [[hu:​comm:​bus_spi|SPI]] kommunikációval érhetők el. Bővebben erről: [[hu:​arduino:​start#​arduino_spi|Arduino SPI]]. A modulok az Arduino felől [[hu:​comm:​bus_spi|SPI]] kommunikációval érhetők el. Bővebben erről: [[hu:​arduino:​start#​arduino_spi|Arduino SPI]].
  
-==== A modulok pin kiosztása ​==== +===== Az NRF24 IC-k típusai ===== 
- +^ Modul Id ^ Modul (felülről) ^ Modul (alulról) ^ Modul IC^megjegyzés | 
-|1|Ground|Ground|Grund|Arduino pin+|0830AE|{{:​hu:​arduino:​0830ae_1.jpg?​250|}}|{{:​hu:​arduino:​0830ae_2.jpg?​250|}}|{{:​hu:​arduino:​0830ae_3.jpg?​90|}}|-
-|2|Vcc|Power|Tápfeszültség3.3V (**!!**)|Adaptermodul5V, direkt bekötés3.3V| +|1405FJ|{{:​hu:​arduino:​1405fj_1.jpg?​250|}}|{{:​hu:​arduino:1405fj_2.jpg?250|}}|{{:hu:arduino:​1405fj_3.jpg?90|}}|-| 
-|3|CE|Chip Enable|Az SPI kommunikáció engedélyezése|**D7**| +|1242AF|{{:​hu:​arduino:​1242af_1.jpg?​250|}}|{{:​hu:​arduino:​1242af_2.jpg?​250|}}|{{:​hu:​arduino:​1242af_3.jpg?​90|}}|-| 
-|4|CSN|Ship Select Not|A bemenetet HI-ra kell állítani, különben tiltja az SPI kommunikációt|**D8**+|1408AF|{{:​hu:​arduino:​1408af_1.jpg?​250|}}|{{:​hu:​arduino:​1408af_2.jpg?​250|}}|{{:​hu:​arduino:​1408af_3.jpg?​90|}}|-| 
-|5|SCK|Serial Clock|Az SPI-hez szükséges órajel|**D13**| +|1322DQ|{{:​hu:​arduino:​1322dq_1.jpg?​250|}}|{{:​hu:​arduino:​1322dq_2.jpg?​250|}}|{{:​hu:​arduino:​1322dq_3.jpg?​90|}}|-
-|6|MOSI|Master Out Slave In|Adatok fogadására szolgáló pin|**D11**| +|1331AF|{{:​hu:​arduino:​1331af_1.jpg?​250|}}|{{:​hu:​arduino:​1331af_2.jpg?​250|}}|{{:​hu:​arduino:​1331af_3.jpg?​90|}}|-|
-|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|+
  
 {{ :​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 41:
   * 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 =====+==== Pinout ==== 
 +{{:​hu:​arduino:​nrf24pinout_2.png|Pinout}} 
 + 
 +|1|**Ground**|Ground|Grund|Arduino pin| 
 +|2|**Vcc**|Power|Tápfeszültség:​ 3.3V (**!!**)|Adaptermodul:​ 5V, direkt bekötés: 3.3V| 
 +|3|**CE**|Chip Enable|Az SPI kommunikáció engedélyezése|**D7**| 
 +|4|**CSN**|Ship Select Not|A bemenetet HI-ra kell állítani, különben tiltja az SPI kommunikációt|**D8**| 
 +|5|**SCK**|Serial Clock|Az SPI-hez szükséges órajel|**D13**| 
 +|6|**MOSI**|Master Out Slave In|Adatok fogadására szolgáló pin|**D11**| 
 +|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| 
 + 
 +===== 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 61:
 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ő.
  
 +==== Pinout ====
 +{{:​hu:​arduino:​nrf24pinout_1.png|Pinout}}
 +
 +|1|**Ground**|Ground|Grund|Arduino pin|
 +|2|**Vcc**|Power|Tápfeszültség:​ 3.3V (**!!**)|Adaptermodul:​ 5V, direkt bekötés: 3.3V|
 +|3|**CE**|Chip Enable|Az SPI kommunikáció engedélyezése|**D7**|
 +|4|**CSN**|Ship Select Not|A bemenetet HI-ra kell állítani, különben tiltja az SPI kommunikációt|**D8**|
 +|5|**SCK**|Serial Clock|Az SPI-hez szükséges órajel|**D13**|
 +|6|**MOSI**|Master Out Slave In|Adatok fogadására szolgáló pin|**D11**|
 +|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|
 +===== 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 96:
 \\ \\
 \\ \\
-{{ :​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 103:
  
 {{:​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>​