• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
komunikacja nrf 24l01
#1
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:
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);
}
wynik z serial nadajnika
   

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
 
Odpowiedź
  


Wiadomości w tym wątku
komunikacja nrf 24l01 - przez kasilos - 30-07-2019, 12:26
RE: komunikacja nrf 24l01 - przez kaczakat - 30-07-2019, 15:33
RE: komunikacja nrf 24l01 - przez kasilos - 30-07-2019, 18:32
RE: komunikacja nrf 24l01 - przez kaczakat - 31-07-2019, 21:41
RE: komunikacja nrf 24l01 - przez kasilos - 01-08-2019, 18:32
RE: komunikacja nrf 24l01 - przez kaczakat - 02-08-2019, 10:20
RE: komunikacja nrf 24l01 - przez kasilos - 02-08-2019, 13:22

Skocz do:


Przeglądający: 1 gości