Table of Contents

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:

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:

Senzorul de lumina masoara lumina care trece prin parbriz:

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:

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:

Functii implementate:

Rezultate Obţinute

Sistemul raspunde corect in functie de starea senzorilor:

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

Bibliografie/Resurse

Controlul unui servomotor

Cum sa folosesti un display LCD

Fotorezistor

Conexiuni Servomotor