Proiectul de fata are scopul de a realiza un ciclocomputer cu functii elementare precum:
Ideea a pornit de la numeroasele dispozitive existente pe piata care indeplinesc aceste functii. Curiozitatea, impreuna cu placerea de a calatori pe bicicleta m-au determinat sa abordez acest subiect.
Un ciclocomputer este foarte util pentru un ciclist, indiferent daca este profesionist sau amator, intrucat poate fi o buna orientare privind performantele fizice, timpul avut la dispozitie pentru a efectua o distanta, etc.
In mod evident, proiectul are un scop pur didactic, intrucat dimensiunea sa il fac greu de utilizat pe o bicicleta normala, iar solutiile de pe piata au dimensiuni mult mai mici, functii diverse, numarul acestora si acuratetea lor crescand direct proportional cu pretul.
Ciclocomputerul este compus din urmatoarele elemente:
La fiecare trecere a magnetului prin dreptul senzorului Hall se va genera o intrerupere. Intern, un timer va masura durata de timp dintre doua treceri ale magnetului prin fata senzorului Hall. De asemenea, vor mai fi retinute intern dimensiunea rotii, distanta parcursa, timpul total, viteza maxima si viteza medie.
Lista de piese folosite:
Modul de conectare al senzorului Hall. Signal va fi conectat la Timer0.
Modul de conectare al ecranului LCD.
Descrierea codului aplicaţiei (firmware):
Am obtinut rezultate bune cu vitezometrul conceput si dezvoltat. Am reusit montarea acestuia pe bicicleta, alaturi de un alt ciclocomputer cumparat, modelul Sigma 906. Rezultatele au fost similare, variind in mica masura vitezele inregistrate.
Un aspect negativ pe care pot sa il mentionez este sensibilitatea proasta a senzorului hall, lucru care face greu de folosit un magnet adecvat. Trebuie folosit un magnet puternic, dar suficient de mic pentru a fi montat pe spita. Trebuie gasita o metoda de montare, intrucat spita este de aluminiu, iar magnetul nu va sta pe ea.
De aici se poate descarca arhiva cu codul sursa. velocomputer_mateichiperi.zip
Aceasta contine API-ul pentru interfata cu LCD-ul si fisierul sursa pentru ciclocomputer.
1. Se dezarhiveaza codul sursa.
2. Se compileaza sursa.
3. Se foloseste avrusbboot pentru a incarca fisierul main.hex pe uC.
Observatie: Sunt utilizate define-uri pentru a specifica porturile si pinii pe care sunt conectate LCD-ul, butoanele si senzorul. Pentru a folosi alti pini, trebuie schimbate aceste define-uri.
Step 1: Am reusit interfatarea LCD-ului cu Atmega. Dificultatea a constat in faptul ca scheletul de laborator contine o secventa de initializare incompleta pentru modul de comunicatie cu 4 biti. (2 zile pline)
Step 2: Am realizat intregul circuit hardware (1 zi)
Step 3: Am implementat partea de software.
Step 4: Am reusit montarea intregului proiect pe bicicleta. Problema a constat in faptul ca am avut nevoie de un magnet foarte puternic, intrucat senzorul hall folosit are o sensibilitate scazuta.
Connecting LCD with Atmega16 Tutorial - Tutorial foarte bun despre interfatarea unui ecran LCD alfanumeric cu Atmega
Laboratorul 1 PM
Datasheet Hitachi44780 Controller - De baza pentru comunicatia cu LCD-ul
Datasheet Atmega16
Datasheet sensor Hall 4935L