Sistem Garaj

Introducere

Am ales acest proiect de implementat deoarece mi se pare ca are foarte mare aplicabilitate si in vita reala. Sistemul facut este unul complet pentru un garaj si are toate elementele necesare.

Pentru ca, de exemplu, in Bucuresti, este o problema mare cu locurile de parcare, acest sistem iti poate arata daca un loc este liber, si te poate ajuta sa parchezi.

Descriere generală

Proiectul meu este format dintr-o suita de componente care interactioneaza intre ele.

Astfel, in momentul in care un obiect (o masina) se apropie de primul senzor de proximitate, se trimite un semnal catre servomotor (bariera) care ofera accesul masinii in garaj - mai precis bariera se va deschide pentru 10 secunde si pe ecran se va afisa acest lucru.

In garaj exista un alt senzor de proximitate, care testeaza daca masina este in garaj, iar daca masina este in garaj, se afiseaza pe ecran “OCUPAT”, iar ledul de sub garaj se face rosu, in caz contrar, pe ecran va scrie “LIBER”, iar ledul va fi verde.

In proiect, toate componentele sunt legate intre ele, conform schemei de mai jos:

Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html

Hardware Design

Schema proiectului hardware

Lista de componente

  • 1 x Placuta Arduino Uno
  • 1 x Led RGB
  • fire de legatura
  • 1 x LCD Interface I2C 16×2
  • 1 x Senzor ultrasonic distanta HC-SR04
  • 1 x Senzor ultrasonic HY-SRF05
  • 1 x Micro Servo Motor SG90 Arduino
  • 2 x Breadboard
  • 1 x Rezistenta 220 ohm

Software Design

Pentru dezvoltarea partii software am folosit: Arduino IDE (1.8.19).

Biblioteci externe folosite:

  • #include <Wire.h>
  • #include <LiquidCrystal_I2C.h>
  • #include <Servo.h>

Am incercat pe cat posibil sa modularizez cat mai tare codul, astfel, acesta a fost impartit pe functii.

In prima parte a fisierului am declarat variabilele global si am inclus bibliotecile de care avem nevoie.

In partea de setup am initializat servomotorul, lcd-ul si restul pinilor de care aveam nevoie.

Ulterior, in partea de loop, apelam functiile de care avem nevoie, in ordine logica.

Functiile impartite sunt:

  1. calcul_distanta_bariera - care calculeaza daca in fata barierei exista o masina, iar daca exista deschide bariera pentru 10 secunde
  2. actiune_parcare - care testeaza daca in parcare exista o masina, iar daca exista schimba culoarea ledului si seteaza textul de pe ecran
  3. RGB_color - care seteaza culoarea ledului
  4. calculate_distance - care este o functie auxiliara pentru actiune_parcare

Codul integral poate fi regasit pe github: https://github.com/sKzRO/proiect-pm.

Rezultate Obţinute

Proiectul functioneaza fix cum mi-am dorit. Primul senzor are ca scop deschiderea barierei. Deci cand ajungi cu masina peste senzor, se deschide bariera pentru 10 secunde. Ulterior masina inainteaza, si cand ajunge in dreptul senzorului din capat, acela are ca scop sa stie ca in garaj exista o masina si sa aprinda ledul de pe placa in rosu, si sa scrie pe LCD ca este ocupat. Cand o masina se apropie de bariera si incearca sa iasa din garaj, senzorul din garaj isi da seama, si deschide bariera pentru 10 secunde.

Concluzii

Chiar daca a durat destul de mult sa imi aleg ideea si sa fie si aprobata, consider ca implementarea pe care am facut-o m-a trecut prin toata materia, si a fost foarte interesant pentru mine sa incerc si partea hardware (de care nu sunt foarte incantat in general).

Consider ca acest sistem poate fi replicat si intr-un garaj real, cu mici ajustari, si chiar sa aiba o functionalitate reala.

Totodata, a fost foarte interesant sa fac partea din materiale (cutia, pozitionarile, “masina”) etc.

Per total a fost un proiect foarte interesant.

Bibliografie/Resurse

https://www.tinkercad.com/ - Schema arduino
https://create.arduino.cc/ - Pentru informatii despre componente si cod.
https://cleste.ro/ - Achizitia componentelor

pm/prj2022/rtilimpea/garajautomat.txt · Last modified: 2022/06/01 14:54 by andrei_leonard.ilie
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