This shows you the differences between two versions of the page.
pm:prj2023:alexau:park_det [2023/05/28 22:08] ionel.catruc [Jurnal] |
pm:prj2023:alexau:park_det [2023/05/28 22:41] (current) ionel.catruc [Bibliografie/Resurse] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Parking obstacle detector ====== | ====== Parking obstacle detector ====== | ||
+ | Student: Catruc Ionel 332CBa | ||
===== Introducere ===== | ===== Introducere ===== | ||
Line 26: | Line 26: | ||
* breadboard | * breadboard | ||
- | * 4x ultrasonic senzor | + | * 4x ultrasonic senzor HC-SR04 |
- | * arduino uno | + | * Arduino uno |
* 1x buzzer | * 1x buzzer | ||
- | * 1x RGB led | + | * 1x RGB led (anod comun) |
* 3x rezistente pentru LED RGB (330 ohm) | * 3x rezistente pentru LED RGB (330 ohm) | ||
- | * Fire | + | * Fire M-T, T-T |
* 1x buton | * 1x buton | ||
* 1x ecran LCD (I2C) | * 1x ecran LCD (I2C) | ||
Line 72: | Line 72: | ||
* **loop()** - daca sistemul e in mod parcare, extrage distanta de pe toti senzorii, calculez distanta minima din cele 4, si compar cu distanta minima anterioara, daca sunt diferite, extrag starea curenta, adica, safe, medium, critical, si in functie de asta, configurez timerul necesar. | * **loop()** - daca sistemul e in mod parcare, extrage distanta de pe toti senzorii, calculez distanta minima din cele 4, si compar cu distanta minima anterioara, daca sunt diferite, extrag starea curenta, adica, safe, medium, critical, si in functie de asta, configurez timerul necesar. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
+ | Sistemul functioneaza perfect si detecteaza obstacolele. | ||
+ | Avem doua stari, IDLE si PARKING. | ||
+ | |||
+ | In starea idle nu se verifica prezenta obstacolelor (putem asocia asta cu faptul ca nu avem nevoie de asta, nu ne parcam). | ||
+ | |||
+ | Starea de parking va incepe verificarea obstacolelor si calcularea distantei pana la ele. | ||
+ | |||
+ | Am 3 nivele: Critic (obstacol intre 2-10 cm), Medium (obstacol intre 10-20 cm) si Safe, cand nu este nici un obstacol sau se afla peste limita de 20 cm. Am configurat limita la 20 pentru ca mereu detecta obiecte in jur la testare pe masa. In functie de distanta, aprinde ledul in rosu, portocaliu sau verde. Buzerrul va semnala daca avem vreun obstacol prea aproape, iar cu cat mai aproape se afla obstacolul, cu atat mai des va buzzui. | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | Demo: https://www.youtube.com/shorts/B_JiHE_W5l0 |
</note> | </note> | ||
+ | == Starea de start == | ||
+ | {{:pm:prj2023:alexau:idle.jpg?400|}} | ||
+ | == Nici un obstacol == | ||
+ | {{:pm:prj2023:alexau:safe.jpg?400|}} | ||
+ | == Distanta medie == | ||
+ | {{:pm:prj2023:alexau:medium.jpg?400|}} | ||
+ | == Distanta critica == | ||
+ | {{:pm:prj2023:alexau:critic.jpg?400|}} | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | * Proiect foarte interesant | ||
+ | * Mai usor sa faci totul pe un tool online (TinkerCad, CircuitoIO, Wokwi) si dupa sa treci totul pe placa | ||
+ | * Mi-am luat destul de multe piese de rezerva, dar nu mi-au trebuit | ||
+ | * Cabluri, cabluri, cabluri... Are cineva cabluri? | ||
+ | * Destul de complicat sa bagi totul intr-o cutie si sa fac sa arate prezentabil... | ||
+ | * Uneori simularea nu reflecta realitatea. | ||
===== Download ===== | ===== Download ===== | ||
- | + | Codul sursa : {{:pm:prj2023:alexau:proiect_catruc_ionel_332cba.zip|}} | |
- | <note warning> | + | |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | |
- | + | ||
- | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | |
- | </note> | + | |
===== Jurnal ===== | ===== Jurnal ===== | ||
Line 93: | Line 108: | ||
* 16.05.2023 - Testare piese, asamblare hardware (software - arduino library) | * 16.05.2023 - Testare piese, asamblare hardware (software - arduino library) | ||
* 20.05.2023 - Trecere de la arduino framework la implementare pe registri. Folosire timere, intrerupere, GPIO etc. | * 20.05.2023 - Trecere de la arduino framework la implementare pe registri. Folosire timere, intrerupere, GPIO etc. | ||
+ | * 28.05.2023 - Documentatia finala. | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | * https://arduinogetstarted.com/tutorials/arduino-lcd-i2c |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | * https://www.hackster.io/techmirtz/using-common-cathode-and-common-anode-rgb-led-with-arduino-7f3aa9 |
- | </note> | + | * Laboratoarele OCW |
+ | * https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf | ||
<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> | ||