This shows you the differences between two versions of the page.
pm:prj2023:ndrogeanu:carwipers [2023/05/28 22:52] alexandru.maxim2801 [Hardware Design] |
pm:prj2023:ndrogeanu:carwipers [2023/05/30 09:57] (current) alexandru.maxim2801 [Concluzii] |
||
---|---|---|---|
Line 31: | Line 31: | ||
- | <note tip> | + | Partea software a proiectului am realizat-o in Arduino IDE, iar codul este unul destul de straight forward. |
- | Descrierea codului aplicaţiei (firmware): | + | |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | + | |
+ | In functia de setup initializam comunicarea seriala intre placuta Arduino si calculator, atasam cele 2 servomotoare la pinurile digitale 9 si 10, configuram pinul 3 digital ca si input si de asemenea, activam rezistenta interna pull-up, iar in final, pentru a nu avea probleme cand numaram de cate ori a fost apasat butonul, cand se detecteaza o tranzitie de la semnal HIGH la semnal low, se efectueaza o intrerupere si se apeleaza functia countPress(). | ||
+ | |||
+ | In functia countPress() folosim un debounce pentru a ne asigura ca butonul nu contorizeaza mai multe apasari din greseala. Daca butonul se afla la a 5-a apasare, acesta se reseteaza la 0 si se trece la modul automat, in caz contrat, se aduna 1 la valoarea din counterButton. | ||
+ | |||
+ | In loop(), bucla principala de executie a programului se citeste starea butonului si de asemenea valoarea analogica a senzorului de ploaie. Se verifica cu ajutorul counterButton-ului daca manualMode este ON sau OFF. Daca manualMode este OFF, se selecteaza treapta de viteza a stergatoarelor in functie de valoarea lui sensorValue. La o singura apasare a butonul manualMode devine ON. In momentul in care am ajuns in modul manual, se verifica de cate ori a fost apasat butonul si se efectuaza actiuni in functie de valoarea variabilei counterButton. Astfel, la prima apasare se trece in modul manual si de asemenea la treapa 1 de viteza, la a 2-a apasare se face tranzitia catre a 2-a treapta de viteza, similar si la a 3-a apasare catre treapta a 3-a. La a 4-a apasare stergatoarele sunt oprite in mod manual, iar la a 5-a apasare se trece in modul automat. | ||
+ | |||
+ | {{:pm:prj2023:ndrogeanu:carwipersmaximalexandru.zip|}} | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | O demonstratie a proiectului se poate vedea in filmarea ce se afla in zip-ul de mai jos. |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
+ | {{:pm:prj2023:ndrogeanu:video_proiect_final.zip|}} | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Mi s-a parut un proiect interesant mai ales ca am putut sa imi aleg tema singur si am reusit sa imbin hobby-urile personale cu informatiile dobandite la laborator. | ||
===== Download ===== | ===== Download ===== |