This shows you the differences between two versions of the page.
|
pm:prj2026:theodor_ioan.buliga:ionut.bicoiu [2026/05/24 21:50] ionut.bicoiu created |
pm:prj2026:theodor_ioan.buliga:ionut.bicoiu [2026/05/24 22:07] (current) ionut.bicoiu |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ~~NOTOC~~ | ~~NOTOC~~ | ||
| - | ====== Proiect Proiectare cu Microprocesoare: Robot Mobil Line Follower cu Arhitectură Dual-MCU ====== | + | ====== Robot Mobil Line Follower cu Arhitectură Dual-MCU ====== |
| ===== 1. Introducere și Obiectivele Proiectului ===== | ===== 1. Introducere și Obiectivele Proiectului ===== | ||
| Line 30: | Line 30: | ||
| > ⚠️ **Regulă de Aur la Laborator (Siguranță):** Pentru a evita distrugerea componentelor, deconectăm întotdeauna pachetul de baterii AA de pe robot atunci când conectăm cablurile USB la calculator pentru a încărca codul. Conflictul direct dintre alimentarea din USB și tensiunea debitată de regulatorul L298N poate arde porturile USB ale PC-ului sau cipurile de comunicare serială de pe plăcuțe. | > ⚠️ **Regulă de Aur la Laborator (Siguranță):** Pentru a evita distrugerea componentelor, deconectăm întotdeauna pachetul de baterii AA de pe robot atunci când conectăm cablurile USB la calculator pentru a încărca codul. Conflictul direct dintre alimentarea din USB și tensiunea debitată de regulatorul L298N poate arde porturile USB ale PC-ului sau cipurile de comunicare serială de pe plăcuțe. | ||
| + | {{ :pm:prj2026:theodor_ioan.buliga:bic6.jpeg?500 | Vedere de ansamblu hardware robot }} | ||
| ==== Alocarea Resurselor I/O (Pin Mapping pe Module) ==== | ==== Alocarea Resurselor I/O (Pin Mapping pe Module) ==== | ||
| Line 51: | Line 52: | ||
| | **Senzor Sonar (HC-SR04 - Echo)** | `D4` | INPUT | Digital | Captare timp zbor undă reflectată | | | **Senzor Sonar (HC-SR04 - Echo)** | `D4` | INPUT | Digital | Captare timp zbor undă reflectată | | ||
| | **Avertizor Acustic (Buzzer)** | `D2` | OUTPUT | Digital | Activare alarmă sonoră (sirenă sacadată) | | | **Avertizor Acustic (Buzzer)** | `D2` | OUTPUT | Digital | Activare alarmă sonoră (sirenă sacadată) | | ||
| + | {{ :pm:prj2026:theodor_ioan.buliga:bic5.jpeg?500 | Vedere de ansamblu hardware robot }} | ||
| === 2. Placa Dedicată Afișajului (Arduino Nano) === | === 2. Placa Dedicată Afișajului (Arduino Nano) === | ||
| Line 65: | Line 67: | ||
| ==== 1. Firmware Subsistem Afișaj (Arduino Nano) ==== | ==== 1. Firmware Subsistem Afișaj (Arduino Nano) ==== | ||
| + | {{ :pm:prj2026:theodor_ioan.buliga:bic2.jpeg?500 | Vedere de ansamblu hardware robot }} | ||
| Codul rulat pe placa Arduino Nano gestionează ecranul alfanumeric prin biblioteca `LiquidCrystal` în configurație de magistrală pe 4 biți (liniile de date inferioare D0-D3 ale ecranului rămân libere). Izolarea ecranului pe acest MCU ne permite să folosim instrucțiuni de tip `delay(2000)` pentru lizibilitatea textelor, lucru care pe o placă unică ar fi înghețat complet motoarele robotului pe pistă. | Codul rulat pe placa Arduino Nano gestionează ecranul alfanumeric prin biblioteca `LiquidCrystal` în configurație de magistrală pe 4 biți (liniile de date inferioare D0-D3 ale ecranului rămân libere). Izolarea ecranului pe acest MCU ne permite să folosim instrucțiuni de tip `delay(2000)` pentru lizibilitatea textelor, lucru care pe o placă unică ar fi înghețat complet motoarele robotului pe pistă. | ||
| Pentru a asigura stabilitatea pixelilor și a elimina suprapunerile de caractere, am introdus o latență de 20 ms imediat după comanda `lcd.clear()`, oferind timp controllerului HD44780 să își reseteze regiștrii interni înainte de a primi un nou set de date. | Pentru a asigura stabilitatea pixelilor și a elimina suprapunerile de caractere, am introdus o latență de 20 ms imediat după comanda `lcd.clear()`, oferind timp controllerului HD44780 să își reseteze regiștrii interni înainte de a primi un nou set de date. | ||
| + | {{ :pm:prj2026:theodor_ioan.buliga:bic4.jpeg?500 | Vedere de ansamblu hardware robot }} | ||
| + | {{ :pm:prj2026:theodor_ioan.buliga:bic3.jpeg?500 | Vedere de ansamblu hardware robot }} | ||
| <file cpp lcd_subsystem.ino> | <file cpp lcd_subsystem.ino> | ||
| Line 119: | Line 124: | ||
| } | } | ||
| </file> | </file> | ||
| + | {{ :pm:prj2026:theodor_ioan.buliga:bic1.jpeg?500 | Vedere de ansamblu hardware robot }} | ||
| ==== 2. Firmware Control Robot și Siguranță (Arduino Uno) ==== | ==== 2. Firmware Control Robot și Siguranță (Arduino Uno) ==== | ||