This shows you the differences between two versions of the page.
|
pm:prj2026:atoader:adrian_cosmin.amzar [2026/05/07 18:25] adrian_cosmin.amzar [Descriere generală] |
pm:prj2026:atoader:adrian_cosmin.amzar [2026/05/16 21:03] (current) adrian_cosmin.amzar [Hardware Design] |
||
|---|---|---|---|
| Line 35: | Line 35: | ||
| * **Logica principala** - decide cand sa deschida capacul, cand sa il inchida, incrementeaza contorul si actualizeaza display-ul | * **Logica principala** - decide cand sa deschida capacul, cand sa il inchida, incrementeaza contorul si actualizeaza display-ul | ||
| - | {{:pm:prj2026:atoader:schema.png?600|}} | + | {{:pm:prj2026:atoader:schema.png?800|}} |
| <note tip> | <note tip> | ||
| Line 44: | Line 44: | ||
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| + | |||
| + | === Lista Componente === | ||
| + | |||
| + | ^ Componenta ^ Model / Specificatii ^ Cantitate ^ | ||
| + | | Microcontroller | ATmega328P-XMINI | 1 | | ||
| + | | Breadboard | 400 puncte | 1 | | ||
| + | | Fire tata-tata | 20cm, dupont | ~8 | | ||
| + | | Fire mama-tata | 20cm, dupont | ~8 | | ||
| + | | Rezistenta | 220Ω | 4 | | ||
| + | | Senzor ultrasonic | HC-SR04P | 1 | | ||
| + | | LED rosu | 5mm, 3.5V | 2 | | ||
| + | | LED verde | 5mm, 3.5V | 2 | | ||
| + | | Servo motor | SG90, 5V | 1 | | ||
| + | | Buzzer activ | 5V, 2300Hz | 1 | | ||
| + | | Display LCD + modul I2C | LCD 1602, interfata I2C | 1 | | ||
| + | |||
| + | === Componente folosite si Rolul lor === | ||
| + | |||
| + | ^ Componenta ^ Rol in proiect ^ | ||
| + | | Microcontroller ATmega328P-XMINI | Creierul sistemului. Ruleaza codul in C pur, citeste senzorul prin pooling si controleaza actuatorii (timere, registre). | | ||
| + | | Senzor ultrasonic HC-SR04P | Modulul de input. Masoara distanta pana la mana utilizatorului prin emiterea si receptia de unde sonore. | | ||
| + | | Servo motor SG90 | Actuatorul principal. Actioneaza mecanic tija (push-rod) pentru a ridica si cobori capacul cosului. | | ||
| + | | Display LCD 1602 + modul I2C | Interfata vizuala. Afiseaza mesaje de stare ("Apropie mana", "Capac Deschis!") si contorul de utilizari. | | ||
| + | | Buzzer activ | Feedback sonor. Emite un semnal acustic scurt (un "beep") in momentul in care capacul se deschide. | | ||
| + | |||
| + | === Pinii folositi === | ||
| + | |||
| + | ^ Pin ATmega328P ^ Eticheta ^ Componenta ^ Rol ^ | ||
| + | | PD2 | BUZZER | Buzzer Activ | Iesire digitala - Controlul on/off al semnalului sonor | | ||
| + | | PD3 | LED_ROSU | LED-uri Rosii | Iesire digitala - Activarea indicatorului de capac deschis | | ||
| + | | PD4 | LED_VERDE | LED-uri Verzi | Iesire digitala - Activarea indicatorului de stare de veghe | | ||
| + | | PD5 | US_ECHO | Senzor HC-SR04 | Intrare digitala - Masurarea duratei pulsului de ecou reflectat | | ||
| + | | PD6 | US_TRIG | Senzor HC-SR04 | Iesire digitala - Generarea pulsului de declansare de 10us | | ||
| + | | PB1 | SERVO_PWM | Servo SG90 | Iesire PWM - Generat de Timer 1 (OC1A) la 50Hz pentru unghi | | ||
| + | | PC4 | SDA | Modul LCD I2C | Linie de date bidirectionala (interfata hardware TWI) | | ||
| + | | PC5 | SCL | Modul LCD I2C | Linie de ceas/sincronizare (interfata hardware TWI) | | ||
| + | | VCC / +5V | VCC | Toate | Magistrala pozitiva de alimentare (5V din USB-ul placii) | | ||
| + | | GND | GND | Toate | Masa comuna a circuitului (intoarcerea curentului la sursa) | | ||
| + | |||
| + | === Schema electrica === | ||
| + | |||
| + | {{:pm:prj2026:atoader:schemaCosSmart.png?800|}} | ||
| + | |||
| + | Nu am gasit in KiCad placa ATmega328P Xplained Mini si am folosit echivalentul ATmega328P-P | ||
| + | |||
| + | Schema prezinta: | ||
| + | * ATmega328P Xplained Mini in centru, ca unitate de control | ||
| + | * HC-SR04 conectat pe pinii TRIG (PD6) si ECHO (PD5) - reprezinta senzorul ultrasonic pentru masurarea distantei | ||
| + | * Servo motor SG90 conectat pe pinul PWM (PB1) - reprezinta actuatorul folosit pentru ridicarea capacului | ||
| + | * LCD I2C conectat pe magistrala I2C (SDA=PC4, SCL=PC5) cu alimentare de 5V - afiseaza starea si numarul de utilizari | ||
| + | * Buzzer conectat pe PD2 pentru activare si semnalizare sonora scurta la deschidere | ||
| + | * LED-uri verzi conectate in paralel pe pinul PD4 prin rezistente de 220 Ohm - indicator pentru starea de repaus | ||
| + | * LED-uri rosii conectate in paralel pe pinul PD3 prin rezistente de 220 Ohm - indicator pentru starea activa (capac deschis) | ||
| + | |||
| + | === Principiu de functionare === | ||
| + | |||
| + | Sistemul functioneaza pe baza unei bucle infinite de citire si reactie, impartita in trei stadii: | ||
| + | * Starea de Veghe (Repaus): Senzorul ultrasonic emite unde in permanenta. Cat timp distanta masurata este mai mare de 8 cm, capacul ramane inchis, LED-urile verzi sunt aprinse (indicand starea de veghe), iar ecranul LCD afiseaza textul stabil "Apropie mana" alaturi de numarul curent de utilizari. | ||
| + | * Starea Activa (Detectie): Cand o mana se apropie la sub 8 cm, microcontrollerul comuta starea: LED-urile verzi se sting, cele rosii se aprind, buzzerul emite un semnal sonor scurt (150ms) ca feedback, iar ecranul isi schimba textul in "Capac Deschis!". In acelasi timp, contorul de utilizari creste cu +1, iar Timerul 1 modifica factorul de umplere (Duty Cycle) pe pinul PB1, determinand servomotorul sa roteasca axul rapid la 90 de grade, ridicand capacul prin intermediul tijei mecanice. | ||
| + | * Temporizare si Revenire: Sistemul mentine capacul deschis timp de 4 secunde pentru a permite aruncarea deseurilor. Dupa expirarea timpului, motorul revine lin la 0 grade, LED-urile rosii se sting, cele verzi se reaprind, iar ecranul revine la mesajul de veghe, actualizat cu noul numar de utilizari. | ||
| + | |||
| + | == Imagini Hardware == | ||
| + | |||
| + | {{:pm:prj2026:atoader:p1CosSmart.jpeg?400|}} | ||
| + | {{:pm:prj2026:atoader:p2CosSmart.jpeg?400|}} | ||
| + | {{:pm:prj2026:atoader:p3CosSmart.jpeg?400|}} | ||
| + | {{:pm:prj2026:atoader:p4CosSmart.jpeg?400|}} | ||
| + | {{:pm:prj2026:atoader:p5CosSmart.jpeg?400|}} | ||
| + | {{:pm:prj2026:atoader:dovadacamergeCosSmart.jpeg?400|}} | ||
| + | |||
| + | In imaginea de mai sus se poate observa cum senzorul a detectat ca m-am apropiat sub threshold-ul de 8cm si trimite semnal la SG90 sa deschida cosul, ca sa aruncam gunoiul in el. | ||
| <note tip> | <note tip> | ||