This shows you the differences between two versions of the page.
|
pm:prj2026:atoader:ionel_andrei.ciuca [2026/05/16 15:59] ionel_andrei.ciuca [Hardware Design] |
pm:prj2026:atoader:ionel_andrei.ciuca [2026/05/16 18:03] (current) ionel_andrei.ciuca [Schema electrica] |
||
|---|---|---|---|
| Line 48: | Line 48: | ||
| | Sursa de alimentare | 5V prin USB sau externa | 1 | | | Sursa de alimentare | 5V prin USB sau externa | 1 | | ||
| - | {{:pm:prj2026:atoader:poza1_ciuca_andrei.png?600|}} | + | == Componente folosite == |
| - | {{:pm:prj2026:atoader:poza2_ciuca_andrei.png?600|}} | + | |
| - | {{:pm:prj2026:atoader:poza3_ciuca_andrei.jpeg?600|}} | + | ^ Componenta ^ Rol in proiect ^ |
| + | | ATmega328P Xplained Mini | Microcontroller principal - proceseaza semnalele de la senzori, calculeaza viteza si controleaza afisajul si buzzer-ul | | ||
| + | | HC-SR04 #1 (Senzor 1) | Senzor ultrasonic - detecteaza trecerea unui obiect prin primul punct de masurare | | ||
| + | | HC-SR04 #2 (Senzor 2) | Senzor ultrasonic - detecteaza trecerea aceluiasi obiect prin al doilea punct de masurare | | ||
| + | | LCD 16x2 cu modul I2C (LCD_I2C) | Afiseaza mesajele "Speed Radar" si viteza calculata in km/h | | ||
| + | | Buzzer pasiv | Semnalizare sonora la detectarea unui obiect | | ||
| + | | Breadboard + fire jumper | Interconectarea componentelor | | ||
| + | |||
| + | == Pinii folositi == | ||
| + | |||
| + | ^ Pin ATmega328P ^ Eticheta ^ Componenta ^ Rol ^ | ||
| + | | PB2 | PB2 | Buzzer | Semnal digital pentru activarea buzzer-ului | | ||
| + | | PD2 | ECHO1 | HC-SR04 #1 | Receptie semnal ECHO de la senzorul 1 (input) | | ||
| + | | PD3 | ECHO2 | HC-SR04 #2 | Receptie semnal ECHO de la senzorul 2 (input) | | ||
| + | | PD4 | TRIG1 | HC-SR04 #1 | Trimitere puls TRIG catre senzorul 1 (output) | | ||
| + | | PD5 | TRIG2 | HC-SR04 #2 | Trimitere puls TRIG catre senzorul 2 (output) | | ||
| + | | PC4 | SDA | LCD I2C | Linie de date I2C pentru LCD | | ||
| + | | PC5 | SCL | LCD I2C | Linie de ceas I2C pentru LCD | | ||
| + | | VCC | +5V | Toate componentele | Alimentare 5V | | ||
| + | | GND | GND | Toate componentele | Masa comuna | | ||
| + | |||
| + | Am ales pinii ECHO pe PD2/PD3 deoarece corespund intreruperilor externe INT0 si INT1 ale ATmega328P Xplained Mini, permitand capturarea precisa a timpului semnalelor ultrasunetelor prin intreruperi hardware, fara polling. | ||
| + | |||
| + | Comunicatia I2C (SDA/SCL pe PC4/PC5) pentru a putea transmite semnalele. | ||
| + | |||
| + | ==== Schema electrica ==== | ||
| + | {{:pm:prj2026:atoader:poza1_2_ciuca_andrei.png?600|}} | ||
| + | |||
| + | 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 #1** conectat pe pinii TRIG1 (PD4) si ECHO1 (PD2) - reprezinta primul senzor de viteza | ||
| + | * **HC-SR04 #2** conectat pe pinii TRIG2 (PD5) si ECHO2 (PD3) - reprezinta al doilea senzor de viteza, distanta este plasata la distanta pe care o cunoastem | ||
| + | * **LCD I2C** conectat pe magistrala I2C (SDA=PC4, SCL=PC5) cu alimentare de 5V | ||
| + | * **Buzzer** connectat pe PB2 pentru activare si alimentarea este de 5V + ground | ||
| + | |||
| + | ==== Principiu de functionare ==== | ||
| + | Cei 2 senzori HC-SR04 sunt plasati la o distanta fixa si cunoscuta **d** (in cm) pe acelasi ax. Cand un obiect trece prin deptul primului senzor, microcontroller-ul porneste un cronometru. Cand acelasi obiect trece prin dreptul celui de-al doilea senzor, cronometrul se opreste si calculeaza viteza. | ||
| + | |||
| + | === Imagini Hardware === | ||
| {{:pm:prj2026:atoader:poza4_ciuca_andrei.jpeg?600|}} | {{:pm:prj2026:atoader:poza4_ciuca_andrei.jpeg?600|}} | ||
| - | <note tip> | + | |
| - | Aici puneţi tot ce ţine de hardware design: | + | Imaginea de mai sus prezinta cum am legat cablurile. Cei 2 senzori plasati la capetele unui suport rigid, LCD-ul cu modulul I2C in centru si buzzer-ul atasat lateral. LCD-ul afiseaza "Speed Radar / Viteza XX km/h". |
| - | * listă de piese | + | {{:pm:prj2026:atoader:poza3_ciuca_andrei.jpeg?600|}} |
| - | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | |
| - | * diagrame de semnal | + | In imaginea de mai sus se observa clar cum LCD-ul prin I2C reuseste sa afiseze viteza corespunzatoare calculata. |
| - | * rezultatele simulării | + | |
| - | </note> | + | {{:pm:prj2026:atoader:poza2_ciuca_andrei.png?600|}} |
| + | |||
| + | In imaginea de mai sus se observa cum senzorul 1 a detectat un obiect, a trimis semnal, dureaza pana ajunge obiectul la senzorul 2. Cand obiectul a ajuns la senzorul 2 acesta il detecteaza, trimite semnal iar microcontroller-ul calculeaza viteza, trimite catre I2C sa o afiseze pe LCD. Executia se opreste pentru cateva secunde, iar apoi incepem iar detectarea pe senzorul 1 prin resetare. | ||
| ===== Software Design ===== | ===== Software Design ===== | ||