This shows you the differences between two versions of the page.
pm:prj2025:eradu:andrei.chirimeaca [2025/05/29 21:13] andrei.chirimeaca |
pm:prj2025:eradu:andrei.chirimeaca [2025/05/30 12:22] (current) andrei.chirimeaca |
||
---|---|---|---|
Line 42: | Line 42: | ||
Schema electrica: | Schema electrica: | ||
- | {{:pm:prj2025:eradu:circuit_v3.jpg?500 |}} | + | {{:pm:prj2025:eradu:circuit_v3.jpg?750 |}} |
+ | |||
+ | |||
+ | |||
+ | |||
+ | ** Utilizare PINI **: | ||
+ | * **Arduino Uno R3:** | ||
+ | * ** D2 ** – pin digital conectat la dioda laser KY-008 | ||
+ | * ** D9 ** – pin PWM conectat la servo motor SG90 (M1) | ||
+ | * ** D10 ** – pin PWM conectat la servo motor ES08MA II (M2) | ||
+ | * ** A4 (SDA) ** – pin I2C conectat la LCD 1602 | ||
+ | * ** A5 (SCL) ** – pin I2C conectat la LCD 1602 | ||
+ | * ** 5V, GND ** – pentru alimentarea componentelor | ||
+ | |||
+ | * **Servo SG90 (M1):** | ||
+ | * ** PWM ** – conectat la **D9** | ||
+ | * ** VCC, GND ** – conectate la 5V și GND | ||
+ | |||
+ | * **Servo ES08MA II (M2):** | ||
+ | * ** PWM ** – conectat la **D10** | ||
+ | * ** VCC, GND ** – conectate la 5V și GND | ||
+ | |||
+ | * **Laser KY-008:** | ||
+ | * ** S (semnal) ** – conectat la **D2** | ||
+ | * ** VCC ** – conectat la 5V | ||
+ | * ** GND ** – conectat la GND | ||
+ | |||
+ | * **LCD 1602 I2C:** | ||
+ | * ** SDA ** – conectat la **A4** | ||
+ | * ** SCL ** – conectat la **A5** | ||
+ | * ** VCC ** – conectat la 5V | ||
+ | * ** GND ** – conectat la GND | ||
===== Software Design ===== | ===== Software Design ===== | ||
Line 60: | Line 91: | ||
PC: | PC: | ||
* O mica aplicatie scrisa in Java care deschide o fereastra in care utilizatorul poate misca mouse-ul pentru a controla tureta | * O mica aplicatie scrisa in Java care deschide o fereastra in care utilizatorul poate misca mouse-ul pentru a controla tureta | ||
- | * Partea de GUI realizata folosind JavaFX | + | * Partea de GUI realizata folosind Java Swing |
* Trimiterea coordonatelor Mouse-ului si verificarea daca utilizatorul a apasat Click se realizeaza folosind biblioteca externa SerialComm. | * Trimiterea coordonatelor Mouse-ului si verificarea daca utilizatorul a apasat Click se realizeaza folosind biblioteca externa SerialComm. | ||
Line 98: | Line 129: | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | In urma implementarii, am reusit sa obtin o "tureta" care se poate misca pe ambele axe (verticala si orizontala) folosind mouse-ul de la laptop cu performante bune, cu un delay si o acuratete foarte bune. De asemenea, ecranul afiseaza precis cooldown-ul abilitatii de a trage, acesta fiind actualizat o data pe secunda, fiind mentionat atunci cand utilizatorul poate sa "traga". |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | [[https://www.youtube.com/shorts/7DwFoebCUUo|Demo1]] |
+ | |||
+ | [[https://www.youtube.com/shorts/-FSKFE_j0JY|Demo2]] | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | In urma realizarii acestui proiect, mi-am consolidat multe din cunostintele acumulate la laboratorul si cursul de PM, in special comunicarea seriala si controloarea motoarelor prin PWM, reusind sa obtin un proiectel interesant si distractiv. | ||
+ | |||
+ | Pe de partea cea mai grea parte din realizarea proiectului a fost cea pe care o consideram cea mai usoara inainte sa ma apuc de proiect, si anume comunicarea seriala. Am intampinat multe probleme la aceasta, cea mai mare fiind faptul ca trimitrea datelor prin serial de la laptop la arduino ducea la umplerea buffer-ului de trimitere a datelor (ceva ce nu stiam ca se poate intampla =)), manifestarea acestui fenoment nefiind intocmai evidenta). De asemenea, am avut probleme legate de setup-ul USART-ului (felul in care setasem formatul frame-ului era diferit de felul in care era configurat frame-ul by default in biblioteca commSerial din java). | ||
===== Download ===== | ===== Download ===== | ||
Line 120: | Line 156: | ||
===== Resurse ===== | ===== Resurse ===== | ||
[[https://github.com/andreichiri15/laser_turret|Repository]] | [[https://github.com/andreichiri15/laser_turret|Repository]] | ||
+ | |||
===== Bibliografie ===== | ===== Bibliografie ===== | ||
Line 126: | Line 163: | ||
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | ||
</note> | </note> | ||
+ | |||
+ | [[https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|Datasheeet ATmega328P]] | ||
+ | [[https://docs.arduino.cc/learn/electronics/servo-motors/|Tutorial Servo]] | ||
+ | [[https://projecthub.arduino.cc/arduino_uno_guy/i2c-liquid-crystal-displays-5eb615|Tutorial LCD]] | ||
+ | [[https://docs.arduino.cc/libraries/liquidcrystal-i2c/|Biblioteca I2C]] | ||
+ | [[https://docs.arduino.cc/libraries/servo/|Biblioteca Servo]] | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> |