Plant-Happiness-Ometer

Introducere

Plant-Happiness-Ometer vine în ajutorul plantelor de casă cu proprietari uituci și nepricepuți în ale grădinăritului. Cu acest dispozitiv, vei putea afla nivelul de fericire al plantei tale!

Pe un ecran LCD vor fi afișați parametrii precum luminozitate, temperatură și umiditate ambientală și a solului. În funcție de nivelul de îngrijire (sau neglijență), planta își va exprima sentimentele cu ajutorul unei matrice led.

Mai mult decât atât, Plant-Happiness-Ometer îi dă plantei tale glas! Când este însetată sau suferă din lipsa luminii, vei fii înștiințat/ă printr-o notificare pe telefon.

Descriere generală

Proiectul va fi asamblat după cum urmează:

Plăcuța Arduino Uno va lua măsurători la un interval de timp de 1 oră de la senzorii aflați în jurul plantei. Valorile vor fi afișate pe un ecran LCD, iar în funcție de acestea, pe o matrice LED va fi afișată o față fericită sau una tristă.

În cazul în care se detectează că parametrii nu sunt optimi pentru bunăstarea plantei, se va trimite un mesaj pe interfața USART către plăcuța Plusivo Micro. Cu ajutorul modulului ESP8266 de pe plăcuță, se vor trimite notificări către telefonul utilizatorului, prin applet-ul Webhook al serviciului IFTTT.


Diagrama bloc corespunzatoare proiectului:

schema-bloc_ruxi.jpg

Hardware Design

Componentă Număr
Arduino Uno 1
Plusivo Micro ESP8266 1
Breadboard 2
Senzor DHT11 1
Fotorezistor 1
Modul senzor umiditate sol cu comparator LM393 1
Modul LCD 1602 cu I2C 1
Matrice LED cu driver MAX7219 1
Modul sursa de alimentare 5v - 3.3v breadboard 2
Rezistență 10k 1
Rezistență 1k 2
Led 1


Diagrama electrică corespunzatoare proiectului:
schema-electrica_ruxi.jpg

Software Design

  • Mediu de dezvoltare: Arduino IDE

Arduino Uno

Funcționare

În bucla principală se verifică dacă a trecut o oră de la ultima măsurătoare și se citesc valorile de la senzori după caz. Pentru a lua date de la senzorul de umiditate și temperatură folosesc biblioteca “DHT.h”, iar de la senzorii de lumină și umiditate a solului citesc valoarea furnizată de ADC. Apoi, cu ajutorul bibliotecii “LiquidCrystal_I2c”, afișez parametrii pe ecranul LCD, iar cu ajutorul bibliotecii “LedControl”, afișez emoția plantei pe matricea LED.

Interval de măsurare

Pentru a lua măsurători de la senzori din oră în oră, am folosit timer-ul 1 al microcontroller-ului ATmega328P. L-am configurat a.î. să se declanșeze întreruperea TIMER1_COMPA din jumătate în jumătate de secundă, iar rutina de tratare incrementează un contor intern. Astfel, când contorul din program atinge valoarea 7200, ce corespunde cu 3600 de secunde, se vor lua măsurători.

Comunicare cu Plusivo Micro

Comunicarea între cele două componente se realizează prin UART: Arduino Uno este transmițătorul, iar Plusivo Micro este receptorul. Dacă parametrii colectați de la senzori determină că planta nu are un mediu optim, se trimite un mesaj, sub formă de string, care conține acei parametrii neoptimi: nivelul de apă, gradul de luminozitate etc.

Plusivo Micro

Funcționare

În bucla principală se verifică daca s-a primit un mesaj de la Arduino Uno. În caz afirmativ, se extrag din string-ul primit parametrii și se construiește un mesaj ce va fi inclus în request-ul web.

Conectivitate

Prin intermediul bibliotecii “ESP8266WiFi”, mă conectez la rețeaua WiFi din apartament.

Utilizare serviciu IFTTT

Pentru a trimite un request web către serverul IFTTT-ului, care mai departe să trimită notificarea în aplicația din telefon, folosesc un client de WiFi securizat.

Request-ul web este de tip “POST”, cu conținut de tip “application/x-www-form-urlencoded”, prin care trimit ca valori un mesaj text și un link URL către o poză.

Rezultate Obţinute

Asamblare circuit

Notificări

slide1-1.jpg

  • În prima poză se poate observa că o notificare a fost declanșată din aplicația IFTTT.

slide2.jpg

  • În cea de-a doua poză se poate observa că applet-ul este activ, a fost declanșat la ora 14:17 și că notificarea conține un mesaj text și un URL al unei poze.

slide3.jpg

  • În cea de-a treia poză se poate observa poza trimisă - o plantă tristă din cauza neglijenței.

Demo

Concluzii

  • Mi-a făcut plăcere să lucrez la proiect și să îmbin mai multe concepte deprinse de la curs / laborator. Cu mici modificări, este un proiect pe care l-as folosi zi de zi, întrucât nu am fost înzestrată cu un deget verde.
  • Am întâmpinat mici obstacole atât software cât și hardware, care m-au determinat să îmi însușesc mai bine diferite metode de debugging - printare la serială, aprinderea (câteodată și arderea) unor led-uri pentru verificarea condițiilor / buna alimentare a pieselor.

Download

Jurnal

  • 24/04/2021 - Realizare schemă electrică
  • 25/04/2021 - Publicare pagină și realizare schemă bloc
  • 06/05/2021 - Plăcuța se conectează cu succes la WiFi + se trimite cu succes notificare pe telefon
  • 07/05/2021 - Se colectează și se procesează cu succes date de la senzori

Bibliografie/Resurse

pm/prj2021/abasoc/planthappiness.txt · Last modified: 2021/06/02 12:31 by ruxandra.grigorie
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