This shows you the differences between two versions of the page.
pm:prj2024:vstoica:alexandra.popescu02 [2024/05/26 17:52] alexandra.popescu02 [Descriere generală] |
pm:prj2024:vstoica:alexandra.popescu02 [2024/05/27 11:13] (current) alexandra.popescu02 [Software Design] |
||
---|---|---|---|
Line 11: | Line 11: | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | {{:pm:prj2024:vstoica:schema_melodiurs.png?200|}} | + | {{ :pm:prj2024:vstoica:schema_melodiurs.png?300 |}} |
MelodiUrs este o jucărie monitor sub formă de oaie, special creată pentru copii. Aceasta detectează mișcările bebelușilor și trimite notificări pe tabletă, aprinzand un led pentru a face lumina, asigurându-se că părinții sunt mereu la curent cu activitatea micuțului. Jucăria are un buton de pornire a monitorului și două butoane de chemare „Tata” și „Mama”, care trimit mesaje instantanee pe tabletă atunci când sunt apăsate. | MelodiUrs este o jucărie monitor sub formă de oaie, special creată pentru copii. Aceasta detectează mișcările bebelușilor și trimite notificări pe tabletă, aprinzand un led pentru a face lumina, asigurându-se că părinții sunt mereu la curent cu activitatea micuțului. Jucăria are un buton de pornire a monitorului și două butoane de chemare „Tata” și „Mama”, care trimit mesaje instantanee pe tabletă atunci când sunt apăsate. | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Line 17: | Line 18: | ||
==Listă de piese== | ==Listă de piese== | ||
* Placă de dezvoltare UNO R3 Arduino | * Placă de dezvoltare UNO R3 Arduino | ||
- | * 4 Butoane + Capace butoane | + | * 3 Butoane + Capace butoane |
* LCD screen l2C | * LCD screen l2C | ||
* SD Card | * SD Card | ||
* Modul Sd | * Modul Sd | ||
* Speaker | * Speaker | ||
- | * 2 Led-uri | + | * Modul amplificator audio LM386 |
- | * placa PCB prototipare | + | * Modul Led RGB |
+ | * Modul PIR | ||
+ | * Modul Bluetooth HC-05 | ||
+ | * Baterie 9V | ||
+ | * Cutie baterie | ||
* Fire | * Fire | ||
==Schemă electrică== | ==Schemă electrică== | ||
- | {{:pm:prj2024:vstoica:schema2.png?nolink&300 |}} | + | {{ :pm:prj2024:vstoica:circuit_melodiurs.png?300 |}} |
+ | ==Schemă electrică== | ||
+ | {{ :pm:prj2024:vstoica:circuit_fizic_melodiurs.jpg?300 |}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | <note tip> | + | ==Mediu Dezvoltare:== |
- | Descrierea codului aplicaţiei (firmware): | + | - Arduino IDE |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | ==Librarii folosite== |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | - LiquidCrystal_I2C.h - folosita pentru a controla un ecran LCD (Liquid Crystal Display) printr-un modul I2C. |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | + | |
- | ===== Rezultate Obţinute ===== | + | - Wire.h - este biblioteca pentru comunicaţia I2C. Este folosită implicit de LiquidCrystal_I2C pentru a comunica cu ecranul LCD. |
- | <note tip> | + | - SoftwareSerial.h - este folosită pentru a comunica cu modulul Bluetooth HC-06. |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
+ | - SD.h - pentru comunicarea cu cardul SD si citirea de fisiere | ||
+ | |||
+ | - TMRpcm.h - permite redarea fişierelor audio (de tip .wav) utilizând un difuzor conectat la un pin specificat. Este folosit pentru a reda sunete de pe cardul SD. | ||
+ | |||
+ | ==Implementarea codului== | ||
+ | - Am inclus toate bibliotecile mentionate mai sus si am declarat pinii folositi si variabilele. | ||
+ | |||
+ | Pini folositi: | ||
+ | |||
+ | - 0, 1, 10 pentru butoane | ||
+ | |||
+ | - 5 sensor miscare | ||
+ | |||
+ | - 4 modul card SD | ||
+ | |||
+ | - A0, A1, A2 pentru LED-uri RGB | ||
+ | |||
+ | Variabilele check_monitor, light, atentie_copil, mama și tata țin evidența diferitelor stări ale sistemului. | ||
+ | |||
+ | Funcția setup() | ||
+ | Inițializează LCD-ul, configurează pinii, pornește comunicarea serială și Bluetooth, și inițializează cardul SD și difuzorul. Pinii pentru LED-uri sunt setați ca ieșiri. | ||
+ | |||
+ | Funcția loop() | ||
+ | Se repetă continuu pentru a citi stările butoanelor și a monitoriza mișcarea. Dacă BUTTON_0 este apăsat, se activează modul de monitorizare și se afișează "Monitor!" pe LCD. BUTTON_1 și BUTTON_2 afișează "Mami!" și "Tata!" și trimit mesaje prin Bluetooth. | ||
+ | |||
+ | În modul de monitorizare, dacă senzorul de mișcare detectează mișcare, se afișează "Parintii vin" pe LCD, se trimite un mesaj Bluetooth și se redă un fișier audio, aprinzând LED-urile RGB. Monitorizarea se oprește când BUTTON_0 este apăsat din nou, resetând stările și oprind LED-urile. | ||
+ | |||
+ | |||
+ | <note>**Cod sursa:**{{:pm:prj2024:vstoica:proiect_pm_melodiurs.zip|}}</note> | ||
+ | |||
+ | ===== Rezultate Obţinute ===== | ||
+ | {{:pm:prj2024:vstoica:melodiurs_poza2.jpg?300|}} | ||
+ | {{:pm:prj2024:vstoica:melodiurs_poza1.jpg?200|}} | ||
+ | <note> **Link Video:** https://drive.google.com/file/d/1QwhCdz70K5H5l4Rf4UtUOuF3g7Rg2_IF/view?usp=drive_link</note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
- | ===== Download ===== | + | Sistemul afișează mesaje pe un ecran LCD, trimite alerte către părinți atunci când sunt apăsate butoane sau când senzorul de mișcare detectează activitate, și controlează LED-uri RGB pentru a oferi indicii vizuale. |
- | <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 important>Din păcate, modulul de amplificare s-a stricat, ceea ce înseamnă că sistemul nu mai poate reda sunete de pe cardul SD, limitând astfel funcționalitatea audio a proiectului. În rest, toate celelalte funcții ale sistemului rămân operaționale și utile.</note> |
+ | |||
+ | Mi-a plăcut să lucrez la acest proiect și să explorez diverse componente și funcționalități. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Download ===== | ||
+ | |||
+ | <note > | ||
+ | Arhiva : | ||
</note> | </note> | ||
Line 63: | Line 108: | ||
<note> | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | Link **biblioteci utilizate**: |
+ | |||
+ | - https://www.arduino.cc/reference/en/libraries/liquidcrystal-i2c/ | ||
+ | |||
+ | - https://docs.arduino.cc/learn/built-in-libraries/software-serial/ | ||
+ | |||
+ | - https://www.arduino.cc/reference/en/language/functions/communication/wire/ | ||
+ | |||
+ | - https://www.arduino.cc/reference/en/libraries/sd/ | ||
+ | |||
+ | - https://www.arduino.cc/reference/en/libraries/tmrpcm/ | ||
+ | |||
+ | Link-uri utile: | ||
+ | |||
+ | - https://www.electronicwings.com/sensors-modules/bluetooth-module-hc-05- | ||
+ | |||
+ | - https://cdn-learn.adafruit.com/downloads/pdf/pir-passive-infrared-proximity-motion-sensor.pdf | ||
</note> | </note> | ||
<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> | ||