Proiectul reprezintă un calculator de bicicletă avansat bazat pe microcontrolerul ATmega328P. Dispozitivul calculează și afișează în timp real viteza de deplasare, distanța parcursă și oferă alerte sonore pentru siguranța ciclistului în cazul depășirii limitelor de viteză.
Scopul acestui proiect este crearea unui dispozitiv complet personalizabil. Spre deosebire de vitezometrele comerciale sigilate, acest sistem permite adăugarea de funcționalități noi, calibrarea exactă a circumferinței roții la nivel de milimetru și o depanare software completă.
Ipoteza de lucru: Credem că utilizarea unui senzor Hall analogic eșantionat prin ADC va îmbunătăți precizia detecției rotațiilor față de o simplă citire digitală, deoarece ne permite să filtrăm software zgomotul magnetic ambiental (vibrațiile) prin setarea unor praguri de tensiune dinamice.
Arhitectura proiectului este centrată pe placa ATmega328P Xplained Mini, care prelucrează semnalele senzorilor de input și gestionează interfața de output pentru utilizator.
Interacțiunea modulelor:
Senzorul Hall Analogic (KY-035): Funcționează ca senzor principal de mișcare. Este fixat pe furca bicicletei și citește câmpul magnetic al magnetului de neodim montat pe spiță. Tensiunea variabilă este citită printr-un pin ADC, iar la depășirea pragului setat, sistemul înregistrează o rotație completă.
Interfața de Control (Butoane): Este formată dintr-un set de butoane tactile multiplexate analogic (Resistor Ladder) pe un singur pin ADC. Acest lucru permite navigarea prin meniurile LCD-ului și resetarea distanței parcurse (Trip) fără a epuiza pinii digitali ai microcontrolerului.
Ecranul LCD 1602 cu adaptor I2C: Este modulul de afișare principal. Pentru a minimiza numărul de conexiuni, comunică cu ATmega328P prin protocolul I2C (folosind doar pinii SDA și SCL). Aici sunt afișate viteza curentă și distanța.
Buzzer Pasiv: Reprezintă sistemul de feedback acustic. Este controlat prin semnale de frecvență variabilă generate de un Timer intern (mod PWM/CTC). Acesta confirmă auditiv apăsarea butoanelor și generează un ton de avertizare la atingerea unei viteze maxime prestabilite.
Modulul de Alimentare: Sistemul este susținut de un suport de 4 baterii AA, furnizând 6V regulatorului LDO de pe placa de dezvoltare, care la rândul său oferă un 5V stabil, esențial pentru contrastul corect al LCD-ului și stabilitatea ADC-ului.
Sistemul este prototipat pe breadboard pentru a asigura flexibilitatea conexiunilor înainte de montajul final pe bicicletă.
Lista de componente:
Dezvoltarea firmware-ului va fi realizată folosind mediul PlatformIO (integrat în Visual Studio Code), utilizând toolchain-ul `avr-gcc` pentru scrierea codului “bare-metal” (C/C++). Abordarea va fi directă, prin manipularea regiștrilor interni ai ATmega328P, fără a folosi framework-ul Arduino, pentru a asigura un control strict asupra resurselor și timpilor de execuție.
Module software principale:
Planificarea etapelor: