This is an old revision of the document!


Laser measurement device

Introducere

What it does: A device which can record spatial points, which then can use them to calculate the distance between them and show it on a display

Scope: A more convenient way to measure the distance between 2 points

Starting idea: The classic measuring tools, like a measuring tape

Usefulness: It is useful for me because it allows me to get a high grade for the PM course

Descriere generală

The code is separated in 5 files:

  • project.ino: the main of the project
  • distance.h: functions useful for using the VL53L0X sensor
  • common.h: utility functions, mainly for I2C communication
  • display.h: functions useful for using the SSD1306 display
  • gyro.h: functions useful for using the MPU6050 sensor

There are 2 hardware components that are controlled manually via IO:

  • laser diode: which has the power controlled via a digital pin; the current is small enough that no transistor is needed
  • button: the spatial recordings are done on releasing, and the laser diode is active only during pressing

In the end the whole device will be encased in a 3D printed case, designed by me

Hardware Design

Arduino modules:

  • MPU6050 sensor: for gyroscope data, as the orientation of the device is important to map a point in space relative to origin
  • SSD1306 display: after the device calculates the distance, it will be shown on the display
  • VL53L0X sensor: a laser distance measuring device
  • Laser diode: an additional laser to highlight the point the device is looking at

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2023/apredescu/laser_distance.1683462705.txt.gz · Last modified: 2023/05/07 15:31 by flaviu.popescu
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