Car wipers

Introducere

Scopul acestui proiect este acela de a realiza un set de ștergătoare auto care să ajute la menținerea unei vizibilități bune în timpul condițiilor meteorologice nefavorabile, cum ar fi ploaia, zăpada, grindina sau ceața. Acestea îndepărtează rapid apa, zăpada sau alte particule de pe parbriz, permițând șoferului să vadă clar și să conducă în siguranță.

Descriere generală

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.

Hardware Design

Componente:

  • Arduino UNO x1
  • Senzor picaturi de ploaie x1
  • Servo-motor x2
  • Buton x1
  • Breadboard x1
  • Fire de legatura

Software Design

Partea software a proiectului am realizat-o in Arduino IDE, iar codul este unul destul de straight forward.

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.

carwipersmaximalexandru.zip

Rezultate Obţinute

O demonstratie a proiectului se poate vedea in filmarea ce se afla in zip-ul de mai jos.

video_proiect_final.zip

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

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2023/ndrogeanu/carwipers.txt · Last modified: 2023/05/30 09:57 by alexandru.maxim2801
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0