Skocz do zawartości

Problem z komunikacją nrf24l01 Arduino


Konrad123

Pomocna odpowiedź

witam mam problem z nrf24l01 nie mogę się komunikować na dosłownie wszystkim od prostych programów typu naciśnij przycisk na arduino 1 a na arduino 2 zapalisię dioda Aż po programy pokroju auta nie nie chodzi o to że jak ktoś może zrozumieć z opisu nie umiem programować ale ja umiem programować może nie świetnie ale potrafie tyle że właśnie ja nawet niewiem co jest nie tak próbiwałem wgrywać gotowce sam pisać i du*a ta dodatkowo nie wiem o co chodzi (najprawdopodobniej nrf24l01) bo inne szkice działają na tych arduinach typu miganie diodą (bez nrf24l01) nie wiem ile już wypróbowałem szkiców dotyczących nrf24l01 piętnaście? i żadne nie działa czy może ktoś wie o co chodzi możecie też dać jakiegoś gotowca ale i tak nie zadziała (at tak wogóle gratuluje że komuś to śię chce czytać bo dużo XD)

Link do komentarza
Share on other sites

13 minut temu, Konrad123 napisał:

no wiem pytanie długie

Umiemy czytać długie teksty. Problem w tym że z twojego pytania wynika tylko tyle że nie działa. Spełnij te punkty to coś wymyślimy. 

1) twój program 

2) schematy

3) zdjęcie urządzenia 

5) usunąłem czwarty i zerowy bo dostałbym bana

 

Edytowano przez _LM_
  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

ok podam gotowca z neta 

 

nadajnik

#include <SPI.h>
#include "RF24.h"

int x_axis = A1;
int y_axis = A2;
int xvalue;
int yvalue;
int data[2];

RF24 radio(9,10);
const uint64_t pipe=0xE8E8F0F0E1LL;

void setup() {
Serial.begin(9600);
radio.begin();
radio.openWritingPipe(pipe);
}

void loop() {{
xvalue=analogRead(x_axis);
xvalue=map(xvalue,0,1023,0,127);
data[0]=xvalue;
radio.write(data,1);
}
{
yvalue=analogRead(y_axis);
yvalue=map(yvalue,0,1023,128,255);
data[0]=yvalue;
radio.write(data,1);
}
Serial.println(xvalue);
Serial.println(yvalue);
}

 

odbiornik

 

#include <SPI.h>
#include "RF24.h"

const int motorforward = A1;
const int motorbackward = A2;
const int motorleft = A3;
const int motorright = A4;

int data[2];
RF24 radio(9,10); // CE,CSN:
const uint64_t pipe=0xE8E8F0F0E1LL;

void setup() {
pinMode (motorforward,OUTPUT);
pinMode (motorbackward,OUTPUT);
pinMode (motorleft,OUTPUT);
pinMode (motorright,OUTPUT);
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(1,pipe);
radio.startListening();
}

void loop() {
if(radio.available()){
  radio.read(data,1);
   if(data[0]>1 && data[0]<51){
    digitalWrite(motorforward,LOW);
    digitalWrite(motorbackward,HIGH);
  }
    if(data[0]>77 && data[0]<128){
    digitalWrite(motorforward,HIGH);
    digitalWrite(motorbackward,LOW);
  }
      if(data[0]>52 && data[0]<76){
    digitalWrite(motorforward,LOW);
    digitalWrite(motorbackward,LOW);
  }


   if(data[0]>129 && data[0]<179){
    digitalWrite(motorleft,HIGH);
    digitalWrite(motorright,LOW);
  }
    if(data[0]>205 && data[0]<255){
    digitalWrite(motorleft,LOW);
    digitalWrite(motorright,HIGH);
  }
     if(data[0]>180 && data[0]<204){
    digitalWrite(motorleft,LOW);
    digitalWrite(motorright,LOW);
  }
 }
}

 

schemat

image.thumb.png.7ac820a4f8fe3b465b4d3766a80a4445.png

(wiem że słaba jakość to podam linka https://1.bp.blogspot.com/-xulfjuLzyBo/XguHeHeoxuI/AAAAAAAAASE/sosXetKaGAkNxUiqVWo4vMWDckV1npImQCLcBGAsYHQ/s1600/14a.Joystick%2BDC%2BL298N%2Bwireless%2B1_page-0001%281%29.jpg)

ten tego zdięcia to musze robić wczoraj robiłem 4 i mi się nie chce ale tak jak na obrazku u góry wygląda

Link do komentarza
Share on other sites

Wrzuć jako ostanie w setup() (zarówno w nadajniku jak i w odbiorniku):

radio.printDetails();

i pokaż co wypisało.

Aha, taka przyjacielska rada: tu masz kilka przecinków, skopiuj sobie gdzieś i zacznij wklejać we właściwe miejsca: ,,,,,,,,,,,,, - bo jak nie będziesz wklejał to nikt Twoich postów nie będzie czytał, a nawet jak przeczyta to nie zrozumie.

 

 

Link do komentarza
Share on other sites

A pokaż co nawypisywał, bo to jest najważniejsze - w końcu pięć printów na krzyż nie sprawi że prpgram zacznie działać (no ale po co ja tłumaczę, przecież umiesz programować i sam takie rzeczy wiesz)

Link do komentarza
Share on other sites

Ja co prawda mialem te wersje z zewnetrzna atnena (te najmocniejsze) ale pewnie i tu jest ten sam problem...mianowicie filtrowanie napiecia...doloz jakis kondensator elektrolityczny do tych modulow...dla ciekawostki u mnie z pro mini zasilanym z ftdi dzialal modul, a juz z klonem uno nie...po dodaniu kondensatora komunikacja w cudowny sposob zaczela dzialac..

Edytowano przez farmaceuta
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.