Autor: Andreea-Denisa Olteanu

Grupa: 332CD

Introducere

In conditii meteorologice nefavorabile, cum ar fi ploaia, vizibilitatea la volan scade considerabil. Stergatoarele de parbriz joaca un rol esential in mentinerea claritatii vizuale pentru sofer. Acest proiect urmareste sa simuleze in miniatura un sistem automatizat de stergatoare de parbriz care reactioneaza in functie de intensitatea ploii, dar si de starea de curatenie a parbrizului, indicand starea acestuia cu ajutorul unor led-uri si specificand timpul de functionare al stergatoarelor.

Scopul proiectului

Scopul acestui proiect este de a proiecta si implementa un sistem automat de stergatoare de parbriz folosind o placa de dezvoltare Arduino UNO R3, senzori de ploaie si lumina, cu scopul de a imbunatati siguranta rutiera prin mentinerea unei bune vizibilitati in timpul deplasarii. In plus, sistemul detecteaza daca parbrizul este murdar si intrerupe automat functionarea stergatoarelor pentru a evita uzura sau deteriorarea acestora.

Sistemul ofera o reprezentare vizuala a starii parbrizului prin aprinderea unor LED-uri colorate:

  • LED verde – vizibilitate buna, parbriz curat si nu ploua.
  • LED galben – ploua, dar parbrizul este curat.
  • LED rosu – parbrizul este murdar.

In plus, mai exista un LED alb situat in fata parbrizului cu scopul de a face lumina pentru senzorul de intensitate luminoasa astfel incat acesta sa poata transmite in mod corect cand este parbrizul murdar si un LCD ce transmite durata de functionare a stergatoarelor pe timpul deplasarii.

Descriere generală

Proiectul consta in realizarea unui sistem de stergatoare inteligente, controlat de o placa Arduino UNO R3. Sistemul foloseste un senzor de ploaie care detecteaza nivelul de umiditate si ajusteaza viteza stergatoarelor pe baza acestuia, un senzor de lumina amplasat pe partea interioara a parbrizului care masoara cantitatea de lumina ce trece prin geam pentru a detecta daca geamul este murdar sau nu, doua motoare mici cu brat de stergator care simuleaza miscarea stergatoarelor si un LCD care afiseaza timpul de functionare al acestora.

Componentele sunt alimentate prin Arduino, care actioneaza ca unitate de control central, analizand in timp real datele primite de la senzori si luand deciziile corespunzatoare pentru actionarea stergatoarelor si semnalizarea luminoasa a starii parbrizului.

Piese Hardware

Lista de piese:

1 x Arduino UNO R3 ATmega328P

2 x Servomotor SG90

1 x Modul senzor ploaie

1 x Senzor lumina cu fotorezistor

1 x Breadboard

6 x Rezistor

4 x LED(alb, verde, galben, rosu)

1 × LCD 1602

Fire de conectare

Cum interactioneaza acestea?

Senzorul de ploaie detecteaza picaturile de apa. Arduino citeste valoarea de pe pinul analogic:

  • Daca ploaia este ușoara → trimite comenzi catre servomotor pentru miscare lenta.
  • Daca ploaia este puternica → servomotorul se miscă mai rapid.

Senzorul de lumina masoara lumina care trece prin parbriz:

  • Daca senzorul de lumină citeste o valoare scazuta si senzorul de ploaie nu detecteaza umiditate → se considera ca parbrizul este murdar. In acest caz, Arduino opreste servomotoarele pentru a evita frecarea uscata pe un parbriz murdar.

Servomotoarele sunt controlate de Arduino in funcție de aceste doua variabile (ploaie si lumina), simuland stergatoarele de parbriz intr-un mod realist.

LED-uri pentru starea sistemului:

  • verde → nu ploua si parbrizul este curat
  • galben → ploua si parbrizul este curat
  • rosu → parbrizul este murdar

LED-ul alb este mereu aprins pentru a asigura iluminarea necesara senzorului de lumina.

LCD-ul 1602 ofera o interfața suplimentara pentru utilizator. Acesta afisează durata totala in care stergatoarele au fost active, oferind un feedback util legat de conditiile meteo parcurse.

Schema bloc

700

Schema electrica

700

Hardware Design

Bill Of Materials:

Nr. crt. Componentă Tip de semnal / protocol Pini Arduino folosiți
1 Arduino UNO R3 ATmega328P GPIO, PWM, ADC
2 LCD 1602 D2, D3, D4, D11, D12, D13
3 Modul senzor ploaie ADC (Analog Input) A0
4 Senzor lumina fotorezistor ADC (Analog Input) A1
5 Servomotor SG90 PWM (semnal control servo) D5, D6
6 LED rosu GPIO (Digital Output) D7
7 LED galben GPIO (Digital Output) D8
8 LED verde GPIO (Digital Output) D9
9 LED alb GPIO (Digital Output) D10

Pentru servomotoare am ales pinii D5 si D6 pentru a putea folosi PWM ca si protocol de comunicatie.

In plus, mai jos pot fi vazute imagini si un videoclip cu circuitul si functionalitatea acestuia:

Pentru videoclip accesati link-ul Wipers Video

Software Design

Codul a fost dezvoltat in mediul Arduino IDE. Ca si biblioteci externe am folosit doar LiquidCrystal.h pentru utilizarea LCD-ului, iar in rest am folosit doar functionalitati standard (pinMode, analogRead, digitalWrite, delay etc.).

Structura software:

  • Citirea senzorilor de lumina si ploaie.
  • Decizie logica pe baza combinatiei celor doua valori.
  • Comanda PWM catre servomotoare pentru a simula miscarea de stanga-dreapta la 90°.
  • Comanda luminoasa prin aprinderea LED-urilor in functie de starea parbrizului.
  • Afisarea pe LCD a timpului de functionare a stergatoarelor.

Functii implementate:

  • pwmServo() – funcție pentru generarea unui semnal PWM manual pentru controlul servomotoarelor SG90, adaptat la nevoile proiectului.
  • Control logic complet pentru starile: ploua/nu ploua, parbriz curat/murdar, pornit/oprit.

Rezultate Obţinute

Sistemul raspunde corect in functie de starea senzorilor:

  • In lipsa ploii, cu parbrizul curat, LED-ul verde este aprins.
  • Daca incepe sa ploua, stergatoarele incep sa se miste automat, iar LED-ul galben se aprinde.
  • Daca senzorul de lumina detecteaza un nivel scazut de lumina(parbriz murdar), LED-ul rosu se aprinde si stergatoarele sunt oprite pentru a preveni deteriorarea.
  • Dupa oprirea stergatoarelor se afiseaza pe LCD durata de functionare a acestora.

Simularile cu ploaie de intensitati diferite si cu parbriz murdar/curat au aratat o buna functionalitate a sistemului.

Concluzii

Desi servomotoarele mi-au dat batai de cap, a fost amuzant sa “mesteresc” la acest proiect, iar satisfactia de la final a facut sa merite.

Download

Codul poate fi descarcat de la Pagina de GitHub

Jurnal

  • Etapa 1: Documentare senzori (ploaie/lumina) si integrare in schema electrica.
  • Etapa 2: Testare individuala componente (senzor lumina, senzor ploaie, servomotoare).
  • Etapa 3: Scriere cod initial pentru actionare stergatoare.
  • Etapa 4: Adaugare logica LED-uri si testare in diverse scenarii.
  • Etapa 5: Testare LCD.
  • Etapa 6: Adaugare logica pentru afisare pe LCD.
  • Etapa 7: Finalizare documentatie.

Bibliografie/Resurse

pm/prj2025/iotelea/andreea.olteanu3110.txt · Last modified: 2025/05/22 23:11 by andreea.olteanu3110
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