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

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • 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.