Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 11336

Arduino nrf24l01 Ajuda a enviar e receber dados

$
0
0
Boa noite,
estou a começar a entrar no mundo da programação do arduino e estou a criar um pequeno código(a partir de um código feito por um amigo meu) que faz o seguinte: escrevo uma letra no serial monitor do transmissor, o receptor recebe e confirma se a letra é igual a 97(valor bytes da tecla A) e mostra uma confirmação. --> esta parte toda está feita e a funcionar. O que eu queria é que depois do receptor mostrar a confirmação o transmissor recebesse essa confirmação e efectuasse uma acção. --> esta segunda parte não estou a conseguir. Podiam-me ajudar? dar umas luzes XD

p.s no receptor se tirar tudo o que esteja a relacionado com a variavel data o programa do receptor deixa de funcionar. Any clues?

Obrigado

Transmissor:
Código :
#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>
void setup(){
Serial.begin(9600);
Mirf.spi = &MirfHardwareSpi;
Mirf.init();
Mirf.setRADDR((byte *)"clie1");
Mirf.setTADDR((byte *)"serv1");
Mirf.channel= 2;
Mirf.payload = 16;
Mirf.config();
}
void loop(){
byte testetransmissor;
while(Mirf.isSending()){
}

if (Serial.available()){
testetransmissor = Serial.read();
delay(500);
Mirf.send((byte *) &testetransmissor);
Serial.print("O valor: ");
Serial.print(testetransmissor);
Serial.println(" foi enviado");
}
}

Receptor:
Código :
#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>

byte testetransmissor;
int data[8]={0} ;
int codigo = 97;

void setup(){
Serial.begin(9600);
Mirf.spi = &MirfHardwareSpi;
Mirf.init();
Mirf.setRADDR((byte *)"serv1");

Mirf.channel = 2;
Mirf.payload = 16;
Mirf.config();
}

void loop(){

delay(30);
while(!Mirf.dataReady()){
}

Mirf.getData((byte *) &testetransmissor);
Mirf.getData((byte *) &data);

Serial.print("A variavel teste tem o valor:");
Serial.print(testetransmissor);
Serial.println(" ");
Serial.print("A variavel data tem o valor:");
Serial.print(data[0]);
Serial.println(" ");
if ( testetransmissor == codigo){
Serial.println("Funcionou");
}
else{
Serial.println("nao funcionou);
}
}

Viewing all articles
Browse latest Browse all 11336

Trending Articles