This is an old revision of the document!
Proiectul constă în realizarea unei mini-sere inteligente cu un sistem automat de irigare și ventilație determinat de factorii de mediu (umiditatea solului, respectiv temperatură), precum și alte două funcționalități extra care facilitează dezvoltarea armonioasă a plantelor. Sera va avea un ecran pe care se va afișa starea curentă a plantelor, dar și un buton pentru pornirea unei melodii ce stimulează creșterea florilor.
Dacă te-ai găsit în situația să nu îti amintești când ai udat ultima dată plantele din casă sau, oricât ai încercat să ai grijă de o floare, aceasta tot nu pare că se simte bine în habitatul ei, o seră inteligentă este ceea ce îți trebuie. Sera utilizează un senzor de umiditate pentru a evalua când trebuie udat solul, declanșând ulterior pompa de apă ce facilitează hidratarea plantelor. Există și un senzor de temperatură care pornește un mic ventilator în interiorul serei pentru a răcori atmosfera. Pentru a face plantele și mai fericite am adăugat un difuzor ce pornește o melodie din muzica clasică, aceasta având un efect benefic asupra creșterii lor. Toți acești factori contribuie la starea de sănatate a plantelor, care va fi prezentată pe un display în exteriorul serei.
Lista pieselor:
Mediu de dezvoltare: Arduino IDE
Biblioteci folosite:
int value = analogRead(A0); Serial.println(value); int chk = DHT.read11(DHT11_PIN); Serial.print("Temperature = "); Serial.println(DHT.temperature); Serial.print("Humidity = "); Serial.println(DHT.humidity); delay(1000);
// 1. Pamantul e prea umed pentru starea optima a plantei if(value < 300) { digitalWrite(WATER_PIN, LOW); lcd.setCursor(0, 0); lcd.print("Too much water!!!"); lcd.setCursor(0, 1); lcd.print("I'm drowning..."); } // 2. Conditii optime pentru dezvoltarea plantelor else if (value > 300 && value < 850) { digitalWrite(WATER_PIN, LOW); lcd.setCursor(0, 0); lcd.print("I'm happy <3 "); lcd.setCursor(0, 1); lcd.print("Perfect soil "); } else { // 3. Pamant uscat - se porneste pompa de apa pentru a uda plantele digitalWrite(WATER_PIN, HIGH); lcd.setCursor(0, 0); lcd.print("Drinking water..."); lcd.setCursor(0, 1); lcd.print("Pretty dry here :( "); // 4. Pamantul este foarte uscat, deci pompa nu mai functioneaza // => nu exista apa in rezervor: se va porni o alarma in acest caz if(value > 1010) { for (int thisNote = 0; thisNote < notes2; thisNote = thisNote + 2) { // alarm for extreme soil dryness // ... } lcd.clear(); lcd.setCursor(0, 0); lcd.print("Refill the tank!!!"); } }
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.