Verzia 1 sa neosvedčila, lebo čínske TX/RX moduly fungujú spoľahlivo len na pár metrov. Možno som len mal šťastie na nekvalitnejšie kúsky, preto som zobral iné, založené na NRF24L01+, s cenovkou cca 0.75 USD.Nevýhodou je možno potreba použiť viac dátových pinov, výhodou zase voľné pásmo 2.4 GHz a úsporné režimy. Tu je najjednoduchší funkčný príklad vysielača a prijímača. Zapojenie je jednoduché, klasika SPI (MISO, MOSI, SCK, CS) a CE ako bonus. Napájanie je 3.3V, SPI piny sú našťastie 5V tolerantné.
Vysielač
#include <nRF24L01.h> #include <RF24.h> #include <RF24_config.h> #include <SPI.h> int msg[1]; RF24 radio(9,10); const uint64_t pipe = 0xE8E8F0F0E1LL; void setup(void){ Serial.begin(9600); radio.begin(); radio.openWritingPipe(pipe);} void loop(void){ for (int x=0;x<255;x++){ msg[0] = x; radio.write(msg, 1); delay(500); } }
Prijímač
#include <nRF24L01.h> #include <RF24.h> #include <RF24_config.h> #include <SPI.h> int msg[1]; RF24 radio(9,10); const uint64_t pipe = 0xE8E8F0F0E1LL; int lastmsg = 1; void setup(void){ Serial.begin(9600); radio.begin(); radio.openReadingPipe(1,pipe); radio.startListening(); } void loop(void){ while(radio.available()){ radio.read(msg, 2); lastmsg = msg[0]; Serial.println(msg[0]); } }
Pre použitie na spomínaný bezdrôtový snímač k alarmu ale treba zvážiť aj nejaké kódovanie a tamper ako v pôvodnom článku.
Pridaj komentár