This shows you the differences between two versions of the page.
pm:prj2021:apredescu:asistent_parcare [2021/06/04 20:00] lucian.grigore |
pm:prj2021:apredescu:asistent_parcare [2021/06/04 20:31] (current) lucian.grigore |
||
---|---|---|---|
Line 12: | Line 12: | ||
== Schema bloc == | == Schema bloc == | ||
- | ==== ==== | + | ===== ===== |
{{:pm:prj2021:apredescu:schema_bloc_asistent_parcare.png?650|}} | {{:pm:prj2021:apredescu:schema_bloc_asistent_parcare.png?650|}} | ||
Line 18: | Line 18: | ||
== Piese necesare == | == Piese necesare == | ||
- | ==== ==== | + | ===== ===== |
* Arduino Uno/Nano | * Arduino Uno/Nano | ||
* HC-SR04 senzor ultrasonic | * HC-SR04 senzor ultrasonic | ||
Line 26: | Line 26: | ||
* Dioda 1N4148 (optionala, doar pentru alimentara in acelasi timp si a placutei Arduino, si a benzii, de la priza) | * Dioda 1N4148 (optionala, doar pentru alimentara in acelasi timp si a placutei Arduino, si a benzii, de la priza) | ||
* Buzzer/difuzor (am folosit buzzer de 3-24V) | * Buzzer/difuzor (am folosit buzzer de 3-24V) | ||
- | |||
- | == Schema electrica cu banda LED == | ||
- | ==== ==== | ||
- | {{:pm:prj2021:apredescu:schema_banda_led.png?650|}} | ||
== Schema electrica cu LED-uri individuale == | == Schema electrica cu LED-uri individuale == | ||
- | ==== ==== | + | ===== ===== |
{{:pm:prj2021:apredescu:asistent_de_parcare_schema_electrica.png?650|}} | {{:pm:prj2021:apredescu:asistent_de_parcare_schema_electrica.png?650|}} | ||
+ | |||
+ | == Schema electrica cu banda LED == | ||
+ | ===== ===== | ||
+ | {{:pm:prj2021:apredescu:schema_banda_led.png?650|}} | ||
===== Software design ===== | ===== Software design ===== | ||
Line 40: | Line 40: | ||
== LED strip == | == LED strip == | ||
- | ==== ==== | + | ===== ===== |
Daca se utilizeaza o banda WS2812B, atunci libraria FastLED contine functii precum show() si CRGB(). Cu cea din urma se seteaza culoarea intr-un vector de tipul CRGB, care reprezinta led-urile fizice, iar cu cea dintai se afiseaza noua configuratie a LED-urilor. | Daca se utilizeaza o banda WS2812B, atunci libraria FastLED contine functii precum show() si CRGB(). Cu cea din urma se seteaza culoarea intr-un vector de tipul CRGB, care reprezinta led-urile fizice, iar cu cea dintai se afiseaza noua configuratie a LED-urilor. | ||
== Individual LEDs == | == Individual LEDs == | ||
- | ==== ==== | + | ===== ===== |
Folosind LED-uri individuale, se folosesc functiile analogWrite() (datorita necesitatii PWM pentru cele 3 canale de culoare) pentru RGB si digitalWrite() pentru LED-uri single color. Am creat functii care sa afiseze orice spectru de culori pe LED-urile RGB, iar pentru LED-urile single color am creat un numar fix de configuratii posibile de lumini, care sunt folosite in functie de cat de apropiata este masina de senzor. | Folosind LED-uri individuale, se folosesc functiile analogWrite() (datorita necesitatii PWM pentru cele 3 canale de culoare) pentru RGB si digitalWrite() pentru LED-uri single color. Am creat functii care sa afiseze orice spectru de culori pe LED-urile RGB, iar pentru LED-urile single color am creat un numar fix de configuratii posibile de lumini, care sunt folosite in functie de cat de apropiata este masina de senzor. | ||
== Arduino Code == | == Arduino Code == | ||
- | ==== ==== | + | ===== ===== |
Codul Arduino folosit (pentru Uno R3) se poate gasi [[https://github.com/lucigrigo/University/blob/master/3rd%20Year/PM%20-%20Microprocessors%20Design/Proiect/asistent_parcare/asistent_updated/asistent_updated.ino|aici]]. | Codul Arduino folosit (pentru Uno R3) se poate gasi [[https://github.com/lucigrigo/University/blob/master/3rd%20Year/PM%20-%20Microprocessors%20Design/Proiect/asistent_parcare/asistent_updated/asistent_updated.ino|aici]]. | ||
Line 56: | Line 56: | ||
== Functionare == | == Functionare == | ||
- | ==== ==== | + | ===== ===== |
<note tip>Distantele configurate pentru demonstratie au fost destul de mari si la intervale mari, ceea ce poate fi destul de dificil pentru senzorul ultrasonic. Acesta se comporta mult mai bine la distante mai mici, unde precizia lui creste substantial. Astfel, intr-un scenariu real de utilizare, as recomanda configurarea pentru distante mici, unde se va obtine o performanta excelanta, dar si o consistenta mai solida.</note> | <note tip>Distantele configurate pentru demonstratie au fost destul de mari si la intervale mari, ceea ce poate fi destul de dificil pentru senzorul ultrasonic. Acesta se comporta mult mai bine la distante mai mici, unde precizia lui creste substantial. Astfel, intr-un scenariu real de utilizare, as recomanda configurarea pentru distante mici, unde se va obtine o performanta excelanta, dar si o consistenta mai solida.</note> | ||
Line 67: | Line 67: | ||
== Poze cu starile descrise mai sus == | == Poze cu starile descrise mai sus == | ||
- | ==== ==== | + | ===== ===== |
{{:pm:prj2021:apredescu:blue.jpg?250|}} | {{:pm:prj2021:apredescu:blue.jpg?250|}} | ||
Line 79: | Line 79: | ||
== Demo video == | == Demo video == | ||
- | ==== ==== | + | ===== ===== |
[[https://www.youtube.com/watch?v=NoFG4ZSbEao]] | [[https://www.youtube.com/watch?v=NoFG4ZSbEao]] | ||
Line 104: | Line 104: | ||
== Resurse software == | == Resurse software == | ||
- | ==== ==== | + | ===== ===== |
https://create.arduino.cc/projecthub/Bcjams/garage-parking-assistant-11446b?ref=search&ref_id=garage&offset=0 | https://create.arduino.cc/projecthub/Bcjams/garage-parking-assistant-11446b?ref=search&ref_id=garage&offset=0 | ||
Line 117: | Line 117: | ||
== Resurse hardware == | == Resurse hardware == | ||
- | ==== ==== | + | ===== ===== |
https://howtomechatronics.com/tutorials/arduino/how-to-control-ws2812b-individually-addressable-leds-using-arduino/ | https://howtomechatronics.com/tutorials/arduino/how-to-control-ws2812b-individually-addressable-leds-using-arduino/ | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
[[https://ocw.cs.pub.ro/courses/pm/prj2021/apredescu/asistent_parcare?do=export_pdf|Export to PDF]] | [[https://ocw.cs.pub.ro/courses/pm/prj2021/apredescu/asistent_parcare?do=export_pdf|Export to PDF]] | ||
//Kudos to Bcjams for the idea of this type of project :)// | //Kudos to Bcjams for the idea of this type of project :)// |