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