This shows you the differences between two versions of the page.
|
pm:prj2026:tarik_ilhan.omer:sergiu.ivan [2026/05/05 11:51] sergiu.ivan |
pm:prj2026:tarik_ilhan.omer:sergiu.ivan [2026/05/05 12:20] (current) sergiu.ivan [Descriere generala] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | Iata varianta fara diacritice, pregatita pentru a fi copiata direct in pagina de pe OCW: | ||
| - | |||
| ====== Sistem Autonom de Scanare si Avertizare (Radar Ultrasonic) ====== | ====== Sistem Autonom de Scanare si Avertizare (Radar Ultrasonic) ====== | ||
| ===== Introducere ===== | ===== Introducere ===== | ||
| + | Proiectul consta in realizarea unui **sistem inteligent de tip radar / turela defensiva**, capabil sa scaneze mediul inconjurator la 180 de grade si sa detecteze obstacole in timp real. | ||
| - | Proiectul consta in realizarea unui sistem inteligent de tip radar / turela defensiva, capabil sa scaneze mediul inconjurator la 180 de grade si sa detecteze obstacole in timp real. | + | Sistemul utilizeaza un senzor cu ultrasunete montat pe un micro-servomotor pentru a scana zona. Datele culese (distanta si unghiul) sunt prelucrate de microcontroler si afisate local pe un ecran OLED. Spre deosebire de proiectele clasice de tip radar care depind de un PC pentru afisarea grafica, **acest sistem este 100% independent**. |
| - | Sistemul utilizeaza un senzor cu ultrasunete montat pe un micro-servomotor pentru a scana zona, iar datele culese (distanta si unghiul) sunt prelucrate de microcontroler si afisate local pe un ecran OLED. Spre deosebire de proiectele clasice de tip radar care depind de un PC pentru afisarea grafica, acest sistem este 100% independent. | + | **Ce aduce nou?** |
| - | + | Elementul de interactivitate consta in implementarea unui **mod de alerta**: in momentul in care un obiect patrunde intr-un perimetru de siguranta predefinit (sub 20 cm), sistemul intrerupe secventa de scanare, blocheaza senzorul pe unghiul tintei si declanseaza instantaneu o alarma acustica (buzzer) si vizuala (LED RGB). | |
| - | Elementul de interactivitate consta in implementarea unui mod de alerta: in momentul in care un obiect patrunde intr-un perimetru de siguranta predefinit (de exemplu, o distanta mai mica de 20 cm), sistemul intrerupe secventa de scanare, blocheaza senzorul pe unghiul tintei si declanseaza instantaneu o alarma acustica (buzzer) si vizuala (LED RGB). | + | |
| - | + | ||
| - | Scopul proiectului este de a consolida cunostintele de programare hardware a microcontrolerelor, combinand mai multe concepte fundamentale: generarea de semnale PWM, comunicarea pe magistrala I2C si utilizarea timerelor interne pentru calculul distantei. | + | |
| ===== Descriere generala ===== | ===== Descriere generala ===== | ||
| + | Arhitectura proiectului este formata dintr-o unitate centrala de procesare si mai multe module periferice de intrare/iesire. | ||
| - | Arhitectura proiectului este formata dintr-o unitate centrala de procesare si mai multe module periferice de intrare/iesire. | + | **Schema bloc a sistemului:** |
| - | + | * **Creierul:** Placa ATMEGA328P-XMINI coordoneaza intregul sistem. | |
| - | Schema bloc a sistemului: | + | * **Actuatorul (Miscare):** Micro-servomotorul SG90 asigura miscarea de "maturare". |
| - | + | * **Input (Detectie):** Senzorul ultrasonic HC-SR04+ calculeaza distanta. | |
| - | Creierul (Microcontrolerul): Placa de dezvoltare ATMEGA328P-XMINI coordoneaza intregul sistem. Trimite semnale catre actuatori, proceseaza datele de la senzor si comunica cu display-ul. | + | * **Output (Afisare):** Ecranul OLED 0.96" afiseaza grafica prin protocolul I2C. |
| - | + | * **Output (Alerta):** Buzzer-ul activ si LED-ul RGB semnalizeaza intrusii. | |
| - | Modulul de Miscare (Actuator): Micro-servomotorul SG90. Acesta primeste un semnal PWM de la microcontroler pentru a se pozitiona la unghiul dorit (intre 0 si 180 de grade), asigurand miscarea de "maturare" a radarului. | + | |
| - | + | ||
| - | Modulul de Detectie (Input): Senzorul ultrasonic HC-SR04+. Primeste un puls de "Trigger" de la microcontroler, emite ultrasunetele, si intoarce un semnal "Echo". Microcontrolerul foloseste un Timer pentru a masura durata semnalului si a calcula distanta. | + | |
| - | + | ||
| - | Modulul de Afisare (Output): Ecranul OLED 0.96". Comunica cu microcontrolerul prin protocolul I2C (pinii SDA si SCL) si actualizeaza in timp real interfata grafica cu distanta masurata si unghiul curent. | + | |
| - | + | ||
| - | Modulul de Alerta (Output): Format dintr-un Buzzer activ si un LED RGB. Sunt actionate direct prin pinii GPIO atunci cand microcontrolerul intra in starea de "ALARMA". | + | |
| + | {{:pm:prj2026:tarik_ilhan.omer:schema_bloc_sergiu.png?600|}} | ||
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| + | **Lista de piese (BOM - Bill of Materials)** | ||
| + | ^ Componenta ^ Rol in proiect ^ Protocol / Pini ^ | ||
| + | | ATMEGA328P-XMINI | Microcontroler | - | | ||
| + | | HC-SR04+ | Senzor distanta | GPIO (Trig/Echo) | | ||
| + | | SG90 | Servomotor | PWM | | ||
| + | | Display OLED 0.96" | Afisaj grafic | I2C (SDA, SCL) | | ||
| + | | Buzzer Activ 5V | Alarma sonora | GPIO | | ||
| + | | LED RGB | Alarma vizuala | GPIO | | ||
| - | Lista de piese: | + | **Conexiuni hardware:** |
| - | + | * **Servomotor SG90:** Pinul de semnal conectat la un pin cu capabilitate **PWM**. | |
| - | Placa de dezvoltare ATMEGA328P-XMINI | + | * **Senzor HC-SR04+:** Pinul TRIG la GPIO (Output), pinul ECHO la GPIO (Input). |
| - | + | * **OLED I2C:** Pinul SDA la SDA, SCL la SCL. | |
| - | Senzor Ultrasonic de Distanta HC-SR04+ (Compatibil 3.3V si 5V) | + | * **Alimentare:** Tot sistemul la 5V. |
| - | + | ||
| - | Micro-servomotor SG90 (180 grade) | + | |
| - | + | ||
| - | Display OLED 0.96" I2C (controler SSD1306) | + | |
| - | + | ||
| - | Buzzer Activ (5V) | + | |
| - | + | ||
| - | LED RGB (Catod Comun) + 3x Rezistente 330 ohm | + | |
| - | + | ||
| - | Breadboard 400 puncte | + | |
| - | + | ||
| - | Fire de conexiune Dupont (Tata-Tata si Mama-Tata) | + | |
| - | + | ||
| - | Conexiuni hardware de principiu: | + | |
| - | + | ||
| - | Servomotor SG90: Pinul de semnal conectat la un pin cu capabilitate PWM al ATmega328P. | + | |
| - | + | ||
| - | Senzor HC-SR04+: Pinul TRIG conectat la un pin digital (Output), pinul ECHO conectat la un pin digital (Input - preferabil cu suport pentru intreruperi externe sau Input Capture). | + | |
| - | + | ||
| - | OLED I2C: Pinul SDA la pinul SDA al placii, pinul SCL la pinul SCL al placii. | + | |
| - | + | ||
| - | Buzzer & LED: Conectate la pini GPIO standard, cu rezistentele de rigoare pentru protectia LED-ului. Alimentarea (VCC/GND) pentru toate modulele se face de la pinii de 5V si GND ai placii XMINI. | + | |
| - | + | ||
| - | (Schema electrica detaliata va fi incarcata in etapa urmatoare) | + | |
| ===== Software Design ===== | ===== Software Design ===== | ||
| + | **Mediu de dezvoltare:** PLATFORM IO | ||
| - | Mediu de dezvoltare: Dezvoltarea codului (firmware-ului) se va realiza in C, folosind Microchip Studio (sau un alt mediu compatibil avr-gcc). | + | **Algoritmi si implementare:** |
| + | Logica principala se bazeaza pe un automat de stari (State Machine) cu doua stari principale: ''SCANARE'' si ''ALARMA''. | ||
| + | * **Control PWM:** Se utilizeaza un Timer configurat in modul Fast PWM pentru a genera un semnal cu frecventa de 50Hz pentru motoras. | ||
| + | * **Timere pentru distanta:** Generam un puls de 10us pe pinul TRIG si cronometram ecoul pe pinul ECHO. | ||
| + | * **Magistrala I2C (TWI):** Se folosesc registrii TWI pentru initializarea ecranului si trimiterea bufferului video. | ||
| - | Algoritmi si mod de implementare: | + | <code c> |
| - | Logica principala a programului se va baza pe un automat de stari (State Machine) cu doua stari principale: SCANARE si ALARMA. | + | // Exemplu structura cod |
| + | typedef enum { | ||
| + | STATE_SCANNING, | ||
| + | STATE_ALARM | ||
| + | } SystemState; | ||
| - | Controlul Servomotorului: Se va utiliza un Timer configurat in modul Fast PWM pentru a genera un semnal cu frecventa de 50Hz. Prin modificarea factorului de umplere (Duty Cycle) folosind registrul OCR, se va seta unghiul bratului. | + | SystemState current_state = STATE_SCANNING; |
| - | Citirea Distantei: Se va genera un puls de 10us pe pinul TRIG al senzorului HC-SR04+. Se va folosi un Timer pentru a cronometra latimea pulsului primit pe pinul ECHO, transformand timpul in centimetri. | + | int main() { |
| - | + | init_pwm(); | |
| - | Comunicatia I2C: Se vor configura registrii TWI (Two Wire Interface) pentru a initializa ecranul OLED si a trimite datele formatate spre afisare. | + | init_i2c(); |
| - | + | init_oled(); | |
| - | Logica de alerta: La fiecare pas al servomotorului, se verifica distanta. Daca distanta calculata este < 20 cm, se blocheaza incrementarea/decrementarea unghiului PWM, se seteaza starea pinilor GPIO pentru Buzzer si LED pe HIGH si se afiseaza un mesaj de avertizare pe ecran. | + | |
| + | while(1) { | ||
| + | // Logica radarului | ||
| + | } | ||
| + | } | ||
| + | </code> | ||
| ===== Rezultate Obtinute ===== | ===== Rezultate Obtinute ===== | ||
| - | + | *Va fi completat in etapa 3.* | |
| - | Va fi completat in etapa 3. | + | |
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| - | + | *Va fi completat la finalizarea proiectului.* | |
| - | Va fi completat la finalizarea proiectului. | + | |
| ===== Download ===== | ===== Download ===== | ||
| - | + | *Arhiva cu sursele codului si fisierele de proiect va fi adaugata la final.* | |
| - | Arhiva cu sursele codului si fisierele de proiect va fi adaugata la final. | + | |
| ===== Jurnal ===== | ===== Jurnal ===== | ||
| - | + | ^ Data ^ Activitate ^ Stadiu ^ | |
| - | Saptamana X: Alegerea temei, achizitia componentelor si realizarea paginii wiki (Etapa 1). | + | | Saptamana 1 | Alegerea temei, achizitia componentelor, crearea paginii Wiki. | 10% | |
| - | + | | Saptamana X | Testare componente individuale pe breadboard. | Planificat | | |
| - | Urmeaza: Conectarea componentelor pe breadboard si testarea modulelor independente. | + | | Saptamana Y | Integrare software si calibrare senzor ultrasonic. | Planificat | |
| ===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
| + | **Resurse Hardware:** | ||
| + | * [[https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061A.pdf|Datasheet ATmega328P]] | ||
| + | * Datasheet senzor ultrasonic HC-SR04 | ||
| + | * Datasheet controller SSD1306 (OLED) | ||
| - | Resurse Hardware: | + | **Resurse Software:** |
| - | + | * Laboratorul 0 PM (GPIO) | |
| - | Datasheet ATmega328P | + | * Laboratorul 3 PM (Timere si PWM) |
| - | + | * Laboratorul 6 PM (Comunicatia I2C) | |
| - | Datasheet senzor ultrasonic HC-SR04 | + | |
| - | + | ||
| - | Datasheet controller SSD1306 (OLED) | + | |
| - | + | ||
| - | Resurse Software: | + | |
| - | + | ||
| - | Laboratorul 3 PM (Timere si PWM) | + | |
| - | + | ||
| - | Laboratorul 6 PM (Comunicatia I2C) | + | |