This is an old revision of the document!
Proiectul consta in realizarea unui Sistem Embedded de tip POS (Point-of-Sale), o casa de marcat inteligenta capabila sa identifice produse prin scanare optica, sa gestioneze un cos de cumparaturi si sa furnizeze informatii in timp real utilizatorului.
Scopul acestui proiect este de a integra diverse protocoale de comunicatie seriala si periferice I/O pentru a simula fluxul operational dintr-un punct de vanzare comercial. Utilizatorul poate scana coduri de bare de tip EAN-13 (specifice produselor din comert), sistemul identifica produsul intr-o baza de date locala, afiseaza pretul pe un ecran LCD si calculeaza totalul bonului fiscal.
Sistemul este construit in jurul microcontrollerului ATmega328P si integreaza urmatoarele functionalitati:
Mai jos este prezentată lista componentelor hardware utilizate pentru asamblarea și funcționarea sistemului POS:
| Nr. | Componentă | Cantitate | Detalii |
|---|---|---|---|
| 1 | ATmega328P Xplained Mini | 1 | Placă de dezvoltare principală, hub-ul logic al sistemului |
| 2 | Modul scanner coduri de bare E2100 | 1 | Citire coduri 1D/2D, comunicație UART la 5V |
| 3 | Adaptor cablu FPC 12 pini (0.5mm) | 1 | Breakout board pentru interconectarea panglicii scannerului |
| 4 | Display LCD 1602 verde | 1 | Afișare text pe 2 rânduri, modul I2C (PCF8574) inclus |
| 5 | Buzzer piezoelectric activ 3-24V | 1 | Feedback sonor la scanare/erori, controlat logic (High/Low) |
| 6 | Buton MIC (Push Button) | 3 | Input utilizator (ex: Finalizare Bon, Reset, Declanșare manuală) |
| 7 | Rezistențe (10kΩ) / Condensatoare | 1 set | Folosite pentru pull-up/pull-down și debouncing hardware |
| 8 | Breadboard 830 puncte MB-102 | 1 | Suport principal pentru prototipare și managementul alimentării |
| 9 | Set fire DuPont (M-M, M-F) | 1 set | Realizarea legăturilor între placă, adaptoare și componente |
| 10 | Cablu USB Micro | 1 | Programare și alimentare placă Xplained Mini de la PC |
| 11 | Barete pini tată (2.54mm) | 1 set | Necesari pentru placa Xplained și adaptorul FPC |
Diagrama de mai jos ilustrează conexiunile logice și pinii utilizați pentru interconectarea perifericelor la microcontroller-ul ATmega328P. Am folosit porturile hardware dedicate pentru comunicația serială (UART și I2C).
<uml> @startuml skinparam componentStyle rectangle skinparam backgroundColor white
node “ATmega328P Xplained Mini” as MCU {
port "5V" as 5V port "GND" as GND port "PD0 (RX)" as RX port "PD1 (TX)" as TX port "PC4 (SDA)" as SDA port "PC5 (SCL)" as SCL port "PD2 (INT0)" as BTN1 port "PD3 (INT1)" as BTN2 port "PD5 (OUT)" as BUZZ
}
node “Scanner E2100” as SCAN {
port "VCC (Pin 3)" as SVCC port "GND (Pin 4)" as SGND port "TX (Pin 6)" as STX port "RX (Pin 5)" as SRX
}
node “LCD 1602 (Modul I2C)” as LCD node “Buzzer Activ” as BZ node “Butoane Control” as BTNS
5V -down→ SVCC : 5V GND -down→ SGND : GND RX ←down- STX : UART RX TX -down→ SRX : UART TX
5V -right→ LCD : VCC GND -right→ LCD : GND SDA ←right→ LCD : I2C SDA SCL -right→ LCD : I2C SCL
BUZZ -up→ BZ : Semnal High/Low GND -up→ BZ : GND
BTN1 ←up- BTNS : Pull-up Intern BTN2 ←up- BTNS : Pull-up Intern GND -up→ BTNS : GND @enduml </uml>
Mai jos este prezentată diagrama de semnal (Timing Diagram) pentru un ciclu complet de scanare. Aceasta arată cum datele sunt transmise de la Scanner către ATmega pe magistrala UART, urmate de activarea logică a Buzzer-ului ca formă de confirmare sonoră a recepției.
<uml> @startuml concise “UART TX (Scanner)” as TX binary “Buzzer Pin (PD5)” as BUZ
@0 TX is Idle BUZ is Low
@10 TX is Start_Bit
@15 TX is Date_Cod_Bare : 0x35 ('5') etc.
@45 TX is Stop_Bit
@50 TX is Idle BUZ is High : Declansare Beep Confirmare
@70 BUZ is Low @enduml </uml>
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.