This is an old revision of the document!
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.
Ipoteză asumată: Credem că implementarea unui feedback audio distinct (un ton scurt pentru succes, un ton lung pentru erori matematice) va îmbunătăți performanța și acuratețea utilizării, reducând considerabil rateurile la introducerea operanzilor. Metrici de performanță: Timp de răspuns la apăsare sub 50ms (măsurabil prin generarea promptă a tonului PWM) și o execuție hardware complet funcțională, cu conexiuni I2C stabile.
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:
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 ”=”.
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:
Conexiuni principale (Schemă bloc simplificată):
*(Aici se vor atașa pe wiki schemele electrice realizate în Eagle / Proteus etc.)*
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.