Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2024:fgul:elena.bogdan2912 [2024/05/26 12:31]
elena.bogdan2912
pm:prj2024:fgul:elena.bogdan2912 [2024/05/27 00:15] (current)
elena.bogdan2912 [Github Repository:]
Line 47: Line 47:
 ==== Schematica electrica: ==== ==== Schematica electrica: ====
  
 +Realizata folosind **Autodesk Fusion**
  
 {{ :​pm:​prj2024:​fgul:​atmega2560.png?​500 |}} {{ :​pm:​prj2024:​fgul:​atmega2560.png?​500 |}}
  
 __Pentru o intelegere mai buna a modului in care sunt conectate componentele,​ atasez un close-up al placutei:__ __Pentru o intelegere mai buna a modului in care sunt conectate componentele,​ atasez un close-up al placutei:__
-{{ :​pm:​prj2024:​fgul:​atmega2560_close-up.png?​500 |}}+{{ :​pm:​prj2024:​fgul:​atmega2560_close-up.png?​300 |}}
  
 ===== Software Design ===== ===== Software Design =====
Line 61: Line 62:
 Am inceput prin a construi **animatia redata pe lcd** : dupa ce am ales imaginile, le-am convertit in siruri de octeti folosind [[https://​jlamch.net/​MXChipWelcome/​ | image2cpp]]. Acestea sunt stocate si redate din memoria flash a microcontroller-ului,​ folosind functii specifice bibliotecii TFT_HX8357. **Urmatorul fragment de cod este inclus in metoda loop()**: Am inceput prin a construi **animatia redata pe lcd** : dupa ce am ales imaginile, le-am convertit in siruri de octeti folosind [[https://​jlamch.net/​MXChipWelcome/​ | image2cpp]]. Acestea sunt stocate si redate din memoria flash a microcontroller-ului,​ folosind functii specifice bibliotecii TFT_HX8357. **Urmatorul fragment de cod este inclus in metoda loop()**:
  
-<​code>​ +<​code ​c
-if (millis() - lastImageChangeTime >= 4000) { // 4000 milisecunde = 4 secunde+if (millis() - lastImageChangeTime >= 4000) { 
     // Schimba imaginea la următoarea în slideshow     // Schimba imaginea la următoarea în slideshow
     switch (currentImage) {     switch (currentImage) {
Line 86: Line 87:
   * animatedHearts() - realizeaza schimbarea de cadre consecutive ​   * animatedHearts() - realizeaza schimbarea de cadre consecutive ​
  
-<​code>​+<​code ​c>
 // un exemplu de frame // un exemplu de frame
 const byte heart3[8] = { const byte heart3[8] = {
Line 114: Line 115:
  
 In metoda loop() pornim LED-urile in functie de valorile semnalate de fotorezistor : In metoda loop() pornim LED-urile in functie de valorile semnalate de fotorezistor :
-<​code>​+<​code ​c>
 // Dacă nivelul de lumină este sub pragul stabilit, activăm matricea de LED-uri // Dacă nivelul de lumină este sub pragul stabilit, activăm matricea de LED-uri
   if (lightLevel < LIGHT_THRESHOLD) {   if (lightLevel < LIGHT_THRESHOLD) {
Line 123: Line 124:
 </​code>​ </​code>​
  
 +Ultima si cea mai greu de testat etapa o reprezinta **alarma pentru parinti**. Cea mai solicitanta parte a fost configurarea buzzer-ului astfel incat sa produca un sunet controlat atunci cand microfonul sesizeaza zgomote ce trec de pragul stabilit. Astfel, **in metoda loop()** configuram buzzer-ul sa cante o melodie simpla ce formeaza un semnal scurt de avertizare pentru parinti ca bebelusul a inceput sa planga:
  
-=== Documentatie si resurse: ===+<code c> 
 +// Dacă nivelul de zgomot este peste pragul stabilit, activăm buzzer-ul 
 +  if (soundLevel > NOISE_THRESHOLD) { 
 +    buzzerEndTime ​millis() + 1 * 1000; // Activăm buzzer-ul 
 +    // Redăm o melodie simplă 
 +    for (int thisNote ​0; thisNote < 8; thisNote++) { 
 +      int noteDuration ​1000 / noteDurations[thisNote];​ 
 +      tone(BUZZER_PIN,​ melody[thisNote],​ noteDuration);​ 
 +      int pauseBetweenNotes ​noteDuration * 1.30; 
 +      delay(pauseBetweenNotes);​ 
 +      noTone(BUZZER_PIN);​ // Oprește tonul curent 
 +    } 
 +  } 
 +</​code>​
  
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<​note>​ + 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+{{:​pm:​prj2024:​fgul:​hardware_bebe2.jpg?200 |}}{{ :​pm:​prj2024:​fgul:​hardware_bebe.jpg?​200|}} 
-</note>+ 
 +Pentru un aspect mai organizat si potrivit pentru copii, am ales sa introduc piesele intr-o cutie. Inainte de a o inchide complet, am fotografiat asezarea componentelor in interior; 
 +Atasez si o fotografie cu proiectul atunci cand fotorezistorul nu sesizeaza lumina ambientala si aprinde matricea de LED-uri. 
 + 
 +Pentru a surprinde intreaga functionalitate am incarcat un video in care este surprinsa reactia dispozitivului la zgomot si la lumina 
 +[[https://​youtu.be/NcxkkqK_NjU]]
  
  
 ===== Concluzii ===== ===== Concluzii =====
 +
 +Cred ca am invatat multe pe parcursul realizarii acestui proiect si ca este mai satisfacator sa lucrezi la un cod si sa poti vedea o materializare a functionalitatilor sau disfunctionalitatilor sale. 
  
 ===== Download ===== ===== Download =====
  
-<note warning>​ +Aici puteti regasi arhiva ce contine codul pe care l-am creat:
-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**. +{{:pm:prj2024:fgul:baby_monitor.zip|}}
-</​note>​+
  
-===== Jurnal ===== 
- 
-<note tip> 
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. 
-</​note>​ 
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-[1][[ https://jlamch.net/MXChipWelcome/]]+Pentru realizarea acestui proiect am folosit urmatoarele biblioteci : 
 +  
 +  * [[https://​github.com/​wayoda/​LedControl|LedControl.h]
 +  * [[https://github.com/Bodmer/TFT_HX8357]|TFT_HX8357.h]]
  
-<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​+In structurarea si implementarea acestuia, am urmarit indicatiile din urmatoarele laboratoare :
  
 +  * [[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab0-2023]]
 +  * [[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab5-2023-2024]]
 +  * [[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab4-2023-2024]]
 +Acestea m-au ajutat sa folosesc LCD-ul cu protocolul SPI, sa calibrez senzorii si matricea de LED-uri si sa ma folosesc de buzzer-ul activ.
 +
 +===== Github Repository: =====
 +
 +[[https://​github.com/​catalinabogdan/​baby_monitor/​tree/​main]]
 +
 +{{:​pm:​prj2024:​fgul:​poza-bebe.jpg?​200|}}
 +
 +<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
pm/prj2024/fgul/elena.bogdan2912.1716715918.txt.gz · Last modified: 2024/05/26 12:31 by elena.bogdan2912
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0