OvidiuDorin Postat Aprilie 7, 2019 Autor Partajează Postat Aprilie 7, 2019 Daca il declar sus imi arata eroare pe el Link spre comentariu
Liviu M Postat Aprilie 7, 2019 Partajează Postat Aprilie 7, 2019 E normal, ai declarat counter de doo ori, o data ca boolean, a doua ca int. Link spre comentariu
OvidiuDorin Postat Aprilie 7, 2019 Autor Partajează Postat Aprilie 7, 2019 Ai dreptate, nu mai am erori in program, compileaza, dar pe iesire nu mai am nimic Link spre comentariu
mihaicozac Postat Aprilie 7, 2019 Partajează Postat Aprilie 7, 2019 E greşeala mea, la condiţia min (counter, 0) trebuie de fapt max (counter, 0). Ideea e să nu ajungă variabila la valori negative la decrementare. Link spre comentariu
OvidiuDorin Postat Aprilie 7, 2019 Autor Partajează Postat Aprilie 7, 2019 (editat) Tot nimic pe iesire, am incercat si diferite combinatii a pinilor de iesire Editat Aprilie 7, 2019 de OvidiuDorin Link spre comentariu
mihaicozac Postat Aprilie 7, 2019 Partajează Postat Aprilie 7, 2019 Schimbă pinul de ieşire, să nu fie tot 5, că ăla e ieşire de impuls scurt. Dacă adaugi încă un pin trebuie declarat în setup ca pin de ieşire cu pinMode, ca şi ceilalţi. Link spre comentariu
OvidiuDorin Postat Aprilie 7, 2019 Autor Partajează Postat Aprilie 7, 2019 Am incercat si varianta asta, tot nimic pe iesire Link spre comentariu
Liviu M Postat Aprilie 7, 2019 Partajează Postat Aprilie 7, 2019 Chiar folosesti encoder pentru citit discul? De ce nu incerci cu o bioiblioteca dedicata? Eventual una care sa foloseasc intreruperi? Link spre comentariu
mihaicozac Postat Aprilie 7, 2019 Partajează Postat Aprilie 7, 2019 Hmm, dubios... Mută ultima linie last = actual peste counter--, sub acolada aia Şi poţi declara pinul 13 ca ieşire, aşa vezi direct pe led starea ei. Link spre comentariu
Liviu M Postat Aprilie 7, 2019 Partajează Postat Aprilie 7, 2019 (editat) Daca initializezi counter cu 0 si dupa aia il decrementezi, trebuie sa numere pana la -32768, ca sa se intample ceva e iesire. Initializeaza-l cu 10 si o sa modifice o data. LE Ba mai rau, ramane 0 din cauza de max. Editat Aprilie 7, 2019 de Liviu M Link spre comentariu
mihaicozac Postat Aprilie 7, 2019 Partajează Postat Aprilie 7, 2019 (editat) Păi n-ar trebui să se încarce la prima rotire de encoder? Condiţia max() îl împiedică să ajungă în negativ Editat Aprilie 7, 2019 de mihaicozac Link spre comentariu
OvidiuDorin Postat Aprilie 7, 2019 Autor Partajează Postat Aprilie 7, 2019 mihaicozac - am facut mutarea, pe iesire tot zero. Liviu M - am incercat si cu "int counter = 10;", tot nimic pe iesire. Link spre comentariu
Liviu M Postat Aprilie 7, 2019 Partajează Postat Aprilie 7, 2019 (editat) Cred ca e mai simplu - bucla dureaza prea putin ca sa se vada ceva - la inceputul buclei face de fiecare data 5 & 6 low. Muta cel putin primul digitalWrite(5, LOW) din loop in setup si ar trebui sa vezi ceva pe pinul 5. Si pune paranteze in jurul conditiiler din if(!last..., ca s-ar pute sa nu o evalueze cum te astepti tu. Editat Aprilie 7, 2019 de Liviu M Link spre comentariu
OvidiuDorin Postat Aprilie 7, 2019 Autor Partajează Postat Aprilie 7, 2019 Tot nimic pe iesire Link spre comentariu
Liviu M Postat Aprilie 7, 2019 Partajează Postat Aprilie 7, 2019 Ups, m-am uitat la schema gresita, ultima se joaca cu pinul 7, 5 nu mai are nici o treaba. Lasa te rog pe "osciloscop" numai iesirea 7 si adauga a doua intrare de encoder. Si fa un zoom, sa se vada formele de unda. 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