Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2025:aluca:dan_andrei.tunsoiu [2025/05/14 17:36]
dan_andrei.tunsoiu [Hardware design]
pm:prj2025:aluca:dan_andrei.tunsoiu [2025/05/25 18:39] (current)
dan_andrei.tunsoiu [Software design]
Line 27: Line 27:
  
 {{:​pm:​prj2025:​aluca:​schema_electrica_pm.png?​600|}} {{:​pm:​prj2025:​aluca:​schema_electrica_pm.png?​600|}}
 +
 +Descrierea functionalitati hardware:
 +  * Folosesc un LCD display cu un adaptor I2C integrat pentru a comunica cu placa Arduino UNO si a afisa datele masurate de senzorul de distanta.
 +  * Pentru miscarea senzorului intr-un arc de cerc folosesc un servo-motor SG90 care este conectat printr-un pin de GPIO care poate genera/​transmite mesaje de tip PWM.
 +  * Senzorul de distanta este conectat la pinul RX pentru ca comunica cu Arduino UNO prin USART.
 +  * Avem si 4 LED-uri conectate la pini de GPIO pentru a afisa din ce directie a fost detectat un inamic.
 +
 +===Pini folositi de componente===
 +==LCD:==
 +  * SDA -> A4 (pinul de SDA de pe Arduino UNO)
 +  * SCL -> A5 (pinul de SCL de pe Arduino UNO)
 +==SG90:==
 +  * IN -> D9 (pin de GPIO cabapil de PWM)
 +==IOE-SR05:​==
 +  * EN/TRIG -> D2
 +  * TXD/ECHO -> D0 (pinul de RX)
 +==LED-uri:​==
 +Sunt conectate la pini de GPIO de la D7 la D4.
 +
 +===Poza componenta Hardware functionala (LCD):
 +
 +{{:​pm:​prj2025:​aluca:​d412d23d-a089-43f9-a00f-4748971ee1d3.jpg?​400|}}
 +
 +===== Software design =====
 +=== Stadiul Implementarii ==
 +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 ===
 +  * LiquidCrystal_I2C.h - pentru a controla LCD-ul.
 +  * Wire.h - pentru optiunile de baza din Arduino IDE.
 +  * Servo.h - pentru a controla servo-motorul.
 +
 +=== Elemente de nautate ===
 +  * 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.
 +
 +
pm/prj2025/aluca/dan_andrei.tunsoiu.1747233419.txt.gz · Last modified: 2025/05/14 17:36 by dan_andrei.tunsoiu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0