#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
union Pacote{
struct Dados{
int x;
int y;
int gas;
} dados;
byte bytes[sizeof(Dados)];
};
#define TAMANHO_PACOTE sizeof(Pacote::Dados)
// Controlador
RF24 radio(9,10);
const uint64_t pipes[2] = {0xDEADBEEF01LL,0xDEADBEEF02LL}; // pipe 0 = controlador
// pipe 1 = controlado
void setup() {
// put your setup code here, to run once:
pinMode(A1,INPUT);
pinMode(A2,INPUT);
pinMode(8,OUTPUT);
digitalWrite(8,LOW);
radio.begin();
radio.setChannel(32);
radio.setDataRate(RF24_250KBPS);
radio.setPALevel (RF24_PA_MAX);
radio.setRetries(15,15);
radio.setPayloadSize(TAMANHO_PACOTE);
radio.openWritingPipe(pipes[1]);
radio.openReadingPipe(1,pipes[0]);
radio.stopListening();
}
Pacote pacote;
void loop() {
// put your main code here, to run repeatedly:
int lidoX = 1024-analogRead(A1);
int lidoY = 1024-analogRead(A2);
pacote.dados.x = lidoX;
pacote.dados.y = lidoY;
bool ok = radio.write( pacote.bytes, TAMANHO_PACOTE );
if(ok){
digitalWrite(8,LOW);
}else{
digitalWrite(8,HIGH);
};
delay(50);
}