In functie de limba de prezentare aleasa anterior, la pornire sunt informatii despre sistem, dupa care ledul rosu se aprinde scurt, repetitiv, iar pe ecran apare mesajul "STOP!"
Daca se apasa scurt butonul de pe encoder, sistemul intra in modul de functionare normal, incepand cu o binemeritata pauza:
iar daca se apasa lung pana apare o steluta pe ecran
se va intra in modul de configurare parametrii.
Prima data se poate alegere limba de comunicare:
rotim de encoder si apoi se apasa pe butonul encoderului, pentru selectie, intrand in modul de deplasare:
se poate alege intre normal si invers, apoi se apasa butonul, pentru trecere la reglajul timpului de pauza intre schimbarile de sens:
Valorile permise sunt intre 2 si 30 secunde, uzual folosesc valoarea de 4, dar poza era cand alesesem 20 secunde. Dupa alegerea timpului de pauza, se apasa butonul pentru trecerea la alegerea vitezei maxime
Viteza maxima se poate regla intre 200 si 255 (255 reprezinta 100%), dupa ce se apasa pe buton, se ajunge la reglajul vitezei minime
intre 25 si 150, valoarea tipica pentru miscare locomotiva, din experienta e 105... 25 este utila mai mult pentru lumina ledurilor din prezentare.
Dupa apasarea butonului de pe encoder, se ajunge la pasul de modificare al vitezei, valorile se pot alege intre 2 si 20, tipic ar fi 5.
La apasarea butonului de pe encoder se ajunge la pasul de inceput, cand apare mesajul STOP!
Daca se apasa scurt butonul, apare mesajul de pauza, perioada fiind cea aleasa in meniu
viteza incepe sa creasca pana la maximul ales (in cazul de fata 78%)
pana se activeaza senzorul corespunzator (ales din meniu astfel incat la deplasarea spre fata sa se activeze senzorul din fata, respectiv la deplasarea in spate sa fie activat senzorul din spate)
se intra in pauza
dupa care viteza creste la maxim ( valoare indicata de semnul dublu)
dupa care la activarea senzorului de capat se ajunge la franare, pauza, etc.
Directia de deplasare se regleaza pentru a avea sensul de deplasare ca cel de pe afisaj, astfel, daca deplasarea se face spre stanga si pe ecran e inspre dreapta (ledul este rosu, deci locomotiva se deplaseaza invers)
acelasi lucru este daca avem cazul asa
vom schimba directia din setari (daca e 1 acum punem 0 si daca e 0 punem 1) si vom avea
si, respectiv
Va recomand sa vizionati filmuletele urmatoare, ce prezinta exact pasii descrisi mai sus:
am pregatit o schema ce include un encoder si un afisaj conectat pe i2c (alfanumeric 1602/2004 sau unul grafic OLED). De asemeena, am conectat si partea a 2-a a driver-ului L298, pentru o ulterioara aplicatie.
In prima faza, am modificat programul folosit anterior pentru a muta pinul de comanda PWM de la D3 la D12 pentru controlul puntii H care e conectata la sina de rulare. Apoi am "activat" butonul fara retinere din encoder, pentru a-l folosi la pornirea sistemului si la o noua apasare sa opresca sistemul, avand si o functie de oprire rapida (franarea este mult mai rapida,fata de cazul normal).
Dupa incarcarea programului controlled_model_train_2b.ino, la alimentarea sistemului, ledul rosu (cel ce indica, de obicei, ca s-a activat senzorul de proximitate cu infrarosu corespunzator deplasarii) se aprinde periodic scurt (ca ledurile de la antenele GSM/TV, stroboscopic), iar sina de alimentare nu este alimentata. Pe afisaj apare mesajul STOP!.
Dupa ce se apasa butonul de pe encoder, pe ecran apare mesajul Pauza! si dupa cateva secunde (4 acum) incepe sa creasca viteza de la 40% pana la 100%. Este aprins ledul de directie, sa zicem DIR1 si ledul alb cel de PWM corespunzator vitezei.
Cand senzorul de la capatul de linie este activat se aprinde ledul rosu si apare pe acran mesajul "Frana!" si viteza incepe sa descreasca lent de al 100% la 40%, apoi brusc la 0%.
Apare, pe ecran, iar "pauza" de 4 minute si apoi se aprinde ledul DIR2 si cel de PWM, dupa ce locomotiva se deplaseaza si esteactivat celalalt senzor, viteza scade, locomotiva se opreste, asteapta un pic (4 secunde) apoi accelereaza si se deplaseaza spre capatul celalalt apoi se opreste cand este activat primul senzor, s.a.m.d.
Am facut 2 filmulete in care se vede modul de funtionare:
Deoarece partea utila a sinei de rulare este relativ scurta, am redus valoarea tensiunii de alimentare a puntii H cu L298 la 6,5V, astfel ca pe sina, la PWM maxim ajung 4,8V sau -4,8V (depinde de sensul de comanda), deci este o "pierdere" pe tranzistorii din puntea H de 1,7V.
Am pregatit o versiune de cablaj pentru a elimina breadboardul si conexiunile proaste
Am adaptat si versiunea cu indicatii in engleza (de fapt se poate selecta limba: 0 - engleza si 1 - romana), programul fiind controlled_model_train_2d.ino
Indicatii deplasare cu viteza maxima, in fata (led bilocolor aprins alb) si in spate (led biolor aprins rosu):