Differences

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

Link to this comparison view

pm:prj2023:iotelea:smartlightsystem [2023/05/06 15:30]
alexandra.matei2808
pm:prj2023:iotelea:smartlightsystem [2023/05/30 13:37] (current)
alexandra.matei2808
Line 1: Line 1:
 ====== Smart Light System ====== ====== Smart Light System ======
 +Alexandra Elena Matei,
 +336CB
 ===== Introducere ===== ===== Introducere =====
  
Line 9: Line 11:
 ===== Descriere generală ===== ===== Descriere generală =====
  
-Circuitul ​foloseste ​un senzor de temperatură cu infraroșu matricial pentru a determina ​prezenta si pozitia ​unei persoane ​intr-o incapere. Acest senzor ​inparte ​camera ​intr-o matrice 8x8 a temperaturilor ​din cameraPrezenta ​unei persoane se determina in momentul ​in care se citeste un spike al temperaturii. ​+Circuitul ​folosește ​un senzor de temperatură cu infraroșu matricial pentru a determina ​prezența și poziția ​unei persoane ​într-o încăpere. Acest senzor ​împarte ​camera ​într-o matrice 8x8 a temperaturilor. ​Prezența ​unei persoane se determină în momentul ​în care se citeste un spike al temperaturii ​care trece de un prag ales selectiv de noi. În momentul în care o persoană este detectată, cu ajutorul senzorului de intensitate luminoasă ambientală se verifică nivelul luminii în cameră și se controlează prin PWM led-ul îm funcție de câtă lumină mai este necesară. Prezența unei persoane se va afișa pe un ecran LCD ce va comunica cu Arduino cu ajutorul modulului I2C. 
 + 
 +{{ :​pm:​prj2023:​iotelea:​schema_bloc.png?700 |}}
  
  
Line 21: Line 25:
   *Senzor ALS   *Senzor ALS
   *Ecran LCD   *Ecran LCD
 +  *Condensator
   *Fire de legătură mamă-tată și tată-tată   *Fire de legătură mamă-tată și tată-tată
   *Breadboard   *Breadboard
 +  *Potențiometru
  
 +{{ :​pm:​prj2023:​iotelea:​smartlighthardware2.jpg?​700 |}}
 +
 +Circuitul este controlat de Arduino UNO care este alimentat de la laptop. La pinii SCL și SDA am conectat atât senzorul termic AMG8833, cât și ecranul LCD pe care se afișează informațiile. La ecran am legat și un potențiometru pentru a putea reglat insensitatea sa luminoasă. La pinul A0 este conectat senzorul ALS pentru lumina ambientală. Controlul benzii LED se face prin intermediul PWM, cu ajutorul unui tranzistor conectat la pinul 10. Acesta funcționează ca un switch, întrerupând la nevoie tensiunea de 12V ce alimentează banda LED. Am folosit o sursă de tensiune externă, deoarece Arduino UNO nu poate oferi o tensiune mai mare de 5V și nici puterea necesară. Firele de culoare roșie și neagră sunt de alimentare.
 ===== Software Design ===== ===== Software Design =====
  
 +Am declarat global adresa I2C a ecranului LCD, threshold-ul temperaturii de la care se va detecta prezenta unei persoane(setat la 26 grade celsius, conform recomandărilor producătorului),​ senzorul de temperatura GridEye și matricea de temperaturi folosită de acesta.
  
-<note tip>+În cadrul funcției **setup()** se initializeaza libraria Wire, iar apoi se permite comunicarea cu ecranul LCD prin interfața serială. Tot aici se initializeaza ecranul LCD si senzorul de temperatura matriceal impreuna cu stabilirea modului de utilizare a pinilor de input si output.
  
-</​note>​+În funcția principală **loop()** se cauta prezenta si pozitia unei persoane in camera. 
 +Matricea de temperaturi citita de senzorul termic este suprapusa peste planul camerei. Pozitia unei persoane in camera este deteminata prin functia **getPosition()** ​ care imparte matricea(**tempPixelTable[8][8]**) ​ in 4 zone egale iar apoi  **initTemperatureMatrix()** determina daca temperatura citita ​ trece de tresholdul setat.
  
 +
 +Realizare și încărcarea codului pe plăcuța Arduino s-a făcut cu ajutorul aplicației Arduino. Bibliotecile folosite au fost SparkFun_GridEYE_Arduino_Library.h(pentru senzorul AMG8833), Wire.h(pentru comunicarea cu dispozitivele I2C) și LiquidCrystal_I2C.h(pentru ecranul LCD cu modul I2C).
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip>+Design-ul hardware și software se concluzionează într-un sistem inteligent de control al luminii, prin care putem salva o cantitate considerabilă de energie de-a lungul timpului, la un cost minim de implementare.
  
-</note>+{{ :​pm:​prj2023:​iotelea:​smartlighthardware1.jpg?​700 |}}  
 + 
 +[[https://​youtu.be/​55ojUJjlHk8|Demo YouTube]]
  
 ===== Concluzii ===== ===== Concluzii =====
  
-===== Download =====+Proiectul a fost o adevărată provocare în cadrul căreia m-am lovit de multiple probleme pe care nu le-am prevăzut la început. Banda LED a avut nevoie de o tensiune de alimentare considerabil mai mare decât ceea ce putea oferi Arduino, motiv pentru care am adăugat un tranzistor la care am legat o nouă sursă de tensiune și banda LED, tranzistor pe care îl deschid atunci când banda trebuie aprinsă. De asemenea, atunci când am ales această bandă LED nu am luat în considerare că are componente RGB și lumina albă este practic formată din 3 led-uri colorate, nu dintr-un led alb, motiv pentru care atunci când o controlez prin PWM, lumina nu este perfect albă. Un alt impediment a fost că am conectat ecranul și nu reușeam să citesc nimic din ce afișam din cauza luminozității prea mici, astfel a trebuit să adaug un potențiometru prin care să o controlez. Tot legat de ecran, m-am lovit și de afișarea unor caractere random pe lângă cele dorite, iar după mult debugging, verificat fire și circuit și căutat pe internet am ajuns la concluzia că funcția de printare folosită era de vină.
  
-<note warning>+Realizarea proiectului a fost o experință plăcută și distractivă și mă bucur că am avut ocazia să fac o temă practică, hands-on, ce a avut la bază un subiect ce mă pasionează. 
 + 
 +===== Download =====
  
-</​note>​+{{:​pm:​prj2023:​iotelea:​proiect_pm_mae.zip|}}
  
 ===== Jurnal ===== ===== Jurnal =====
 +    *29 aprilie 2023 - Am creat pagina de OCW
 +    *7 mai 2023 - Am adăugat Introducerea,​ Descrierea generală, Schema bloc, Design-ul hardware
 +    *21 mai 2023 - Am adăugat toate detaliile de implementare Hardware
 +    *29 mai 2023 - Am adăugat toate detaliile de implementare Software și Rezultate și Concluzii
  
-<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 =====
  
-<​note>​ 
  
-</note>+  *<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​SmartLightSystem.pdf</a></​html>​ 
 +  *[[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab1-2023|Laboratorul 1 PM]] 
 +  *[[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab3-2023|Laboratorul 3 PM]] 
 +  *[[https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab6-2023|Laboratorul 6 PM]] 
 +  *[[https://​learn.adafruit.com/​adafruit-amg8833-8x8-thermal-camera-sensor/​arduino-wiring-test|Senzor AMG8833]]
  
-<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ 
  
pm/prj2023/iotelea/smartlightsystem.1683376232.txt.gz · Last modified: 2023/05/06 15:30 by alexandra.matei2808
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