Merhabalar, kendi tasarımımız olan mardinio kartımız ile bir tarım uygulaması örneği paylaşıyoruz.
Bu örnekte Sıcaklık, Toprak nem, methan gazı sensörleri; bir adet buzzer ve 1 adet su tahliyesi için su motoru kullanılmıştır.
#include "dht.h" #define dhtPin A0 // Sıcaklık Nem Pin #define soilHumidityPin A3 // Toprak Nem Pin #define methanePin A2 // Metan Pin #define buzzerPin 4 // Buzzer Pin #define motorPin 6 // Motor Pin void setup() { pinMode(buzzerPin, OUTPUT); pinMode(motorPin, OUTPUT); digitalWrite(motorPin, LOW); Serial.begin(9600); delay(500);//Delay to let system boot Serial.println("Turk Tarim Akademisi\n"); delay(1000);//Wait before accessing Sensor }//end "setup()" void loop() { readTempHum(); readSoilHum(); readMethane(); delay(3000);//Wait 5 seconds before accessing sensor again. }// end loop() void readTempHum() { dht DHT; DHT.read11(dhtPin); Serial.print("Nem: "); Serial.print(DHT.humidity); Serial.print("% "); Serial.print("Sicaklik: "); Serial.print(DHT.temperature); Serial.println("C "); Serial.println(""); } void readSoilHum() { int soilHum = analogRead(soilHumidityPin); if (soilHum >= 0 && soilHum <= 50) { Serial.println("Toprak Nem Sensoru: Sensor Hatasi!"); controlMotor(0); controlBuzzer(1); return; } else if (soilHum > 50 && soilHum <= 650) { // Kuru Toprak controlMotor(1); controlBuzzer(0); } else if (soilHum > 650 && soilHum <= 750) { // Nemli Toprak controlMotor(1); controlBuzzer(0); } else if (soilHum > 750 && soilHum <= 1023) { // Islak Toprak controlMotor(0); controlBuzzer(1); } Serial.print("Toprak Nem Sensor Degeri: "); Serial.println(soilHum); Serial.println(""); } void readMethane() { int methaneValue = analogRead(methanePin); Serial.print("Methan Gazi Sensor Degeri: "); Serial.println(methaneValue); Serial.println(""); } void controlBuzzer(int stat) { if (stat == 0) { noTone(buzzerPin); } else if (stat == 1) { tone(buzzerPin, 440, 2000); } } void controlMotor(int stat) { if (stat == 0) { digitalWrite(motorPin, HIGH); } else if (stat == 1) { digitalWrite(motorPin, LOW); } }