Witam, potrzebuję pomocy z kodem , arduina nie komunikują się ze sobą,nie mogę znaleźć błędu a próbuję to ogarnąć już 2 dzień. Moduły są na 100% sprawne,korzystam z osobnego zasilania,przeczytałem że arduino ma problemy z zasileniem nadajnika,dla pewności odbiornik też jest na osobnym zasilaniu.Używam arduino uno.
kod nadajnika:
wynik z serial nadajnika
kod odbiornika:
wynik z serial odbiornika
kiedyś już napisałem działający program,teraz próbowałem go przerobić i się zakopałem a poprzedniej wersji programu już nie mam-moja głupota niestety,chodzi mi o tylko o to żeby odebrać te same liczby co wysyłam,bo odbieram same 0. Będę bardzo wdzięczny za jakiekolwiek wskazówki
Edit: usunąłem mapowanie w odbiorniku aby program i otrzymane wyniki były bardziej przejrzyste
kod nadajnika:
Kod:
#include "RF24.h"
#include "printf.h"
#include <SPI.h>
RF24 radio(9,10);
int potst = A5;
int potn = A1;
byte addresses[][6] = {"1Node","2Node"};
struct dataStruct {
int st;
int sn;
bool switchOn;
} mojeDane;
void setup() {
Serial.begin(115200);
radio.begin();
radio.setChannel(108);
radio.setDataRate(RF24_250KBPS);
radio.setPALevel(RF24_PA_LOW);
radio.openWritingPipe(addresses[0]);
printf_begin();
radio.printDetails();
radio.startListening();
delay(100);
radio.stopListening();
}
void loop() {
mojeDane.st = analogRead(potst);
mojeDane.sn = analogRead(potn);
delay(1);
radio.write( &mojeDane, sizeof(mojeDane) );
Serial.print(mojeDane.st);
Serial.print(" ");
Serial.println(mojeDane.sn);
delay(10);
}
kod odbiornika:
Kod:
#include "RF24.h"
#include "printf.h"
#include <SPI.h>
#include <Servo.h>
RF24 radio(9,10);
Servo servol;
Servo servop;
byte addresses[][6] = {"1Node","2Node"};
struct dataStruct {
int st;
int sn;
bool switchOn;
} mojeDane;
void setup() {
Serial.begin(115200);
servop.attach(10);
servol.attach(9);
radio.begin();
radio.setChannel(108);
radio.setDataRate(RF24_250KBPS);
radio.setPALevel(RF24_PA_LOW);
radio.openReadingPipe(1, addresses[0]);
printf_begin();
radio.printDetails();
radio.startListening();
}
void loop() {
digitalWrite(7,HIGH);
if ( radio.available() )
{
radio.read( &mojeDane, sizeof(mojeDane) );
delay(1);
}
int pozServol = mojeDane.st;
int naped = mojeDane.sn;
Serial.print(pozServol);
Serial.print(" ");
Serial.println(naped);
}
wynik z serial odbiornika
kiedyś już napisałem działający program,teraz próbowałem go przerobić i się zakopałem a poprzedniej wersji programu już nie mam-moja głupota niestety,chodzi mi o tylko o to żeby odebrać te same liczby co wysyłam,bo odbieram same 0. Będę bardzo wdzięczny za jakiekolwiek wskazówki
Edit: usunąłem mapowanie w odbiorniku aby program i otrzymane wyniki były bardziej przejrzyste