This is an old revision of the document!
Student: Ioan Cioraneanu Grupa: 332CB
Masurarea temperaturii si a umiditatii, afisarea lor pe un ecran LCD. Cand tempereatura nu este in parametrii de confort, un ventialor va racori camera sau un rezistor o va incalzi. Camera va fi o incinta mica pentru a se putea observa schimbarile de temperatura.
Lista de piese:
Dupa ce este setata temperatura de referinta circuitul functioneaza idependent.
► pre-setup
#include <LiquidCrystal_I2C.h> #include <DHT_U.h>
#define DHTPIN 12 #define DHTTYPE DHT22 #define ref_temp 28.0
DHT dht(DHTPIN, DHTTYPE); LiquidCrystal_I2C lcd(0x27, 20, 4);
unsigned long startTime; unsigned long currentTime;
► setup
dht.begin(); lcd.init(); // initialize the lcd lcd.backlight(); lcd.setCursor(2,0); lcd.print("Proiect PM 2022"); lcd.setCursor(0, 3); lcd.print("Ioan Cioraneanu WOW"); delay(5000);
DDRD |= B00000000; PORTD |= B00000100; // heater pin 2 PORTD |= B00010000; // fan pin 4 pinMode(2, OUTPUT); pinMode(4, OUTPUT);
startTime = millis();
► loop
float hum = dht.readHumidity(); float temp = dht.readTemperature(); if (isnan(hum) || isnan(temp)) { lcd.setCursor(0, 0); lcd.print("Read failed!"); lcd.setCursor(0, 1); lcd.print("Please reset"); return; }
lcd.setCursor(0,0); lcd.print("Tmp: Hum: REF_TMP:"); lcd.setCursor(0,1); lcd.print(temp); lcd.setCursor(6,1); lcd.print(hum); lcd.setCursor(13, 1); lcd.print(ref_temp);
if (temp > ref_temp) { PORTD &= B11101111; } else { PORTD |= B00010000; }
currentTime = millis(); if (temp < ref_temp && currentTime - startTime > 10000) { PORTD &= B11111011; // start the heater delay(500); // keep the heater on for 0.5 seconds startTime = millis(); // measure the time to pause the heater PORTD |= B00000100; // stop the heater }
Mediul de dezvoltare folosit în realizarea proiectului: Arduino IDE.
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.