Differences

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

Link to this comparison view

pm:prj2024:rrusu:calin.basturea [2024/05/20 01:23]
calin.basturea
pm:prj2024:rrusu:calin.basturea [2024/05/27 03:26] (current)
calin.basturea
Line 10: Line 10:
 Proiectul implică utilizarea microcontroller-ului Arduino Uno și a senzorilor (deși schema bloc nu include un SD card sau un senzor de zgomot, deoarece Tinkercad nu dispune de ele :-/). Pe placa de conexiuni avem, de asemenea, 3 butoane, fiecare cu funcționalitatea sa. Un buton pentru începerea monitorizării,​ unul pentru oprirea monitorizării și unul pentru Opțiuni. De asemenea, avem și 3 LED-uri care vor funcționa ca indicatori vizuali pentru a denota nivelul zgomotului detectat. Pe LCD va fi afișat timpul monitorizării,​ iar la apăsarea butonului de opțiuni diferite statistici 8-). Proiectul implică utilizarea microcontroller-ului Arduino Uno și a senzorilor (deși schema bloc nu include un SD card sau un senzor de zgomot, deoarece Tinkercad nu dispune de ele :-/). Pe placa de conexiuni avem, de asemenea, 3 butoane, fiecare cu funcționalitatea sa. Un buton pentru începerea monitorizării,​ unul pentru oprirea monitorizării și unul pentru Opțiuni. De asemenea, avem și 3 LED-uri care vor funcționa ca indicatori vizuali pentru a denota nivelul zgomotului detectat. Pe LCD va fi afișat timpul monitorizării,​ iar la apăsarea butonului de opțiuni diferite statistici 8-).
  
-{{:​pm:​prj2024:​rrusu:​tcad_pm_calinb.png?550|}} +{{:​pm:​prj2024:​rrusu:​sleeping_monitor_scheme.png?450|}}
  
 Cele 3 LED-uri(care trebuie conectate fiecare la un pin diferit, nu ca pe schema de mai sus) se vor aprinde în funcție de nivelul de zgomot perceput(în funcție de un anumit threshold). Cele 3 LED-uri(care trebuie conectate fiecare la un pin diferit, nu ca pe schema de mai sus) se vor aprinde în funcție de nivelul de zgomot perceput(în funcție de un anumit threshold).
Line 18: Line 17:
 ===== Hardware Design ===== ===== Hardware Design =====
  
 +{{:​pm:​prj2024:​rrusu:​ardu_sleepmon.png?​450|}}
 +{{:​pm:​prj2024:​rrusu:​sm_electrical_scheme.png?​450|}}
 +
 +NOTE: Buzzer-ul si modulul 2 digit sunt funcționale,​ dar trebuie solder-uite.
  
 Listă de piese Listă de piese
Line 37: Line 40:
   - LiquidCrystal_I2C.h (pentru gestionarea ecranului LCD)   - LiquidCrystal_I2C.h (pentru gestionarea ecranului LCD)
   - DHT11.h (pentru gestionarea senzorului de temperatură și umiditate)   - DHT11.h (pentru gestionarea senzorului de temperatură și umiditate)
 +  - ShiftRegister74HC595.h (pentru gestionarea modului 2 led digits) NOTE! Acest modul a avut probleme, unele functii a trebuit sa le rescriu cand am importat manual zip-ul cu libraria si in continuare, gruparea de led-uri din stanga, nu merge intotdeauna as intended.
 +De asemenea, deoarece citirea temperaturii și a umidității este destul de costisitoare d.p.d.v. al ciclilor de ceas, vom face această acțiune la un interval specific de timp(o dată la 10 secunde).
  
 <code c> <code c>
Line 58: Line 63:
       }       }
  
-      ​if(selectedSetting ​== 0){ +      ​switch(selectedSetting){ 
-        temperature_led_handle(t);​ +        ​// Temp 
-        ​lcd.setCursor(0, 1); +        case 0: { 
-        char text[17]{};​ +          ​temperature_led_handle(t);​ 
-        sprintf(text, ​"​Temp ​%d", t); +          ​displaySetting("​Temp",​ t); 
-        ​lcd.print(text)+          break
-      }else if(selectedSetting == 1)+        } 
-        TURNALLOFF();​ +        // Humidity 
-        ​lcd.setCursor(01); +        case 1
-        ​char text[17]{}; +          TURNALLOFF();​ 
-        ​sprintf(text, "Humidity %d", h); +          ​displaySetting("​Humidity"​h)
-        ​lcd.print(text);+          break
 +        ​// Both 
 +        ​}case 2: { 
 +          TURNALLOFF()
 +          ​displaySetting("​Tmp",​ t, "Hum", h)
 +          break
 +        ​
 +        default: break;
       }       }
  
Line 115: Line 127:
   }   }
   </​code>​   </​code>​
 +  ​
 + NEW! MULTIPLE LANGUAGES!! Limba poate fi aleasa din meniul de setari.
 + <​codec>​
  
-<note tip+const unsigned char settingsArrEnglish[][17] = { 
-Descrierea codului aplicaţiei (firmware): +  "<- Disp Temp ->", "<- Disp Humid ->",​ "<- Disp Both ->",​ "<- Language ->","<​- Zen ->" 
-  * Arduino IDE +}; 
-</note>+const unsigned char settingsArrRomanian[][17] = { 
 +  "​<- Afis Temp ->", "<- Afis Umid ->",​ "<- Afis Ambele ->",​ "<- Limba ->","<​- Zen ->"​ 
 +};
  
-===== Rezultate Obţinute ===== +</code>
- +
-<note tip> +
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +
-</note>+
  
 ===== Concluzii ===== ===== Concluzii =====
 +8-O =) M-am distrat creand un FSM pentru a controla meniul principal.
  
 ===== Download ===== ===== Download =====
  
-<note warning>​ +Codul sursa poate fi descarcat ​de aici {{pm:prj2024:rrusu:sleepingmonitor.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 =====
Line 146: Line 156:
  
 <​note>​ <​note>​
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**.+https://www.diodes.com/​assets/​Datasheets/​74HC595.pdf (foarte enervant)
 </​note>​ </​note>​
  
pm/prj2024/rrusu/calin.basturea.1716157405.txt.gz · Last modified: 2024/05/20 01:23 by calin.basturea
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