Olá pessoal vi muito mateiral mas na pratica o meu projeto não esta funcionando.
Tenho 4 arduinos 3 Nano e 1 Uno. Com NRF24l01 LB porem ele não se comunica um com o outro !
Vou postar o código espero que me ajudem !
O TX ele parece estar funcionado normalmente, aparece dados na no serial
mas o RX não faz nada !
#include <RF24Network.h>
#include <RF24.h>
#include <SPI.h>
RF24 radio(7,8);
RF24Network network(radio);
#define THIS_NODE 00
#define INTERVAL 1000
#define TIMEOUT 500
struct message_t
{
unsigned long ms;
unsigned long counter;
};
unsigned long lastTimeSent;
byte OTHER_NODE = 01;
void setup(void)
{
Serial.begin(115200);
SPI.begin();
radio.setDataRate(RF24_250KBPS);
radio.begin();
network.begin(58, THIS_NODE);
radio.printDetails();
lastTimeSent = 0;
}
void loop()
{
network.update();
unsigned long now = millis();
if ((now - lastTimeSent) >= INTERVAL)
{
message_t message = {now, 1};
RF24NetworkHeader header(OTHER_NODE);
lastTimeSent = now;
if (network.write(header, &message, sizeof(message)))
{
while (!network.available() && ((millis() - now) < TIMEOUT))
{
network.update();
}
if ((millis() - now) < TIMEOUT)
{
while (network.available())
{
RF24NetworkHeader headerReceived;
message_t receivedMessage;
network.read(headerReceived,&receivedMessage,sizeof(receivedMessage));
Serial.print("Sent: ");
Serial.print(message.ms);
Serial.print(", received: ");
Serial.print(receivedMessage.ms);
Serial.print(", from node: ");
Serial.print(headerReceived.from_node);
Serial.print(". It took: ");
Serial.println(millis()-now);
}
}
else
{
Serial.print("TIMEOUT! Node ");
Serial.println(OTHER_NODE);
}
}
else
{
Serial.print("Falha no envio!!! Node ");
Serial.println(OTHER_NODE);
}
if (OTHER_NODE == 01) OTHER_NODE = 011;
else OTHER_NODE = 01;
}
}
#include <RF24Network.h>
#include <RF24.h>
#include <SPI.h>
RF24 radio(7,8);
RF24Network network(radio);
#define THIS_NODE 01
struct message_t
{
unsigned long ms;
unsigned long counter;
};
void setup(void)
{
Serial.begin(115200);
SPI.begin();
radio.setDataRate(RF24_250KBPS);
radio.begin();
network.begin(58, THIS_NODE);
}
void loop()
{
network.update();
while (network.available())
{
message_t receivedMessage;
RF24NetworkHeader header;
network.read(header, &receivedMessage, sizeof(receivedMessage));
Serial.print("Recebido ms: ");
Serial.print(receivedMessage.ms);
Serial.print(", from node: ");
Serial.print(header.from_node);
RF24NetworkHeader sendHeader(header.from_node);
receivedMessage.ms += 35;
if (network.write(sendHeader, &receivedMessage, sizeof(receivedMessage)))
{
Serial.println(" ... resposta enviada.");
}
else
{
Serial.println(" ... Error.");
}
}
}
Tags:
inclusive estou usando um capacitor de 100 x 16v como ja foi recomendado mas não funcionou ate agora !
Você tentou diminuir a potencia do transmissor?
Diminui sim Flavio, agradeço ai a atenção. O que acontece é que como eu sou principiante, inverti os cabos 7 e o 8 SPI. O material que o Rui me envio tinha o dataset perfeito, onde eu achei o erro ! em seguida todos os códigos funcionaram perfeitamente.
MInha duvida agora ficou em cima do seguinte:
Uma vez que o receptor esta em 250k o transmissor ele tem que estar em 1mb ou em 2mb ?
E o PALevel : tem que ser alto no transmissor e low no receptor ?
A situação é que os receptores estarão dentro dos apartamentos e tem que falar com esse receptor, por isso estou usando o esse de 1000m para que numa area de 600m² eles mantenham a comunicação !
Oi WSL, bom dia.
Parece que este link resolveu seu problema. né?
Por favor post aqui se foi, e como foi a solução.
Rui
Rui foi top resolveu o problema , era que eu inverti os cabos 7 e o 8 SPI corrigindo isso em seguida todos os códigos funcionaram perfeitamente.
MInha duvida agora ficou em cima do seguinte:
Uma vez que o receptor esta em 250k o transmissor ele tem que estar em 1mb ou em 2mb ?
E o PALevel : tem que ser alto no transmissor e low no receptor ?
A situação é que os receptores estarão dentro dos apartamentos e tem que falar com esse receptor, por isso estou usando o esse de 1000m para que numa area de 600m² eles mantenham a comunicação !
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por