Doru-Andrei CORNEA (87664) - Distance Meter

Date de contact: Doru-Andrei Cornea

Introducere

Proiectul constă în realizarea unui dispozitiv care poate măsura distanțe ce pot fi interpretate în mai multe unități de măsură. Măsurătorile vor fi realizate cu ajutorul unui senzor cu ultrasunete HC-SR04 care folosește unde sonice pentru determinarea distanței unui obiect - la fel ca liliecii sau delfinii. Acest modul oferă o precizie excelentă și stabilă într-un pachet mic și ușor de utilizat. Rezultatele vor fi afișate utilizatorului prin intermediul unui LCD 1602, iar unitatea de măsură dorită va fi aleasă utilizând un push-button.

Scopul acestui proiect este de a îmi dezvolta abilitățile tehnice dobândite pe parcursul cursului de Proiectare cu Microprocesoare, iar ideea a apărut dintr-o necesitate, întrucât am avut deseori nevoie de un astfel de dispozitiv.

Descriere generală

Schema bloc a proiectului User input-ul constă în două butoane de tip push-button, unul pentru a își selecta unitatea de măsură dorită, iar celălalt pentru a realiza măsurătoarea efectivă. Senzorul HC-SR04 măsoară distanțe între 2cm și 400cm cu o precizie care poate ajunge și la 3mm. Rezultatele calculate de microcontroller-ul ATMega 324 sunt afișate utilizatorului prin intermediul unui LCD 1602.

Hardware Design

Lista de piese:

  • ATmega 324A-PU
  • Senzor ultrasonic HC-SR04 5V
  • Suport senzor HC-SR04
  • Modul LCD 1602 cu backlight Galben-Verde de 5V
  • Butoane de tip push-button
  • Rezistențe, condensatoare, fire de conexiune
  • Cutie din plastic adaptată pentru încapsularea pieselor
  • Placa de bază PM2019

Schema electrică:

Software Design

Mediul de dezvoltare folosit:

  • Sublime pentru dezvoltarea codului
  • Eagle 9.3.0 pentru realizarea schemelor electrice
  • HIDBootFlash pentru încărcarea programului pe plăcuță

Biblioteci folosite:

Funcții folosite:

  • LCD_PRINT_MSG(char *msg) - pentru a printa un mesaj formatat pe LCD
  • HC_SR04_init() - pentru a inițializa senzorul cu ultrasunete (pinii pentru trigger-echo/întreruperi)
  • HC_SR04_get_distance() - pentru a măsura distanța (activez pinul de trigger pentru cel puțin 10us și aștept o întrerupere semnalată de pinul de echo; folosind acest interval de timp deduc distanța până la obiect)
  • main() - pentru a realiza logica principală de funcționare a dispozitivului (măsurarea/afișarea distanței până la obiect și schimbarea unităților de măsură)

Rezultate Obţinute

Demo: watch

Aparatul funcționează exact cum mi-am propus inițial. Prin apăsarea butonului roșu se realizează și afișează măsurătoarea, iar prin apăsarea celui albastru se poate schimba treptat unitatea de măsură, opțiunile fiind: mm/cm/dm/m. În cazul în care distanța de la senzor până la obiect depășește 400 cm, aparatul afișează mesajul de eroare: OBJECT TOO FAR. În acest caz, măsurătoarea trebuie repetată corespunzător.

Concluzii

  • Am reușit să duc la capăt proiectul, implementând toate funcționalitățile propuse
  • Mi-am perfecționat atât abilitățile de lucru cu hardware-ul, cât și cu software-ul specific materiei PM
  • Satisfacția realizării unui dispozitiv de care am avut de multe ori nevoie
  • Proiectul este un punct de plecare pentru mai multe dispozitive de acest fel

Download

Arhiva conține:

  • Un folder cu fișierele sursă utilizate
  • Schema electrică
  • Poze cu proiectul

Arhiva: corneadoruandrei_distancemeter_pm2019.zip

Jurnal

  • 18 Aprilie - Tema proiectului, lista de piese și schema bloc
  • 21 Aprilie - Finalizarea plăcii de bază
  • 2 Mai - Finalizarea schemei electrice
  • 4 Mai - Montarea și testarea LCD-ului
  • 11 Mai - Montarea și testarea senzorului cu ultrasunete
  • 15 Mai - Montarea și testarea butoanelor
  • 18 Mai - Realizarea unei cutii de protecție în care am montat toate componentele
  • 20 Mai - Finisarea proiectului din punct de vedere software și hardware
  • 24 Mai - Prezentarea proiectului la PM Fair 2019

Bibliografie/Resurse

pm/prj2019/amocanu/distance-meter.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