This is an old revision of the document!
Proiectul meu este un dispozitiv inteligent care determina automat cate tigari au mai ramas intr-un pachet de tigari, folosind un senzor de greutate de precizie.
Ideea a pornit de la o observatie simpla: de multe ori nu stii cate tigari mai ai in pachet fara sa-l deschizi sau sa numeri manual. Mi-am propus sa rezolv acest lucru intr-un mod elegant si non-invaziv, fara a modifica pachetul si fara sa fie nevoie de o camera sau de procesare de imagine complexa.
Sistemul foloseste un senzor de forta (load cell) conectat la un modul de amplificare ADC pe 24 de biti (HX711) pentru a masura greutatea pachetului cu precizie sub 0.1g. Deoarece fiecare tigara Marlboro Red cantareste aproximativ 0.95g, iar greutatea ambalajului gol este cunoscuta si calibrata la pornire, microcontrollerul ATmega328P calculeaza numarul de tigari prin simpla impartire a greutatii nete la greutatea unei singure tigari. Rezultatul este afisat in timp real pe un ecran OLED de 128×64 pixeli. Interactiunea cu utilizatorul se face printr-un singur buton: o apasare scurta actualizeaza afisajul, iar una lunga recalibra tara (greutatea ambalajului gol).
Proiectul este util pentru ca:
Sistemul este compus din urmatoarele module hardware si software, care interactioneaza dupa cum urmeaza:
Fluxul de functionare al sistemului este urmatorul: la pornire, utilizatorul plaseaza pachetul GOL pe platforma si apasa lung butonul pentru a calibra tara. Dupa calibrare, indiferent de cate tigari se afla in pachet, sistemul calculeaza automat numarul ramas la fiecare apasare scurta a butonului si il afiseaza pe OLED.
| Modul | Descriere Tehnica | Protocol / Interfata |
|---|---|---|
| ATmega328P Xplained Mini | Unitate centrala de procesare, 16MHz, 5V | Master al intregului sistem |
| Load Cell 100g | Senzor mecanic rezistiv (punte Wheatstone) | Semnal analogic diferential (mV) |
| HX711 | ADC 24-bit + amplificator pentru load cell | Two-wire: DOUT (PC3), PD_SCK (PC2) |
| OLED SSD1306 128×64 | Display grafic pentru afisarea rezultatelor | I2C: SDA (PC4), SCL (PC5) |
| Buton | Interactiune utilizator (masurare / calibrare) | GPIO: PD2, pull-up intern |
Am realizat conectarea display-ului 7-segment 5461AS (4 cifre) la ATmega328P Xplained Mini pe breadboard, cu rezistoarele de limitare curent pe segmente. Am validat funcționarea plăcii prin upload de firmware de test (LED blink pe PB5), confirmat vizual.
Componentele de măsurare a greutății (load cell 1kg + modul HX711) au fost comandate și urmează să fie integrate în etapa următoare.
| Componentă | Rol în proiect | Interfață |
|---|---|---|
| ATmega328P Xplained Mini | Unitate centrală de procesare | — |
| Display 7-segment 5461AS | Afișarea numărului de țigări | GPIO — multiplexare software |
| 7× rezistor 220Ω | Limitare curent pe segmente | — |
| Buton tactil | Declanșare măsurare / calibrare tară | GPIO PD2, pull-up intern |
| Load cell 1kg (în așteptare) | Măsurarea greutății pachetului | Semnal analogic diferențial |
| Modul HX711 (în așteptare) | ADC 24-bit pentru load cell | Two-wire: DOUT + PD_SCK |
| Modul | Semnal | Pin ATmega328P |
|---|---|---|
| Display — segment a | OUT | PD2 |
| Display — segment b | OUT | PD3 |
| Display — segment c | OUT | PD4 |
| Display — segment d | OUT | PD5 |
| Display — segment e | OUT | PD6 |
| Display — segment f | OUT | PD7 |
| Display — segment g | OUT | PB0 |
| Display — DIG1 | OUT | PB1 |
| Display — DIG2 | OUT | PB2 |
| Display — DIG3 | OUT | PB3 |
| Display — DIG4 | OUT | PB4 |
| Buton | IN | PD2 |
| HX711 DOUT (în așteptare) | IN | PC3 (A3) |
| HX711 PD_SCK (în așteptare) | OUT | PC2 (A2) |
Rezistoarele de 220Ω sunt montate pe fiecare linie de segment pentru a limita curentul la ~14mA per LED. Pinii de cifră (DIG1–DIG4) merg direct, fără rezistor. Butonul folosește pull-up intern activat software (INPUT_PULLUP).
TODO — schemă KiCad în lucru.
Am uploadat un program de test blink pe LED-ul onboard (PB5). LED-ul clipește la 500ms, confirmând că placa, toolchain-ul PlatformIO și conexiunea USB funcționează corect.
TODO - schema electrica realizata in KiCad
Marlboro Red Long (cu tigari scurte):
TODO - rezultate dupa realizarea montajului fizic
TODO
TODO - link GitHub cu surse, schema KiCad, README