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.
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:
Componente folosite:
Tinkercad:
Schema electrica:
Real life:
Cu toate acestea, am incercat sa pastrez legaturile intre modulul din simulari si placuta cat mai aproape de realitate
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.
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.
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.
Biblioteci folosite: