Sari la conținut
ELFORUM - Forumul electronistilor

Debugging program Arduino


nimeni_altci

Postări Recomandate

Salut, Am atasat mai jos programele care le folosesc sa aprind un led cu doua NRF24 si doua Arduino. Treaba e simpla. Cand pun unul din pini la 5v pe placa de TX, atunci pe cea de RX se aprinde  un led( teoretic cand in serial monitor apare 111 ledul trebuie sa fie aprins; cand apare "No radio available" ledul trebuie sa fie stins). Problema mea e ca atunci cand fac asta cam in distante de pana in 10-20m, totul e ok, bag firul de la acel pin la 5v si ledul se aprinde. Cand il scot se stinge. Dar cand maresc distanta, bag firul, ledul se aprinde, iar cand il scot ramane aprins, cu toate ca in serial monitor apare:"No radio available". De ce e ledul inca aprins, daca nu vede radio, adica daca nu primeste nimic? Si de ce asta se intampla doar la distantele mari? As mai fi curios si care este scopul acelor "delay" din program. Multumesc!

RX.txt

TX.txt

Editat de nimeni_altci
Link spre comentariu

iar cand il scot ramane aprins, cu toate ca in serial monitor apare:"No radio available". De ce e ledul inca aprins, daca nu vede radio,

Probabil pentru ca pierde semnalul cu LED-ul aprins si in ramura cu "n-am signal" (ultimul else) nu-l mai stinge. Daca vrei sa-l stinga, trebuie modificat din:

  } else {    Serial.println("No radio available");  } //if (radio.available())

in

  } else {    digitalWrite(LED1, LOW);    Serial.println("No radio available");  } //if (radio.available())
Link spre comentariu

Multumesc inca odata, a mers programul cu modificarea. Am citit undeva ca daca modific payloadul( daca il scad) va creste distanta de transmisie. Payloadul default e 32(ca in programele de mai sus). Dar daca il setez la 8, nu mai transmite nimic. Ce reprezinta acest payload, si de ce nu transmite nimic daca il setez pe 8? Multumesc.

Link spre comentariu

Am deschis alt topic pentru ca aici era vorba de o chestie de programare. In carte spune cum se configureaza si specificatii tehnice, si doar pentru chip. Intrebarea mea se referea la payload, ce reprezinta si de ce nu mai poate trimite acel string de 3 caractere("111") cand e setat de la 32 la 8.

Link spre comentariu

 

With static payload length all packets between a transmitter and a receiver have the same length. Static payload length is set by the RX_PW_Px registers on the receiver side. The payload length on the transmitter side is set by the number of bytes clocked into the TX_FIFO and must equal the value in the RX_PW_Px register on the receiver side.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări