Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2026:florin.stancu:denis.batman [2026/05/12 15:50]
denis.batman
pm:prj2026:florin.stancu:denis.batman [2026/05/12 16:34] (current)
denis.batman [Hardware Design]
Line 1: Line 1:
-====== Smart Pocket Calculator ​with Audio Feedback ======+====== Smart Pocket Calculator ​cu Feedback ​Audio ======
  
-===== Introduction ​=====+===== Introducere ​=====
  
-What it does: The project is a functional, portable pocket calculator capable of evaluating basic arithmetic expressions ​(additionsubtractionmultiplicationand division). It takes input from a 4x4 matrix keypaddisplays the operations and results on an LCD screenand uses a passive buzzer to provide audio feedback for key presses and errors.+Proiectul constă într-un Calculator de Buzunar Smart cu Feedback Audio. Acesta rezolvă operații matematice de bază (+-*/șispre deosebire de un calculator standard implementat pe breadboardoferă o confirmare sonoră instantanee
  
-Its purpose: To create ​reliable and user-friendly calculation tool while demonstrating the practical integration of multiple hardware peripherals and essential software concepts ​(such as debouncing, ​state machines, and I2C communication).+**Scopul proiectului** este de 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ă =====
  
-The starting idea: Standard breadboard calculators or simple digital projects often lack tactile or audio feedbackleading to missed inputs or double-presses. We wanted to solve this by adding an auditory layer that confirms user actions, making the device feel more like finished commercial product.+Sistemul utilizează microcontrolerul ca unitate centrală de procesare și integrează 3 periferice externe (cerință de regulament)folosind conceptele ​cel puțin 3 laboratoare (GPIO, Timere/PWM, I2C).
  
-Why it is usefulFor us, it provides ​great learning platform for handling matrix inputsstring parsing, and hardware ​timers on a microcontrollerFor the user, the audio feedback drastically reduces input errors, making it more reliable than a silent keypad interface.+Sistemul este alcătuit din următoarele module: 
 +  * **Modul Input (Tastatură matricială 4x4):** Permite introducerea cifrelor și 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 conexiunicrescâ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).
  
-===== General Description ===== +**Interacțiunea modulelor:​** 
-The system is built around a central microcontroller unit (MCU). The architecture consists of three main external modules interacting with the processing unit:+La apăsarea unei taste pe matricea 4x4, 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 softwarememorează primul număr, operatorul și al doilea număr, executând calculul la apăsarea tastei ”=”.
  
-Input Module (4x4 Keypad): Connected via GPIO pins. It sends raw row/column data to the microcontroller when a key is pressed.+===== Hardware Design =====
  
-Visual Output Module (I2C LCD): Connected via the I2C bus (SDA/SCL pins). It receives parsed strings from the MCU to display the current operandsmathematical operatorsand the final result.+Designul hardware a fost gândit pentru a fi simplu de implementat și robustrespectând cerința de a avea un cablaj curat și un aspect ordonatfără fire redundante.
  
-Audio Output Module (Passive Buzzer)Connected via a PWM-capable pin. The MCU uses timers to generate specific frequencies ​(tonesdepending on the context: a short beep for a valid key pressand a longer, distinct tone for invalid operations (e.g., division by zero).+**Listă de piese:** 
 +  * 1 x Microcontroler 
 +  * 1 x Tastatură matricială 4x4 
 +  * 1 x Ecran LCD 1602 
 +  * 1 x Modul adaptor I2C pentru LCD (PCF8574) 
 +  * 1 x Buzzer pasiv 
 +  * Fire de conexiunebreadboard / placă de test
  
-[Insert Block Diagram Here]+**Conexiuni principale (Schemă bloc simplificată):​** 
 +  * **Tastatura 4x4:** 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.
  
-===== Hardware Design ===== 
-List of Components: 
  
-1x Microcontroller Board (e.g., Arduino Nano / Uno or ATmega324A/​328P)+===== Software Design =====
  
-1x 4x4 Matrix Keypad 
  
-1x 1602 LCD Display with I2C Module adapter+<note tip> 
 +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 
 +</​note>​
  
-1x Passive Buzzer+===== Rezultate Obţinute =====
  
-1x Breadboard+<note tip> 
 +Care au fost rezultatele obţinute în urma realizării proiectului vostru. 
 +</​note>​
  
-Jumper wires (Male-to-Male and Male-to-Female)+===== Concluzii =====
  
-1x Resistor (approx. 220Ω - 1kΩ) for the buzzer (optional)+===== Download =====
  
-Schematics and Signal Diagrams: +<note warning>​ 
-[Insert Schematic Image Here] +O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).
-[Insert Picture of the Breadboard setup Here]+
  
-===== Software Design =====+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**. 
 +</​note>​
  
-===== Rezultate Obţinute ​=====  +===== Jurnal ​=====
  
-===== Concluzii =====  ​+<note tip> 
 +Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. 
 +</​note>​
  
-===== Download ​=====  +===== Bibliografie/​Resurse ​=====
  
-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.  ​+<​note>​ 
 +Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate ​pe **Resurse Software** ​şi **Resurse Hardware**. 
 +</note>
  
-===== Jurnal =====   +<​html><​a class="media mediafile mf_pdf"​ href="?do=export_pdf">​Export to PDF</a></​html>​
- +
-===== Bibliografie/Resurse =====+
pm/prj2026/florin.stancu/denis.batman.1778590228.txt.gz · Last modified: 2026/05/12 15:50 by denis.batman
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