Table of Contents

Interactive speed radar

Introducere

Un dispozitiv care determina viteza unui obiect și o afiseaza pe un LCD, alaturi de alte mesaje sugestive, in functie de setari. Utilizatorul poate selecta afisarea vitezei in km/h, mph sau m/s, poate seta limita de viteza si modul de afisare al mesajelor. In functie de limita de viteza introdusa, se afiseaza diferite mesaje de informare insotite de colorarea corespunzatoare a unei benzi LED, și chiar suma amenzii de viteza daca lasam gandurile intruzive sa castige.

P.S: Este posibil ca valoarea amenzii sa nu mai fie corecta pe viitor.

Descriere generală

Viteza obiectului este masurata de doi senzori infrarosu, amplasati la o distanta cunoscuta. Se masoara intervalul de timp necesar activarii ambilor senzori. Se imparte distanta la timp si se obtine viteza 🤓.

Prin intermediul unei tastaturi numerice, utilizatorul poate sa modifice comportamentul radarului de viteza, astfel:

Hardware Design

Componente folosite:

Tinkercad:

Schema electrica:

Real life:

Modulul de keypad folosit in simulare nu este cel pe care il folosesc in proiectul meu, deoarece nu am reusit sa il gasesc.

Cu toate acestea, am incercat sa pastrez legaturile intre modulul din simulari si placuta cat mai aproape de realitate

Software Design

Pentru partea de software, am folosit bibliotecile Keypad pentru a citi caracterele de la keypad, LiquidCrystal_I2C pentru controlul display-ului LCD si Adafruit Neopixel pentru controlul benzii LED;

Partea centrala a codului este reprezentata de partea de calcul al vitezei, realizat prin calculul raportului intre distanta predefinita dintre senzorii infrarosii si timpul necesar declansarii ambilor senzori. Sunt facute verificari suplimentare pentru a oferi un calcul cat mai aproape de realitate al vitezei, precum verificarea printr-un flag ca ambii senzori au fost activati inainte de a trece la calculul vitezei.

In functie de viteza limita setata de utilizator si viteza calculata, se acorda o evaluare a vitezei si se afiseaza mesajele corespunzatoare, astfel:

De asemenea, proiectul mai contine si un meniu de configurare, in care, prin apasarea unor taste, se pot schimba setarile dispozitivului:

Comutarea intre modul de configurare si cel de detectare a vitezei se poate face prin apasarea unui buton care genereaza o intrerupere ce schimba un flag in cod.

Codul contine cateva functii de animare a benzii LED, in functie de gravitatea faptei.

Rezultate Obţinute

Am obtinut un dispozitiv care masoara viteza si o afiseaza in diferite unitati de masura, insotita de mesaje de afisare diverse si diferite animatii de LED-uri. De asemenea, dispozitivul poate fi configurat dupa bunul plac.

Radarul foloseste tastatura pentru a citi diferite comenzi de la utilizator sau pentru a actualiza parametrii de rulare.

Concluzii

Per total, a fost un proiect engaging, care a combinat cunostintele software cu cele hardware si m-a pus in pozitia sa imi “murdaresc mainile”, avand ocazia sa ma joc cu componentele hardware. Desi exista multe locuri unde ar putea fi imbunatatit, sunt multumit de proiect si m-am simtit bine lucrand la el.

Download

source_code_pana_sergiu_335ca.zip

Jurnal

Bibliografie/Resurse

Biblioteci folosite: