Online Otomatik Sulama Sistemi

Merhaba arkadaşlar arduino ile tanışmama sebep olan Online sera projesini 2012 yılında yapmıştım. Tabiki o zamanlar ESP modüllerinin esamesi dahi okunmuyordu. Ama şuanda oluşan IoT furyasında inanılmaz kolaylıklar sağlandı. En güzel olanı ise BLYNK gibi onlarca websitesinin yaygınlaşması oldu.

Bu projemiz BLYNK.cc üzerinden çalışmaktadır.Bundan dolayı bu siteye girip kullanıcı oluşturulması ve telefonunuza bu programın kurulması gerekmektedir.

 

Kullanılan Malzemeler

  1. Toprak nemi ölçme(Soil Mosture) sensörü
  2. DHT11 yada DHT22 sıcaklık nem sensörü
  3. ESP8266 Geliştirme kartı

Proje geliştirmeye açık olduğundan online sera projesi çok rahatlıkla yapabilirsiniz.

Bağlantı şeması

  1. DHT22  – WeMos D1 mini geliştirme kartının D4 pinine
  2. Nem sensörü A0 pinine
  3. Röle  D1 pinine bağlıdır.
#define BLYNK_PRINT Serial 
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT.h>
#include <SimpleTimer.h> //Good timer library

#define DHTPIN D4 // 
#define Relay_1 D1 // 

#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
int temp;
int humidity;
// SoilMoisture Value
int moisture_val;
char auth[] = "1.....d"; //Auth Token for project

// Blynk Led Widget
WidgetLED led(V4); //register led to virtual pin 4

SimpleTimer timer;

void setup()
{
 Serial.begin(9600);
 dht.begin();
 Blynk.begin(auth, "ssid", "pasword");
 Serial.println("Blynk test!");

 
//-------( Initialize Pins so relays are inactive at reset)----
 digitalWrite(Relay_1, LOW);
//---( THEN set pins as outputs )---- 
 pinMode(Relay_1, OUTPUT); 
 delay(4000); //Check that all relays are inactive at Reset


 // Setup function to be called every 2 seconds
timer.setInterval(2000, sendData);

}//--(end setup )---
 

void sendData()
{
 float t = dht.readTemperature();
 float h = dht.readHumidity();
 
 moisture_val = analogRead(A0); // read the value from the moisture sensor
 Blynk.virtualWrite(V2, t);
 Blynk.virtualWrite(V1, h);
 Blynk.virtualWrite(V3, moisture_val);
 if (moisture_val < 850)
 {
 led.on(); 
 digitalWrite (Relay_1, HIGH);
 }
 else
 { 
 led.off();
 digitalWrite (Relay_1, LOW);
 }
}

void loop()
{
 Blynk.run();
 timer.run(); //
}

Kolay Gelsin

Boş zamanlarda arduino ile uğraşan kendi halinde bir Öğretmen.

Bir Cevap Yazın

Time limit is exhausted. Please reload CAPTCHA.