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 :
Receptor:
Código :
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");
}
}
#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);
}
}
#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);
}
}