Differences

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

Link to this comparison view

pm:prj2023:ndrogeanu:smartplant [2023/05/29 12:28]
alexandra.badescu
pm:prj2023:ndrogeanu:smartplant [2023/05/29 23:02] (current)
alexandra.badescu
Line 32: Line 32:
   * Breadboard   * Breadboard
  
-{{:​pm:​prj2023:​ndrogeanu:​hardware_smart_plant.png?200|}}+{{:​pm:​prj2023:​ndrogeanu:​schema_plant.png?200|}}
  
  
-{{:​pm:​prj2023:​ndrogeanu:​hardware_planta.png?200|}} +{{:​pm:​prj2023:​ndrogeanu:​poza_plant.jpeg?200|}}
- +
- +
- +
-<note tip> +
-Aici puneţi tot ce ţine de hardware design: +
-  * listă de piese +
-  * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri,​ e.g. http://​www.captain.at/​electronic-atmega16-mmc-schematic.png) +
-  * diagrame de semnal  +
-  * rezultatele simulării +
-</​note>​+
  
 ===== Software Design ===== ===== Software Design =====
  
-#include <​LiquidCrystal_I2C.h>​ +Zip cod sursa: ​{{:pm:prj2023:​ndrogeanu:​proiect_pm_smart_plant.zip?200|}}
-#include <​dht11.h>​ +
-dht11 DHT11; +
-LiquidCrystal_I2C lcd(0x27,​16,​2); ​  +
-int sensorPin = A0; +
-int buzzerPin = 3; +
-int sensorValue = 0; +
-int relayPin = 2; +
-void setup() ​{ +
-  lcd.init();​ +
-  pinMode(sensorPin,​ INPUT); +
-  pinMode(buzzerPin,​ OUTPUT); +
-  tone(buzzerPin,​ 1000, 2000); +
-  pinMode(relayPin,​ OUTPUT); +
-  Serial.begin(9600);​ +
-+
-void loop() ​{ +
-  delay(2000);​ +
-  sensorValue = analogRead(sensorPin);​ +
-  int chk = DHT11.read(A1);​ +
-  float moisturePercentage;​ +
-  float temperature = (float)DHT11.temperature;​ +
-  float humidity = (float)DHT11.humidity;​ +
-  moisturePercentage= 100.00 - (sensorValue/​1023)*100;​ +
-  lcd.clear();​ +
-  lcd.setCursor(0,​0);​ +
-  lcd.print("​Temp:"​); ​  +
-  lcd.print(temperature);​ +
-  lcd.print((char)223);​ +
-  lcd.print("​C"​);​ +
-  lcd.setCursor(0,​ 1); +
-  lcd.print("​Humidity:"); +
-  lcd.print(humidity);​ +
-  lcd.print("​Moisture"​);​ +
-  lcd.print(moisturePercentage);​ +
-  lcd.print("​%"​);​ +
-  if (digitalRead(A0) == HIGH) { +
-  tone(buzzerPin,​ 440); // A4 +
-  delay(1000);​ +
-  tone(buzzerPin,​ 494); // B4 +
-  delay(1000);​ +
-  tone(buzzerPin,​ 523); // C4 +
-  delay(1000);​ +
-  tone(buzzerPin,​ 587); // D4 +
-  delay(1000);​ +
-  tone(buzzerPin,​ 659); // E4 +
-  delay(1000);​ +
-  tone(buzzerPin,​ 698); // F4 +
-  delay(1000);​ +
-  tone(buzzerPin,​ 784); // G4 +
-  delay(1000);​ +
-  noTone(buzzerPin);​ +
-  delay(1000);​ +
-  digitalWrite(relayPin,​ HIGH); +
-  //​delay(5000);​ +
-  //​digitalWrite(relayPin,​ LOW); +
-  //​delay(5000);​ +
-  ​} +
-}+
  
 <note tip> <note tip>
 Descrierea codului aplicaţiei (firmware): Descrierea codului aplicaţiei (firmware):
-  * mediu de dezvoltare (if any) (e.gAVR Studio, CodeVisionAVR) +Am folosit biblioteca dht11.h pentru senzorul dht11 si biblioteca LiquidCrystal_I2C.h pentru ecranul LCD 1602 I2C
-  * librării şi surse 3rd-party (e.gProcyon AVRlib) +Citesc valoarea analogica de la pinul A0, care este conectat la un senzor de umiditate a soluluiCitesc temperatura si umiditatea aerului utilizand senzorul DHT11 conectat la pinul A1 si afisez aceste valori pe ecranul LCD
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +Verific starea senzorului de umiditate a solului prin citirea pinului A0. Daca senzorul este activ (starea pinului este HIGH), se activeaza un buzzer care emite o melodie si se activeaza releul care porneste pompa de apa. 
-  * (etapa 3surse şi funcţii implementate+
 </​note>​ </​note>​
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
- +Videoclip: https://​www.youtube.com/watch?​v=OQWCfkdNruk
-<note tip> +
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +
-</note>+
  
 ===== Concluzii ===== ===== Concluzii =====
 +Mi s-a parut un proiect foarte interesant, cea mai grea parte mi s-a parut implementarea releului si a pompei. ​
  
 ===== Download ===== ===== Download =====
  
-<note warning>​ +Bibliotecile folosite:  
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). +{{:pm:prj2023:ndrogeanu:​dht11.zip?200|}} 
- +{{:pm:prj2023:ndrogeanu:liquidcrystal_i2c-1.1.2.zip?​200|}}
-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 148: Line 76:
  
   * https://​content.arduino.cc/​assets/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf\\   * https://​content.arduino.cc/​assets/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf\\
 +  * https://​www.mouser.com/​datasheet/​2/​758/​DHT11-Technical-Data-Sheet-Translated-Version-1143054.pdf
 +  * https://​www.elecrow.com/​1channel-relay-module10a-p-1048.html
 +  * https://​thepihut.com/​products/​soil-moisture-sensor
  
-<​note>​ 
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. 
-</​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>​
pm/prj2023/ndrogeanu/smartplant.1685352515.txt.gz · Last modified: 2023/05/29 12:28 by alexandra.badescu
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