Bike Speedometer

Autor

Ocanoaia Andreia Irina 335CC

Pentru detalii despre implementarea proiectului pot fi contactata la adresa de email: andreia.ocanoaia@stud.acs.pub.ro

Introducere

Proiectul reprezinta implementarea unui speedometer pentru bicicleta. Acest dispozitiv va putea sa:

  1. Masoare viteza momentana
  2. Sa afiseze viteza medie a unei ture
  3. Sa calculeze distanta parcursa
  4. Sa afiseze durata unei plimbari cu bicicleta

Acest proiect mi se pare interesant deoarece imi ofera ocazia de a implementa ceva care ma va ajuta in viata cotidiana. Este atat o ocazie de a capata experienta ca inginer, cat si de a crea un produs util.

Descriere generala

Proiectul se va concretiza in 2 parti: cea de achizitie de date si cea de control. Prima se refera la senzorul hall care va inregistra numarul de rotatii pe minut cu ajutorul unui magnet montat pe o spita a rotii. Cea de-a doua parte este un user-interface care va avea butoane de selectie a functiilor si un ecran lcd pe care sa fie afisate masuratorile cerute (viteza, timp, distanta).

Schema bloc

Hardware design

Componente principale:

  • PCB PM2019
  • Senzor Hall
  • Magnet
  • Ecran LCD 16×02
  • Butoane
  • Buton On/Off (Cancelled)
  • Acumulator
  • Fire mama-mama

Componente optionale - (pentru debugging si proiectare)

  • Adaptor UART-USB (debugging pe seriala)
  • Placa test/breadboard
  • Conectori tata-tata
  • Fire

Schema electrica

Prima schema electrica

(UPDATE)

Software design

In primul rand, codul sursa face referinta la 3 biblioteci pentru lcd, usart(debugging) si adc(citire senzor hall). Pe aceasta le-am implementat cu4 ajutorul exemplelor din laborator. Dificultatea cea mai mare a fost la asignarea pinilor.A trebuit sa am in vedere utilizarea unor pini digitali pe care sa primesc intreruperi de tip PCINT fara sa citesc zgomot de la alte functii (TX, RX, LED). Am testat si codat fiecare componenta in parte si apoi am creat o cod unitar. Functionalitatile acestuia sunt:

  • Afisare viteza (Button 0)
  • Afisare timp (Button 1)
  • Afisare rotatii pe minut (Button 2)
  • Afisare distanta (Button 3)

Deoarece proiectul se bazeaza pe monitorizarea unor parametrii (campul magnetic) in timp real, m-am folosit de Timer1 pentru a determina timpul si a updata in consecinta datele afisate. Astfel la fiecare secunda se declanseaza o intrerupere si in cadrul careia afisez pe LCD.

De asemenea, butoanele declanseaza intreruperi care modifica o variabila astfel incat sa stiu ce doreste utilizatorul sa afiseze.

Rezultate obtinute

Concluzii

A fost un proiect fain si m-am distrat mai ales facand debugging. Am invatat sa folosesc LCD-ul in cele mai marunte detalii pentru ca nu mi-a mers vrei 2 zile (am aflat ca era problema de la bootloader) Asteptarile mele viitoare sunt de a-l imbunatati si a reusi sa il montez pe bicicleta.

Download

Bibliografie/resurse

Laboratoarele de PM

bike-speedometer01.pdf

pm/prj2019/astratulat/bikespeedometer.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