Tahograf analogic

Autor

Introducere

În cadrul acestui proiect voi realiza implementarea unui tahograf analogic care înregistrează activitatea conducătorilor auto ale masinilor de mare tonaj. Odată introdusa distanta parcursa, vor fi calculate atat timpul de desfasurare al cursei curente, cat si timpul ramas pana la incheierea programului si sosirea urmatoarei pauze. În acest mod, vor fi foarte bine contorizate informații importante.

Descriere generală

Schema bloc

Funcționalitate

  • Înainte cu 5 minute de încheierea programului, atunci când șoferul este obligat să efectueze o pauză a cărei durată poate varia, acesta va fi avertizat prin intermediul unui semnal sonor.
  • De asemenea, tahograful va fi capabil să calculeze timpul ramas pana la urmatoarea pauza.
  • La final, pe ecranul tahografului vor fi afisate informatii importante, precum data curenta, distanta parcursa in cadrul cursei curente si timpul ramas pana la urmatoarea pauza.
  • Astfel, șoferul nu va mai fi nevoit să își țină evidența singur și se va concentra mai mult pe îndeplinirea atribuțiilor mai importante, cum ar fi ca marfa să ajungă intactă la destinație.

Hardware Design

1. Listă de componente

  • Arduino Uno
  • Ecran LCD
  • Buzzer
  • Real Time Clock
  • Fire de legătură
  • Breadboard

2. Tabel de prețuri

Piesă Cantitate Preț
Kit Arduino Uno R3 1 buc. 100.00 RON
Modul RTC DS1302 1 buc. 13.00 RON
Modul Buzzer activ 1 buc. 6.50 RON
Ecran LCD 2004 CU I2C 1 buc. 40.25 RON
Total 159.75 RON

3. Schema electrică

Software Design

Mediul de dezvoltare

Draw.io: schema bloc
Tinkercad: schema electrica
Arduino IDE: cod

Biblioteci

LiquidCrystal_I2C.h: folosita pentru ecranul LCD
virtuabotixRTC.h: folosita pentru RTC

Functii utilizate

  • tone(): Redare sunet buzzer.
  • lcd(): Initializare LCD
    1. setCursor(): Setez cursorul pe linia pe care va scrie.
    2. print(): Printez date.
  • rtc(): Initializare RTC
    1. setDS1302Time(): Setez data si timpul curent.
    2. updateTime(): Actualizez timpul.

Detalii implementare

  • In setup am realizat initializarea modulelor, iar implementarea de baza se afla in functia loop.
  • Am calculat timpul in functie de distanta pe care am introdus-o de la tastatura si de o viteza medie.
  • Am calculat timpul in secunde pentru a-mi fi mai usor sa determin timpul ramas pana la urmatoarea pauza.
  • Am folosit functia delay() pentru a afisa datele fara a deranja din punct de vedere vizual.

Rezultate Obţinute

Concluzii

  • Realizarea proiectului a fost interesanta, cu atat mai mult cu cat am reusit sa duc la bun sfarsit ceva cu totul nou pentru mine, obtinand un rezultat satisfacator.
  • Mi-am imbunatatit cunostintele de programare necesare materiei de PM, in special pe cele hardware, realizand asamblarea completa a unui dispozitiv functional.

Download

Jurnal

25 Aprilie: alegerea temei proiectului
10 Mai: achiziționare piese
30 Mai: schema electrica
3 iunie: finalizare pagina, upload cod + poze

Bibliografie/Resurse

pm/prj2021/agrigore/tahograf.txt · Last modified: 2021/06/03 12:43 by ana_maria.ceaparu
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