This shows you the differences between two versions of the page.
pm:prj2025:aluca:dan_andrei.tunsoiu [2025/05/25 18:23] dan_andrei.tunsoiu |
pm:prj2025:aluca:dan_andrei.tunsoiu [2025/05/25 18:39] (current) dan_andrei.tunsoiu [Software design] |
||
---|---|---|---|
Line 52: | Line 52: | ||
===== Software design ===== | ===== Software design ===== | ||
=== Stadiul Implementarii == | === Stadiul Implementarii == | ||
- | Proiectul este complet functional si are la baza codul [[http://example.com|Link GitHub]] scris in platforma ArduinoIDE, cu toate functionalitatile acestuia testate si validate: [[http://example.com|Link video YT]]. | + | Proiectul este complet functional si are la baza codul [[https://github.com/Danut1445/PM-Project|Link GitHub]] scris in platforma ArduinoIDE, cu toate functionalitatile acestuia testate si validate: [[https://www.youtube.com/watch?v=Ki03OREaW8k|Link video YT]]. |
=== Motivatie bibloteci folosite === | === Motivatie bibloteci folosite === | ||
- | * LiquidCrystal_I2C.h - pentru a controla LCD-ul | + | * LiquidCrystal_I2C.h - pentru a controla LCD-ul. |
- | * Wire.h - pentru optiunile de baza din Arduino IDE | + | * Wire.h - pentru optiunile de baza din Arduino IDE. |
- | * Servo.h - pentru a controla servo-motorul | + | * Servo.h - pentru a controla servo-motorul. |
=== Elemente de nautate === | === Elemente de nautate === | ||
- | * Combinarea a senzorului de distanca cu servo- | + | * Combinarea a senzorului de distanca cu servo-motorului cu a senzorului de distanta pentru a putea detecta obiecte intr-un arc de cerc de 180 de grade. |
+ | * Combinarea LCD-ului cu senzorul de distanta pentru a informa utilizatorul la ce distanta se afla obiectul detectat. | ||
+ | * Combinarea LED-urilor amplasate in formatie de semicerc pentru a informa utilizatorul in ce directie a fost detectat obiectul. | ||
+ | * Controlarea servo-motorului prin semnal PWM. | ||
+ | |||
+ | === Laboratoare utilizate === | ||
+ | * Labul 0: GPIO -> folosit pentru LED-uri. | ||
+ | * Labul 1: USART -> folosit pentru a transmite date atat de la senzorul de distanta la ATMega328 cat si de la ATMega328 la calculator. | ||
+ | * Labul 3: PWM -> utilizat pentru controlul servo-motorului. | ||
+ | * Labul 6: I2C -> utilizat pentru transmiterea datelor la LCD. | ||
+ | |||
+ | === Scheletul proiectului === | ||
+ | * Distance() -> functie care extrage datele de la senzorul de distanta prin USART si le afiseaza atat pe LCD cat returneaza si distanta calculata. | ||
+ | * setup() -> initializeaza pinii pentru LED-uri, interfata seriala (USART) si LCD-ul. | ||
+ | * loop() -> functia principala a programului, intr-un loop se modifica rotatia servo-motorului de la 0 la 180 de grade si invers, in acelasi timp se calculeaza si distanta detectata de senzor si se aprind LED-urile aferente pozitiei corecte. | ||
+ |