Vizitator Dorin Iordache_235237 Postat Martie 2, 2016 Partajează Postat Martie 2, 2016 Salut! Am o mica problema si nu prea am idee cum sa o rezolv momentan asa ca va cer ajutorul. Am un rotary encoder folosit ca interrupt. Acesta imi incrementeaza sau decrementeaza o valoare pe care o folosesc mai apoi pentru a transmite un puls PWM. In acelasi timp citesc o valoare prin Serial.read () transmisa prin intermediul unei aplicatii android. Vreau ca valoarea din Serial sa-mi updateze valoarea encoderului dar si vice-versa ( valoarea encoderului sa imi updateze valoarea din Serial si sa o primesc in aplicatia android). Momentan daca doar egalez valoareencoder=valoareserial nu imi functionzeaza. Ce as putea face in cazul asta? Link spre comentariu
mars01 Postat Martie 3, 2016 Partajează Postat Martie 3, 2016 Posteaza programul aici si ai mai multe sanse de rapuns. Formateaza-l sa fie usor de citit si include-l in fereastra speciala pentru cod folosind butonul '<>' din bara de editare. Astfel iti cresc sansele ca cienva sa citeasca codul postat. Link spre comentariu
Vizitator Dorin Iordache_235237 Postat Martie 3, 2016 Partajează Postat Martie 3, 2016 Aici este codul. L-am atasat in format txt . Stiu ca sunt multe imbunatatiri pe care le-as putea face dar asta e doar o versiune initiala. Deci in principal sunt interesat sa am 2 variable ( valoarea setata de encoder si cea primita pe serial) iar aceste 2 variable sa se egaleze tot timpul una cu cealalalta in functie de cea care a fost schimbata. Exemplu: valoarea encoderului este 100 iar cea din serial este de 60. Daca encoderul este cel care a fost schimbat acum atunci valoarea din serial vreau sa fie egala cu 100. Daca valoarea din serial este cea care a fost schimbata acum atunci vreau ca valoarea encoderului sa fie egala cu 60. Nu e nevoie sa scrieti sectiunea asta de cod. Tot ce vreau este o idee despre cum as putea sa fac asta! Multumesc mult! code.txt Link spre comentariu
mars01 Postat Martie 3, 2016 Partajează Postat Martie 3, 2016 Fara sa ma fi uitat pe cod cred ca ar trebui sa tii minte in doua variabile, care a fost valoarea data de serial in iteratia anterioara si care a fost valoarea data de encoder in iteratia anterioara. Stabilesti care are prioritate din cele doua si compari valoarea serial din iteratia curenta cu valoarea serial din iteratia anterioara. La fel cu valoarea encoder. Daca difera atunci actualizezi valoarea PWM. Daca nu, nu faci nimic. Sa zicem ca alegi ca valoarea schimbata prin serial are prioritate. Ordinea ar fi asa: daca val_ant_serial != val_curent_serial atunci val_PWM = val_curent_serial val_ant_serial = val_curent_serial altfel daca val_ant_encoder != val_curent_encoder atunci val_PWM = val_curent_encoder val ant_encoder = val_curent_encoder Ceva de genul ... Link spre comentariu
Postări Recomandate
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 contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum