This shows you the differences between two versions of the page.
pm:prj2023:ndrogeanu:carwipers [2023/05/14 18:20] alexandru.maxim2801 [Descriere generală] |
pm:prj2023:ndrogeanu:carwipers [2023/05/30 09:57] (current) alexandru.maxim2801 [Concluzii] |
||
---|---|---|---|
Line 9: | Line 9: | ||
Proiectul constă în legarea unui senzor de picături de ploaie la un Arduino UNO. Pe lângă acesta, există legate la placa 2 servomotoare care vor acționa ștergătoarele, frecvența acestora fiind determinată în funcție de valorile citite de senzor. De asemenea, există și un buton care face posibilă acționarea ștergătoarelor și manual. | Proiectul constă în legarea unui senzor de picături de ploaie la un Arduino UNO. Pe lângă acesta, există legate la placa 2 servomotoare care vor acționa ștergătoarele, frecvența acestora fiind determinată în funcție de valorile citite de senzor. De asemenea, există și un buton care face posibilă acționarea ștergătoarelor și manual. | ||
+ | |||
+ | {{:pm:prj2023:ndrogeanu:schema_bloc_carwipers.jpg?450|}} | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
- | |||
- | <note tip> | ||
- | |||
Componente: | Componente: | ||
Line 24: | Line 23: | ||
*Breadboard x1 | *Breadboard x1 | ||
*Fire de legatura | *Fire de legatura | ||
+ | {{:pm:prj2023:ndrogeanu:schema_tinkercad_wipers.jpg?400|}} | ||
+ | {{:pm:prj2023:ndrogeanu:poza_wipers1.jpg?400|}} | ||
+ | {{:pm:prj2023:ndrogeanu:poza_wipers2.jpg?400|}} | ||
+ | {{:pm:prj2023:ndrogeanu:poza_wipers3.jpg?400|}} | ||
+ | {{:pm:prj2023:ndrogeanu:poza_wipers4.jpg?400|}} | ||
+ | ===== Software Design ===== | ||
- | </note> | + | Partea software a proiectului am realizat-o in Arduino IDE, iar codul este unul destul de straight forward. |
- | ===== Software Design ===== | + | 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. | ||
- | <note tip> | + | 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. |
- | 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> | + | |
+ | {{: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 ===== |