Smart Pocket Calculator cu Feedback Audio
Introducere
Proiectul constă într-un Calculator de Buzunar Smart cu Feedback Audio. Acesta rezolvă operații matematice de bază (+, -, *, /) și, spre deosebire de un calculator standard implementat pe breadboard, oferă o confirmare sonoră instantanee.
Scopul proiectului este de a crea un dispozitiv fiabil și interactiv, eliminând incertitudinea apăsărilor pe tastatură (fenomenul de ghosting sau taste neînregistrate).
Ideea de la care am pornit a fost necesitatea de a avea certitudinea preluării corecte a input-ului fizic fără a fi nevoie să privim constant ecranul, inspirată de interfețele de la casele de marcat sau bancomate.
Utilitate: Este un proiect extrem de util pentru consolidarea noțiunilor de debouncing, lucrul cu mașini de stări pentru parsarea input-ului și integrarea eficientă a mai multor periferice externe folosind protocoale diferite.
Descriere generală
Sistemul utilizează microcontrolerul ca unitate centrală de procesare și integrează 3 periferice externe (cerință de regulament), folosind conceptele a cel puțin 3 laboratoare (GPIO, Timere/PWM, I2C).
Sistemul este alcătuit din următoarele module:
Modul Input (Tastatură matricială 4×4): Permite introducerea cifrelor și a operatorilor. Folosește pini GPIO pentru scanarea liniilor și coloanelor.
Modul Output Vizual (Ecran LCD 1602 cu I2C): Afișează expresia introdusă și rezultatul. Utilizarea interfeței I2C minimizează numărul de conexiuni, crescând fiabilitatea hardware-ului.
Modul Output Audio (Buzzer Pasiv): Generat folosind semnale PWM / Timere. Oferă un “beep” scurt la o apăsare corectă și un ton lung/diferit la o acțiune invalidă (ex. împărțire la zero).
Interacțiunea modulelor:
La apăsarea unei taste pe matricea 4×4, microcontrolerul execută o rutină de debouncing. Dacă acțiunea este validată, se declanșează un semnal PWM către buzzer pentru feedback sonor scurt și se actualizează datele pe LCD prin magistrala I2C. Logica internă (o mașină de stări software) memorează primul număr, operatorul și al doilea număr, executând calculul la apăsarea tastei ”=”.
Hardware Design
Designul hardware a fost gândit pentru a fi simplu de implementat și robust, respectând cerința de a avea un cablaj curat și un aspect ordonat, fără fire redundante.
Listă de piese:
1 x Microcontroler
1 x Tastatură matricială 4×4
1 x Ecran LCD 1602
1 x Modul adaptor I2C pentru LCD (PCF8574)
1 x Buzzer pasiv
Fire de conexiune, breadboard / placă de test
Conexiuni principale (Schemă bloc simplificată):
Tastatura 4×4: Conectată la un port GPIO (ex. Portul C) pentru a citi starea butoanelor.
LCD I2C: Conectat la pinii SDA și SCL ai microcontrolerului, plus alimentare (VCC, GND). Tehnologia I2C ne scapă de cablarea paralelă complexă de 8 fire.
Buzzer: Conectat la un pin cu capabilitate de PWM (ex. pin de output de la Timer) pentru a genera independent tonurile audio.
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