This shows you the differences between two versions of the page.
pm:prj2025:iotelea:sara_denisa.florean [2025/05/27 21:07] sara_denisa.florean [Jurnal] |
pm:prj2025:iotelea:sara_denisa.florean [2025/05/28 02:57] (current) sara_denisa.florean [Bibliografie/Resurse] |
||
---|---|---|---|
Line 17: | Line 17: | ||
=== Care a fost ideea de la care am pornit? === | === Care a fost ideea de la care am pornit? === | ||
- | Ideea a pornit din dorința de a crea un sistem care să adauge o **dimensiune educativă jocurilor de Lego**, prin integrarea unei tehnologii simple și accesibile. Astfel, am conceput un dashboard care monitorizează viteza mașinii Lego, adăugând un buzzer care semnalizează momentele importante dintr-o cursă, cum ar fi startul și depășirea vitezei maxime admise. | + | Ideea a pornit din dorința de a crea un sistem care să adauge o **dimensiune educativă jocurilor de Lego**, prin integrarea unei tehnologii simple și accesibile. Astfel, am conceput un dashboard care monitorizează viteza mașinii Lego, adăugând un buzzer care semnalizează momentele importante dintr-o cursă. |
=== De ce cred că este util? === | === De ce cred că este util? === | ||
Line 26: | Line 26: | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | Acest sistem permite **monitorizarea vitezei unei mașini de Formula 1 miniatură** printr-un **Arduino UNO**, cu **feedback vizual pe LCD** și **auditiv prin buzzer**, iar utilizatorul poate interacționa prin butoane. | + | Acest sistem permite **monitorizarea vitezei unei mașini de Formula 1 miniatură** printr-un **Arduino UNO**, cu **feedback vizual pe LCD** și **auditiv prin buzzer**, iar utilizatorul poate interacționa prin **butoane**. |
- | * **Arduino UNO** este unitatea principală de control. Acesta primește semnale de la componente externe și controlează LCD-ul, butoanele, buzzer-ul, senzorul Hall și magnetul. | + | * **Arduino UNO** este unitatea principală de control. Acesta primește semnale de la componente externe și controlează LCD-ul, butoanele, buzzer-ul și senzorul Hall. |
- | * **LCD** afișează informațiile relevante, cum ar fi viteza, numărul de lap-uri. | + | * **LCD** afișează informațiile relevante, cum ar fi viteza, numărul de lap-uri, timpul scurs de la începerea cursei, rezumatul cursei după terminarea acesteia. |
* **Senzorul Hall** detectează rotațiile roții mașinii, iar magnetul montat pe roată interacționează cu senzorul pentru a calcula viteza. | * **Senzorul Hall** detectează rotațiile roții mașinii, iar magnetul montat pe roată interacționează cu senzorul pentru a calcula viteza. | ||
- | * **Butoanele** permit utilizatorului să interacționeze cu sistemul (de exemplu, pentru a începe cursa, pentru a afișa viteza maximă, numărul de lap-uri). | + | * **Butoanele** permit utilizatorului să interacționeze cu sistemul (de exemplu, pentru a începe/încheia cursa, pentru a afișa viteza maximă, numărul de lap-uri). |
- | * **Buzzer-ul** semnalează momente cheie ale cursei, cum ar fi startul sau depășirea limitei de viteză. | + | * **Buzzer-ul** semnalează momente cheie ale cursei, cum ar fi startul/finalul sau depășirea limitei de viteză. |
{{:pm:prj2025:iotelea:sara_pm.png?600}} | {{:pm:prj2025:iotelea:sara_pm.png?600}} | ||
Line 68: | Line 68: | ||
=== Senzor Hall 3144E === | === Senzor Hall 3144E === | ||
- | Senzorul Hall 3144E este un senzor digital unipolar care detectează câmpuri magnetice. Este folosit în proiect pentru a detecta rotațiile unei roți și a calcula viteza vehiculului. | + | Senzorul Hall 3144E este un senzor digital unipolar care detectează câmpuri magnetice. Este folosit în proiect pentru a detecta rotațiile unei roți și a calcula viteza mașinii de jucărie. |
**Conectarea pinilor:** | **Conectarea pinilor:** | ||
Line 122: | Line 122: | ||
==== ➤ Descrierea fluxului aplicației ==== | ==== ➤ Descrierea fluxului aplicației ==== | ||
- | Aplicația se comportă ca un **sistem de monitorizare a vitezei pentru o mașinuță în miniatură** care parcurge un circuit. Fluxul logic principal este următorul: | + | Aplicația se comportă ca un **sistem de monitorizare a vitezei pentru o mașinuță în miniatură** care parcurge un circuit. Fluxul principal este următorul: |
=== 1. Inițializare === | === 1. Inițializare === | ||
Line 135: | Line 135: | ||
=== 3. Start cursă === | === 3. Start cursă === | ||
- | * Se pornește o numărătoare inversă (3...2...1...) cu semnale sonore la fiecare pas. | + | * Se pornește o numărătoare inversă (3...2...1...) cu **semnale sonore** la fiecare pas. |
* Sistemul setează `raceActive = true`, resetează contoarele și începe monitorizarea. | * Sistemul setează `raceActive = true`, resetează contoarele și începe monitorizarea. | ||
Line 142: | Line 142: | ||
Înregistrează timpul `millis()` și calculează viteza în km/h folosind formula: `v = (circumferință roată / timp_tură_secunde) * boost * 3.6` | Înregistrează timpul `millis()` și calculează viteza în km/h folosind formula: `v = (circumferință roată / timp_tură_secunde) * boost * 3.6` | ||
* Pe LCD se afișează: | * Pe LCD se afișează: | ||
- | * Viteza curentă | + | * **Viteza curentă** |
- | * Timpul scurs de la începutul cursei | + | * **Timpul scurs** de la începutul cursei |
* Dacă viteza depășește pragul impus (`speedLimit`), se generează o alertă vizuală + sonoră. | * Dacă viteza depășește pragul impus (`speedLimit`), se generează o alertă vizuală + sonoră. | ||
=== 5. Stop cursă === | === 5. Stop cursă === | ||
- | * Cursa se încheie automat când lapsCompleted >= totalLaps sau la apăsarea butonului de START/STOP. | + | * Cursa se încheie automat când **lapsCompleted >= totalLaps** sau la **apăsarea butonului de START/STOP**. |
* Se calculează: | * Se calculează: | ||
- | * Viteza medie (pe baza tuturor măsurătorilor) | + | * **Viteza medie** (pe baza tuturor măsurătorilor) |
- | * Numărul de ture (presupunând ca fiecare pulasație înregistrată reprezintă o parcurgere a circuitului, senzorul având o poziție fixă) | + | * **Numărul de ture** (presupunând ca fiecare pulasație înregistrată reprezintă o parcurgere a circuitului, senzorul având o poziție fixă) |
* Se afișează mesaj de final și statistici pe LCD. | * Se afișează mesaj de final și statistici pe LCD. | ||
=== 6. Revenire la starea inițială === | === 6. Revenire la starea inițială === | ||
- | * După afișare, aplicația revine automat la ecranul de bun venit, pregătită pentru o nouă cursă. | + | * După afișare, aplicația revine automat la **ecranul de bun venit**, pregătită pentru **o nouă cursă**. |
==== ➤ Mediu de dezvoltare ==== | ==== ➤ Mediu de dezvoltare ==== | ||
Line 188: | Line 188: | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | Arhivă: {{:pm:prj2025:iotelea:sara_denisa.florean:F1_Car_Dashboard.zip}} |
- | 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 ===== | ||
- | 08.05.2025 – Am ales tema proiectului și am realizat descrierea aplicației împreună cu lista componentelor hardware necesare. | + | **08.05.2025** – Am ales tema proiectului și am realizat descrierea aplicației împreună cu lista componentelor hardware necesare.\\ |
- | + | **10.05.2025** – Am achiziționat materialele și am început proiectarea hardware pe breadboard.\\ | |
- | 10.05.2025 – Am achiziționat materialele și am început proiectarea hardware pe breadboard. | + | **14.05.2025** – Am testat independent principalele componente: senzorul Hall, buzzer-ul, butoanele și afișajul LCD.\\ |
- | + | **15.05.2025** – Am implementat funcționalitățile de bază: afișarea mesajului de start și semnalul sonor de întâmpinare.\\ | |
- | 14.05.2025 – Am testat independent principalele componente: senzorul Hall, buzzer-ul, butoanele și afișajul LCD. | + | **16.05.2025** – Am finalizat integrarea tuturor modulelor hardware și am început testele combinate. Am realizat schema electrică și diagrama de cablaj, pe care le-am încărcat în documentația proiectului.\\ |
- | + | **19.05.2025** – Am adăugat suport pentru sunete distincte (start, avertizare, final) și afișaje dinamice pe LCD în funcție de starea cursei.\\ | |
- | 15.05.2025 – Am implementat funcționalitățile de bază: afișarea mesajului de start și semnalul sonor de întâmpinare. | + | **21.05.2025** – Am actualizat logica software: numărătoare inversă, calcul viteză, oprire automată la finalul cursei.\\ |
- | + | **24.05.2025** – Am finalizat integrarea logicii software cu afișajul și am completat întreaga documentație pe wiki.\\ | |
- | 16.05.2025 – Am finalizat integrarea tuturor modulelor hardware și am început testele combinate. Am realizat schema electrică și diagrama de cablaj, pe care le-am încărcat în documentația proiectului. | + | **25.05.2025** - Am confecționat cutia pentru dashboard.\\ |
- | + | ||
- | 19.05.2025 – Am adăugat suport pentru sunete distincte (start, avertizare, final) și afișaje dinamice pe LCD în funcție de starea cursei. | + | |
- | + | ||
- | 21.05.2025 – Am actualizat logica software: numărătoare inversă, calcul viteză, oprire automată la finalul cursei. | + | |
- | + | ||
- | 24.05.2025 – Am finalizat integrarea logicii software cu afișajul și am completat întreaga documentație pe wiki. | + | |
- | + | ||
- | 25.05.2025 - Am confecționat cutia pentru dashboard. | + | |
Line 229: | Line 216: | ||
=== Resurse Hardware === | === Resurse Hardware === | ||
+ | * [[https://docs.arduino.cc/resources/datasheets/A000066-datasheet.pdf| Arduino UNO Datasheet]] - Fișă tehnică completă pentru placa Ardunio UNO | ||
* [[https://components101.com/sites/default/files/component_datasheet/A3144-Datasheet.pdf|A3144 Hall Effect Sensor Datasheet]] – Fișă tehnică completă pentru senzorul Hall A3144 | * [[https://components101.com/sites/default/files/component_datasheet/A3144-Datasheet.pdf|A3144 Hall Effect Sensor Datasheet]] – Fișă tehnică completă pentru senzorul Hall A3144 | ||
- | * [[https://content.arduino.cc/assets/UNO-TH_Rev3e_sch.pdf|Arduino UNO Pinout (Schematic)]] – Schematics oficiale pentru placa UNO | + | * [[https://www.handsontec.com/dataspecs/module/I2C_1602_LCD.pdf|LCD - I2C Datasheet]] - Fișă tehnică completă pentru ecranul LCD - I2C |