Andrei BOLOJAN - Nume proiect: Distance Measuring Device

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul va implementa un senzor care va masura distanta fata de obiectul catre care este indreptat, putand fi folosit in diverse aplicatii:

  • senzor de parcare
  • dispozitiv care ii poate alerta pe nevazatori ca se apropie de un obiect
  • senzor pentru un robot care participa la o cursa cu obstacole
  • senzor de siguranta, detectand o apropiere ingrijoratoare a altui obiect fata de obiectul pe care este montat

Implementarea va permite utilizarea senzorului in oricare dintre contextele descrise mai sus, pentru fiecare caz adaugandu-se module specifice de interactiune cu utilizatorul. Toate datele preluate de senzor vor fi salvate in Cloud, prin intermediul unei placi wireless conectate la o reta.

Proiectul este util in aplicatiile in care dorim sa aflam cu exactitate distanta dintre doua puncte, iar pe baza acesteia sa luam diverse decizii.

Descriere generală

Senzorul cu ultrasunete va masura o distanta, dupa care, in functie de ce a detectat, utilizatorului ii va fi transmis un semnal:

  • pe LCD va fi afisata distanta pana la obiectul detectat de senzor
  • buzzer-ul va transmite semnale audio in functie de distanta, similar sistemelor de parcare existente pe masini
  • motoru cu vibratii va transmite semnale similare celor transmise de buzzer
  • distanta va fi transmisa in Cloud prin intermediul placii wireless

Senzor cu ultrasunete

Caracteristici tehnice:

  • Tensiune de alimentare: 5V
  • Distanță de funcționare: 2cm - 4m
  • Eroare de doar 3mm

Senzorul ultrasonic HC-SR04 este unul dintre cei mai populari și ușor de utilizat senzori de distanță. Este compatibil cu Arduino și prezintă câteva avantaje față de senzorii de distanță analogici: necesită doar pini I/O digitali, are imunitate mai mare la zgomot.

Schema bloc

Hardware Design

Lista de componente

Schema electrica

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare: Atmel Studio
  • biblioteci şi surse 3rd-party: biblioteca USART_RS232, biblioteca LCD, biblioteca WiFi (codul este disponoibil in arhiva ce contine implementarea)

Senzor

Pentru obtinerea distantei device-ul seteaza pin-ul PD3, care este conectat la pin-ul TRIGGER al senzorului HC-SR04, pe 1 pentru 15 micro secunde, dupa care il seteaza pe 0. Astfel este declansata masurarea distantei. Rezultatul este preluat de la senzor prin intermediul pin-ului PD2 pe care sunt setate intreruperile la schimbari de nivel. Cand pin-ul PD2 trece pe 1, este pornit timer-ul 1 care numara pana cand pin-ul trece pe 0. Apoi calculeaza distanta si o afiseaza pe ecran.

LED, motor, BUZZER

In functie de distanta, LED-ul conectat la PD7, BUZZER-ul conectat la PA0 si motorul conectat la PA1 semnaleaza acustic si vizual apropierea fata de un obiect.

WiFi

La o interval de 20 de secunte, device-ul trimite catre un channel de pe “https://thingspeak.com” distanta minima masurata in acest timp.

Rezultate Obţinute

Software

Din testele pe care le-am efectuat, senzorul masoara corect distanta de pana la 1.5 metri. Mai departe nu am testat.

In cadrul aplicatiei, distanta care ne intereseaza este in intervalul [0cm, 30cm]. Daca distanta pana la obiectul fata de care se efectueaza aceasta masuratoare se afla in acest interval, dispozitivul produce sunete si vibratii cu scopul de a alerta apropierea de obiect, astfel: din 10 in 10 cm se schimba perioada de timp cat LED-ul sta aprins, BUZZER-ul emite un sunet si motorul vibreaza.

In plus, device-ul trimite distanta minima masurata intr-un interval de 20 de secunde catre server, unde este stocata si afisata sub forma unui grafic.

Hardware

Concluzii

A fost un proiect interesant in care am avut ocazia sa lucrez cu 5 dispozitive externe plus functionalitati interne ale microcontroller-ului, precum timere si intreruperi. Am incercat sa folosesc cat mai bine facilitatile oferite de uC, pentru a evita polling-ul si pentru a controla cat mai eficient perifericele. In final, am reusit sa obtin un dispozitiv care ar putea fi folosit foarte bine ca senzor de parcare, sau ca solutie IoT pentru detectarea accesului nepermis intr-o incapere.

Download

Arhiva ce contine codul proiectului

andreibolojan_distancemeasuringdevice_pm2018.zip

Jurnal

  • 23 Mai - Documentatia finala
  • 6 Mai - Realizarea schemei electrice
  • 22 Aprilie - Crearea paginii si alegerea proiectului, realizarea schemei bloc si descrierea pe scurt a proiectului ales

Bibliografie/Resurse

pm/prj2018/imatesica/distancedev.txt · Last modified: 2021/04/14 17:07 (external edit)
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