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 |
| Componenta | Cantitate | Rol in proiect |
|---|---|---|
| ATmega328P Xplained Mini | 1 | Microcontrollerul principal |
| Load Cell 100g | 1 | Masurarea greutatii pachetului |
| Modul HX711 | 1 | Amplificare si conversie ADC 24-bit |
| Display OLED SSD1306 128×64 I2C | 1 | Afisarea numarului de tigari |
| Buton push-button 6x6mm | 1 | Declansare masurare / calibrare tara |
| Rezistor 10kΩ | 1 | Pull-up buton (optional, se foloseste intern) |
| Condensator ceramic 100nF | 4 | Decuplare alimentare langa fiecare CI |
| Condensator electrolitic 10µF | 1 | Stabilizare rail 5V |
| Breadboard | 1 | Montaj circuit |
| Fire jumper tata-tata | 10 | Conexiuni pe breadboard |
| Fire jumper tata-mama | 10 | Conexiuni catre module |
| Cablu USB | 1 | Alimentare si programare |
| Platforma/suport pentru load cell | 1 | Suport mecanic pentru pachet (din lemn/acril) |
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