This is an old revision of the document!


EasyPOS, Casa de marcat

Introducere

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.

Descriere generală

Sistemul este construit in jurul microcontrollerului ATmega328P si integreaza urmatoarele functionalitati:

  • Identificare Produs: Utilizarea unui modul scanner optic (E2100) pentru citirea codurilor de bare prin protocolul UART.
  • Interfata Vizuala: Afisarea numelui produsului, pretului unitar si a totalului pe un display LCD 1602 utilizand protocolul I2C.
  • Sistem de Alerta: Se aude un feedback sonor prin intermediul unui buzzer (folosind semnale PWM) pentru a confirma scanarea cu succes sau pentru a semnala erori (ex: produs necunoscut).
  • Control Utilizator: Interactiune prin butoane configurate pe intreruperi externe pentru functii precum “Finalizare Bon” sau “Golire Cos”.
  • Design Compact: Utilizarea form-factor-ului Mini pentru a facilita portabilitatea și integrarea într-o carcasa ergonomica.

Hardware Design

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>

Diagrame de Semnal

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>

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

pm/prj2026/vlad.radulescu2901/aelius.dinca.1778608179.txt.gz · Last modified: 2026/05/12 20:49 by aelius.dinca
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