Table of Contents

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:

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:

Senzor cu ultrasunete

Caracteristici tehnice:

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