This shows you the differences between two versions of the page.
pm:prj2022:bogdanc:detector-de-viteza [2022/05/25 22:42] cosmin.grigore0410 [Concluzii] |
pm:prj2022:bogdanc:detector-de-viteza [2022/05/27 13:04] (current) cosmin.grigore0410 [Jurnal] |
||
---|---|---|---|
Line 7: | Line 7: | ||
===== Introducere ===== | ===== Introducere ===== | ||
- | * Dispozitivul poate fi folosit pentru a determina viteza unui obiect, viteza pe care o va afisa pe LCD, iar apoi o va transmite folosind pe un device mobil folosind mediul bluetooth. Dispozitivul are viteza limita de 50 km/h, iar depasirea acesteia face ca LED-ul rosu sa se aprinda, iar Buzzer-ul sa se activeze, altfel se aprinde doar LED-ul verde. | + | * Dispozitivul poate fi folosit pentru a determina viteza unui obiect, viteza pe care o va afisa pe LCD, iar apoi o va transmite folosind pe un device mobil folosind mediul bluetooth. Dispozitivul are viteza limita de 100 cm/s, iar depasirea acesteia face ca LED-ul rosu sa se aprinda, iar Buzzer-ul sa se activeze, altfel se aprinde doar LED-ul verde. De asemnea, va afisa si un mesaj corespunzator pe ecranul LCD in functie de viteza. |
* Proiectul isi propune implementarea unui Radar fix, fara a avea nevoie de interventie umana putand fi folosit in diverse scopuri. | * Proiectul isi propune implementarea unui Radar fix, fara a avea nevoie de interventie umana putand fi folosit in diverse scopuri. | ||
* Initial am avut in mintea ideea de a implementa un radar fix, care sa afiseze viteza obiectului doar pe LCD, insa mi s-a parut prea usor si am zis sa il fac putin mai provocator si am mai adaugat si modulul bluetooth, activarea led-urilor si a buzzer-ului. | * Initial am avut in mintea ideea de a implementa un radar fix, care sa afiseze viteza obiectului doar pe LCD, insa mi s-a parut prea usor si am zis sa il fac putin mai provocator si am mai adaugat si modulul bluetooth, activarea led-urilor si a buzzer-ului. | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | * Dispozitivul isi propune sa determine viteza unui obiect folosind 2 senzori infrarosu. Odata ce obiectul a trecut prin cele doua bariere infrarosu, dispozitivul ii va determina viteza pe care apoi o va afisa pe ecranul LCD. De asemenea, dispozitivul va transmite viteza si pe un device mobile folosind modulul bluetooth. Daca viteza determinata este mai mare decat limita prestabilita de 50 de km/h se va aprinde LED-ul rosu si se va activa buzzer-ul, altfel se va aprinde doar LED-ul verde. | + | * Dispozitivul isi propune sa determine viteza unui obiect folosind 2 senzori infrarosu. Odata ce obiectul a trecut prin cele doua bariere infrarosu, dispozitivul ii va determina viteza pe care apoi o va afisa pe ecranul LCD. De asemenea, dispozitivul va transmite viteza si pe un device mobil folosind modulul bluetooth. Daca viteza determinata este mai mare decat limita prestabilita de 100 de cm/s se va aprinde LED-ul rosu si se va activa buzzer-ul, altfel se va aprinde doar LED-ul verde. Pe ecranul LCD si pe mobil se va afisa un mesaj corespunzator cu viteza determinata, "Alert" pentru depasirea vitezei sau "OK!" pentru respectarea limitei. |
==== Schema bloc ==== | ==== Schema bloc ==== | ||
Line 39: | Line 39: | ||
* setup() - seteaza pinii pentru senzorii IR de tip INPUT, pinii pentru LED-urile Rosu, Verde si pentru Buzzer de tip OUTPUT. Porneste transmisia seriala pe baud de 9600, iar lcd-ul il porneste pe 16 coloane si 2 randuri. De asemenea, setez contrast-ul LCD-ul la 60. | * setup() - seteaza pinii pentru senzorii IR de tip INPUT, pinii pentru LED-urile Rosu, Verde si pentru Buzzer de tip OUTPUT. Porneste transmisia seriala pe baud de 9600, iar lcd-ul il porneste pe 16 coloane si 2 randuri. De asemenea, setez contrast-ul LCD-ul la 60. | ||
* alert() - apelata cand se depaseste viteza limita(100 default). Aprinde Led-ul Rosu, porneste buzzer-ul la 1KHz, printeaza mesajul "Alert!" pe LCD si trimite prin bluetooth caracterul "A"(de la Alerta) catre mobil. | * alert() - apelata cand se depaseste viteza limita(100 default). Aprinde Led-ul Rosu, porneste buzzer-ul la 1KHz, printeaza mesajul "Alert!" pe LCD si trimite prin bluetooth caracterul "A"(de la Alerta) catre mobil. | ||
- | * ok() - apleata cand nu s-a depasit viteza limita. Aprinde LED-ul verde si trimite prin bluetooth caracterul 'O'(de la OK). | + | * ok() - apleata cand nu s-a depasit viteza limita. Aprinde LED-ul verde, printeaza mesajul "OK!" pe LCD si trimite prin bluetooth caracterul 'O'(de la OK). |
* loop() - Astept semnal de la primul senzor. Cand a primit semnal de la primul senzor (ultimul semnal - fac asta astept folosind o bucla while). Dupa ce a trecut de bucla in care a primit semnal masoara timpul folosind functia millis(). Astept apoi cat timp nu primesc semnal de la al doilea senzor. Cand am primit primul semnal, retin al doilea timp, verific ca timpii sa fie crescatori si apoi aflu diferenta pe care o convertesc in secunde. Calculez apoi viteza ca fiind distanta/timp. Daca viteza a depasit limita, apelez functia alert(), altfel apelez functia ok(). Trimit apoi viteza rotunjita prin bluetooth si apoi printez viteza si pe LCD si resetez LED-urile si buzzer-ul. | * loop() - Astept semnal de la primul senzor. Cand a primit semnal de la primul senzor (ultimul semnal - fac asta astept folosind o bucla while). Dupa ce a trecut de bucla in care a primit semnal masoara timpul folosind functia millis(). Astept apoi cat timp nu primesc semnal de la al doilea senzor. Cand am primit primul semnal, retin al doilea timp, verific ca timpii sa fie crescatori si apoi aflu diferenta pe care o convertesc in secunde. Calculez apoi viteza ca fiind distanta/timp. Daca viteza a depasit limita, apelez functia alert(), altfel apelez functia ok(). Trimit apoi viteza rotunjita prin bluetooth si apoi printez viteza si pe LCD si resetez LED-urile si buzzer-ul. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | Am reusit sa duc proiectul ales la bun sfarsit, sunt multumit de rezultat, cred ca e un proiect scalabil, care chiar poate fi folosit pe post de radar fix. Distanta dintre senzori este de 27 de cm. |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
+ | |||
+ | Demo : [[https://youtu.be/TpkCb-GBDY4|aici]] | ||
+ | |||
+ | **GALERIE** | ||
+ | |||
+ | {{:pm:prj2022:bogdanc:ok.jpeg?300 |}}{{:pm:prj2022:bogdanc:alerta.jpeg?300 |}}{{:pm:prj2022:bogdanc:whatsapp_image_2022-05-26_at_21.12.50_3_.jpeg?300 |}}{{:pm:prj2022:bogdanc:whatsapp_image_2022-05-26_at_21.12.50_4_.jpeg?300 |}}{{:pm:prj2022:bogdanc:whatsapp_image_2022-05-26_at_21.12.50.jpeg?300 |}} | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
Mi se pare un proiect impresionant, util pentru un inginer in calculatoare. Experienta de a imbina hardware-ul cu software-ul mi-a placut, mai mult cu cat rezultatul este unul palpabil. | Mi se pare un proiect impresionant, util pentru un inginer in calculatoare. Experienta de a imbina hardware-ul cu software-ul mi-a placut, mai mult cu cat rezultatul este unul palpabil. | ||
Line 53: | Line 57: | ||
Am pierdut putin timp sa gasesc cum sa fac aplicatia fiindca aplicatiile existente au suport pentru terminal si nu am gasit una care poate fi customizata, asa ca am folosit MIT App Inventor in care a trebuit sa scriu si back-end. | Am pierdut putin timp sa gasesc cum sa fac aplicatia fiindca aplicatiile existente au suport pentru terminal si nu am gasit una care poate fi customizata, asa ca am folosit MIT App Inventor in care a trebuit sa scriu si back-end. | ||
===== Download ===== | ===== Download ===== | ||
- | + | {{:pm:prj2022:bogdanc:detector_de_viteza.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 73: | Line 72: | ||
**24 Mai 2022** - Schema electrica + Completare Wiki | **24 Mai 2022** - Schema electrica + Completare Wiki | ||
+ | |||
+ | **27 Mai 2022** - Terminare Wiki (adaugat poze + demo + arhiva) | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== |