This shows you the differences between two versions of the page.
pm:prj2025:atoader:alexia_maria.rat [2025/05/28 14:13] alexia_maria.rat [Bibliografie/Resurse] |
pm:prj2025:atoader:alexia_maria.rat [2025/05/28 17:17] (current) alexia_maria.rat [Software Design] |
||
---|---|---|---|
Line 4: | Line 4: | ||
**Prezentarea pe scurt a proiectului:** | **Prezentarea pe scurt a proiectului:** | ||
- | Proiectul consta intr-o masinuta controlata cu ajutorul placutei Arduino, care, la apasarea unui buton, declanșeaza mai multe semnale acustice si luminoase, in timp ce masina se misca. Scopul principal al proiectului este realizarea unui sistem integrat de divertisment. Am pornit de la ideea de a imbina notiunile invatate pe parcursul laboratoarelor de PM cu creativitatea. Astfel proiectul este util ca exemplu de combinare a elementelor de hardware cu sofware dar de asemenea este util si ca mijloc de divertisment. | + | Proiectul consta intr-o masinuta controlata cu ajutorul placutei Arduino, care, la apasarea unor butoane, declanșeaza mai multe semnale acustice si luminoase,iar comenzile din serial fac masina sa se miste. Scopul principal al proiectului este realizarea unui sistem integrat de divertisment. Am pornit de la ideea de a imbina notiunile invatate pe parcursul laboratoarelor de PM cu creativitatea. Astfel proiectul este util ca exemplu de combinare a elementelor de hardware cu sofware dar de asemenea este util si ca mijloc de divertisment. |
===== Descriere generală ===== | ===== Descriere generală ===== | ||
Line 10: | Line 10: | ||
{{ :pm:prj2025:atoader:output_1_.png?700 |}} | {{ :pm:prj2025:atoader:output_1_.png?700 |}} | ||
- | **Switch On/Off** | ||
- | *Comută alimentarea plăcii Arduino şi activează starea de “ready”. | ||
**Butoane** | **Butoane** | ||
Line 18: | Line 16: | ||
*Buton Display: activează afișajul pe LCD. | *Buton Display: activează afișajul pe LCD. | ||
- | *Buton Start: porneşte redarea audio pe buzzer şi motoarele DC. | + | *Buton Start: porneşte redarea audio pe buzzer. |
- | **Arduino UNO R3** (ATmega328P + ATmega16U2) | + | **Arduino UNO R3** |
*Primeşte semnale de la switch şi butoane. | *Primeşte semnale de la switch şi butoane. | ||
Line 114: | Line 112: | ||
===== Implementare Hardware ===== | ===== Implementare Hardware ===== | ||
- | {{ :pm:prj2025:atoader:294e7989-df3e-4156-81d2-70e4b07733bf.jpg?300 |}} | ||
- | |||
+ | {{ :pm:prj2025:atoader:whatsapp_image_2025-05-28_at_15.53.43.jpeg?300 |}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
Line 135: | Line 132: | ||
**Funcții principale:** | **Funcții principale:** | ||
*playmusic() – Redă melodia pe buzzerul conectat la pinul 3, folosind funcția tone(). | *playmusic() – Redă melodia pe buzzerul conectat la pinul 3, folosind funcția tone(). | ||
- | |||
- | *switchNitro() – Interrupere pe pinul 2 pentru comutarea stării nitro. | ||
*setup() – Inițializează toate pinii (input cu pull-up pentru butoane, output pentru LED-uri și motoare), initializează LCD-ul, configurează întreruperi. | *setup() – Inițializează toate pinii (input cu pull-up pentru butoane, output pentru LED-uri și motoare), initializează LCD-ul, configurează întreruperi. | ||
Line 151: | Line 146: | ||
*Butonul LCD (pin A3) comută backlight-ul LCD-ului. | *Butonul LCD (pin A3) comută backlight-ul LCD-ului. | ||
- | *Motoarele sunt controlate prin comenzi (valori cmd între 5 și 9) primite de la serial sau din altă sursă (nu este clar în cod cum anume se modifică cmd). | + | *Motoarele sunt controlate prin comenzi primite de la serial . |
**Pattern-uri de design:** | **Pattern-uri de design:** | ||
- | Debounce simplificat butoane: verificare stare anterioară și stare curentă pentru detectarea apăsărilor (flanc descendent). | + | Debounce simplificat butoane: verificare stare anterioară și stare curentă pentru detectarea apăsărilor . |
**State machine simplificată:** LED-urile au moduri NORMAL și POLICE care schimbă comportamentul în funcție de ledMode. | **State machine simplificată:** LED-urile au moduri NORMAL și POLICE care schimbă comportamentul în funcție de ledMode. | ||
Line 176: | Line 171: | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
- | ===== Download ===== | + | *Acesta a fost primul meu proiect hardware-software cu Arduino, iar experiența a fost foarte interesanta. Am învățat să controlez motoare, LED-uri, buzzer și LCD, iar sistemul funcționează conform așteptărilor. |
- | <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**. | + | ===== Download ===== |
- | </note> | + | |
+ | {{:pm:prj2025:atoader:discocar.zip|}} | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== |