Sistem de detectare a vitezei

Duta Ciprian

Introducere

Proiectul are ca scop implementarea unui sistem care calculeaza viteza medie a unui obiect ce trece prin fata senzorilor. Daca este depasita o anumita limita de viteza, buzzer-ul va porni si led-ul se va aprinde. Viteza va fi afisata pe un ecran LCD.

Descriere generală

Atunci cand un obiect va trece prin fata senzorilor IR ii va fi calculata viteza. Aceasta va fi calculata dupa formula distanta / timp, stiind distanta dintre cei 2 senzori si timpul in care obiectul a trecut de cei 2 senzori. Viteza va fi afisata pe un ecran LCD. Va fi setata si o viteza maxima admisa, iar daca aceasta va fi depasita LED-ul se va aprinde si buzzer-ul va porni.

Hardware Design

Listă de piese:

  • Arduino UNO
  • Breadbord
  • LCD I2C
  • Senzor IR * 2
  • Buzzer
  • LED
  • Rezistente
  • Fire de legatura

Software Design

Tool-uri folosite

  • Arduino IDE (pentru incarcarea codului pe placuta)
  • Tinkercad (pentru realizarea schemei hardware)

Biblioteci folosite

  • LiquidCrystal_I2C.h (control LCD I2C)

Implementare

Am setat pinii pentru senzorii IR, led-uri si buzzer. Deoarece LCD-ul are conectat un converter I2C, am folosit pentru scrierea pe ecranul LCD biblioteca “LiquidCrystal_I2C.h”. In functia de setup setam pinii pentru senzorii IR ca INPUT, iar pe cei ai led-urilor si buzzer-ului ca OUTPUT. Initial pe ecranul LCD va fi afisat mesajul “WELCOME To My Arduino Project”.Pentru senzorii IR am doua flag-uri, initial setate pe 0. In functia de loop citesc starea senzorilor IR. Daca miscarea a fost detectata setez cele doua flag-uri pe 1 si salvez timpii la care s-a detectat miscarea. Daca ambele flag-uri sunt setate pe 1, calculez viteza medie in km/h in functie de timp si distanta dintre senzori. Daca viteza este 0 verific starea celor doua flag-uri. Daca ambele flag-uri sunt 0 afisez pe LCD mesajul “No car detected”, iar daca doar unul din ele este setat pe 1 afisez mesajul “Searching…” deoarece obiectul caruia vreau sa-i calculez viteza nu a trecut decat prin fata unuia dintre senzori. Daca viteza este diferita de 0 o afisez pe ecranul LCD, iar daca aceasta este mai mare decat 50 km/h apelez functia siren() care porneste buzzer-ul si aprinde cele doua led-uri alternativ, pentru 2.5 secunde, simuland astfel sirena unei masini de politie.

Rezultate Obţinute

Demo:demo

Concluzii

A fost primul proiect de acest gen pe care l-am realizat si cel mai interesant mi s-a parut partea de conectare a componentelor hardware.

Download

Bibliografie/Resurse

pm/prj2022/alaura/sistem_de_detectare_a_vitezei.txt · Last modified: 2022/05/27 19:59 by ciprian.duta
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