This shows you the differences between two versions of the page.
|
pm:prj2026:tarik_ilhan.omer:sergiu.ivan [2026/05/05 11:50] sergiu.ivan |
pm:prj2026:tarik_ilhan.omer:sergiu.ivan [2026/05/05 12:20] (current) sergiu.ivan [Descriere generala] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Sistem Autonom de Scanare și 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 constă în realizarea unui sistem inteligent de tip radar / turelă defensivă, capabil să scaneze mediul înconjurător la 180 de grade și să detecteze obstacole în 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 utilizează un senzor cu ultrasunete montat pe un micro-servomotor pentru a scana zona, iar datele culese (distanța și unghiul) sunt prelucrate de microcontroler și afișate local pe un ecran OLED. Spre deosebire de proiectele clasice de tip radar care depind de un PC pentru afișarea grafică, 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 constă în implementarea unui mod de alertă: în momentul în care un obiect pătrunde într-un perimetru de siguranță predefinit (de exemplu, o distanță mai mică de 20 cm), sistemul întrerupe secvența de scanare, blochează senzorul pe unghiul țintei și declanșează instantaneu o alarmă acustică (buzzer) și vizuală (LED RGB). | + | ===== Descriere generala ===== |
| + | Arhitectura proiectului este formata dintr-o unitate centrala de procesare si mai multe module periferice de intrare/iesire. | ||
| - | Scopul proiectului este de a consolida cunoștințele de programare hardware a microcontrolerelor, combinând mai multe concepte fundamentale: generarea de semnale PWM, comunicarea pe magistrala I2C și utilizarea timerelor interne pentru calculul distanței. | + | **Schema bloc a sistemului:** |
| - | + | * **Creierul:** Placa ATMEGA328P-XMINI coordoneaza intregul sistem. | |
| - | ===== Descriere generală ===== | + | * **Actuatorul (Miscare):** Micro-servomotorul SG90 asigura miscarea de "maturare". |
| - | + | * **Input (Detectie):** Senzorul ultrasonic HC-SR04+ calculeaza distanta. | |
| - | Arhitectura proiectului este formată dintr-o unitate centrală de procesare și mai multe module periferice de intrare/ieșire. | + | * **Output (Afisare):** Ecranul OLED 0.96" afiseaza grafica prin protocolul I2C. |
| - | + | * **Output (Alerta):** Buzzer-ul activ si LED-ul RGB semnalizeaza intrusii. | |
| - | Schema bloc a sistemului: | + | |
| - | + | ||
| - | Creierul (Microcontrolerul): Placa de dezvoltare ATMEGA328P-XMINI coordonează întregul sistem. Trimite semnale către actuatori, procesează datele de la senzor și comunică cu display-ul. | + | |
| - | + | ||
| - | Modulul de Mișcare (Actuator): Micro-servomotorul SG90. Acesta primește un semnal PWM de la microcontroler pentru a se poziționa la unghiul dorit (între 0 și 180 de grade), asigurând mișcarea de "măturare" a radarului. | + | |
| - | + | ||
| - | Modulul de Detecție (Input): Senzorul ultrasonic HC-SR04+. Primește un puls de "Trigger" de la microcontroler, emite ultrasunetele, și întoarce un semnal "Echo". Microcontrolerul folosește un Timer pentru a măsura durata semnalului și a calcula distanța. | + | |
| - | + | ||
| - | Modulul de Afișare (Output): Ecranul OLED 0.96". Comunică cu microcontrolerul prin protocolul I2C (pinii SDA și SCL) și actualizează în timp real interfața grafică cu distanța măsurată și unghiul curent. | + | |
| - | + | ||
| - | Modulul de Alertă (Output): Format dintr-un Buzzer activ și un LED RGB. Sunt acționate direct prin pinii GPIO atunci când microcontrolerul intră în starea de „ALARMĂ”. | + | |
| + | {{: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**. | |
| - | Placă 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 Distanță HC-SR04+ (Compatibil 3.3V și 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 Rezistențe 330 ohm | + | |
| - | + | ||
| - | Breadboard 400 puncte | + | |
| - | + | ||
| - | Fire de conexiune Dupont (Tată-Tată și Mamă-Tată) | + | |
| - | + | ||
| - | 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 întreruperi externe sau Input Capture). | + | |
| - | + | ||
| - | OLED I2C: Pinul SDA la pinul SDA al plăcii, pinul SCL la pinul SCL al plăcii. | + | |
| - | + | ||
| - | Buzzer & LED: Conectate la pini GPIO standard, cu rezistențele de rigoare pentru protecția LED-ului. Alimentarea (VCC/GND) pentru toate modulele se face de la pinii de 5V și GND ai plăcii XMINI. | + | |
| - | + | ||
| - | (Schema electrică detaliată va fi încărcată în etapa următoare) | + | |
| ===== Software Design ===== | ===== Software Design ===== | ||
| + | **Mediu de dezvoltare:** PLATFORM IO | ||
| - | Mediu de dezvoltare: Dezvoltarea codului (firmware-ului) se va realiza în 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 și mod de implementare: | + | <code c> |
| - | Logica principală a programului se va baza pe un automat de stări (State Machine) cu două stări principale: SCANARE și ALARMA. | + | // Exemplu structura cod |
| + | typedef enum { | ||
| + | STATE_SCANNING, | ||
| + | STATE_ALARM | ||
| + | } SystemState; | ||
| - | Controlul Servomotorului: Se va utiliza un Timer configurat în modul Fast PWM pentru a genera un semnal cu frecvența de 50Hz. Prin modificarea factorului de umplere (Duty Cycle) folosind registrul OCR, se va seta unghiul brațului. | + | SystemState current_state = STATE_SCANNING; |
| - | Citirea Distanței: Se va genera un puls de 10us pe pinul TRIG al senzorului HC-SR04+. Se va folosi un Timer pentru a cronometra lățimea pulsului primit pe pinul ECHO, transformând timpul în centimetri. | + | int main() { |
| + | init_pwm(); | ||
| + | init_i2c(); | ||
| + | init_oled(); | ||
| + | |||
| + | while(1) { | ||
| + | // Logica radarului | ||
| + | } | ||
| + | } | ||
| + | </code> | ||
| - | Comunicația I2C: Se vor configura regiștrii TWI (Two Wire Interface) pentru a inițializa ecranul OLED și a trimite datele formatate spre afișare. | + | ===== Rezultate Obtinute ===== |
| - | + | *Va fi completat in etapa 3.* | |
| - | Logica de alertă: La fiecare pas al servomotorului, se verifică distanța. Dacă distanța calculată este < 20 cm, se blochează incrementarea/decrementarea unghiului PWM, se setează starea pinilor GPIO pentru Buzzer și LED pe HIGH și se afișează un mesaj de avertizare pe ecran. | + | |
| - | + | ||
| - | ===== Rezultate Obţinute ===== | + | |
| - | + | ||
| - | Va fi completat în 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 și fișierele de proiect va fi adăugată la final. | + | |
| ===== Jurnal ===== | ===== Jurnal ===== | ||
| - | + | ^ Data ^ Activitate ^ Stadiu ^ | |
| - | Săptămâna X: Alegerea temei, achiziția componentelor și realizarea paginii wiki (Etapa 1). | + | | Saptamana 1 | Alegerea temei, achizitia componentelor, crearea paginii Wiki. | 10% | |
| - | + | | Saptamana X | Testare componente individuale pe breadboard. | Planificat | | |
| - | Urmează: Conectarea componentelor pe breadboard și 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 și PWM) | + | |
| - | + | ||
| - | Laboratorul 6 PM (Comunicația I2C) | + | |