- Arduino Bitki Sulama Sistemi Projesi için Gerekli Bileşenler
- Devre Açıklaması:
- Çalışma Açıklaması:
- Programlama Açıklaması:
Birkaç günlüğüne şehir dışına çıktığımızda, düzenli olarak suya ihtiyaç duyduklarından bitkilerimiz için her zaman endişelenirdik. Bu yüzden burada bitkilerinize otomatik olarak su sağlayan ve cep telefonunuza mesaj göndererek sizi güncel tutan Arduino'yu kullanarak Otomatik Bitki Sulama Sistemi yapıyoruz.
Bu Bitki Sulama Sisteminde, Toprak Nemi Sensörü topraktaki nem seviyesini kontrol eder ve nem seviyesi düşükse Arduino bitkiye su sağlamak için bir su pompasını açar. Sistem toprakta yeterli nem bulduğunda su pompası otomatik olarak kapanır. Sistem pompayı açıp kapattığında, kullanıcıya GSM modülü üzerinden su pompası ve toprak neminin durumunu güncelleyen bir mesaj gönderilir. Bu sistem Çiftliklerde, bahçelerde, evlerde vb. Çok kullanışlıdır. Bu sistem tamamen otomatiktir ve herhangi bir insan müdahalesine gerek yoktur.
Arduino Bitki Sulama Sistemi Projesi için Gerekli Bileşenler
- Arduino Uno
- GSM Modülü
- Transistör BC547 (2)
- Bağlantı telleri
- 16x2 LCD (isteğe bağlı)
- Güç kaynağı 12v 1A
- Röle 12v
- Su soğutucu pompası
- Toprak Nemi Sensörü
- Dirençler (1k, 10k)
- Değişken Direnç (10k, 100k)
- Terminal konnektörü
- Voltaj Regülatörü IC LM317
GSM Modülü:
Burada TTL SIM800 GSM modülünü kullandık. SIM800, müşteri veya hobisi tarafından kolayca yerleştirilebilen eksiksiz bir Dört bantlı GSM / GPRS Modülüdür. SIM900 GSM Modülü, endüstri standardı bir arabirim sağlar; SIM800, düşük güç tüketimi ile ses, SMS, Veri için GSM / GPRS 850/900/1800 / 1900MHz performansı sunar. Bu SIM800 GSM Modülünün tasarımı ince ve kompakttır. Piyasada veya eBay'den çevrimiçi olarak kolayca temin edilebilir.
- Küçük boyutlu dört bantlı GSM / GPRS modülü.
- GPRS Etkin
- TTL Çıkışı
GSM modülü ve AT komutları hakkında buradan daha fazla bilgi edinin. Ayrıca, arayüzlerini doğru bir şekilde anlamak için GSM ve Arduino kullanan çeşitli projelerimizi de kontrol edin.
Devre Açıklaması:
Bu Bitki Sulama Sisteminde, toprak nem seviyesini algılamak için bir Ev Yapımı Toprak Nem Sensörü Sondası kullandık. Sonda yapmak için, aşağıda gösterilen Resme göre bir Bakır kaplı Levha kesip kazdık. Probun bir tarafı doğrudan Vcc'ye bağlanır ve diğer prob terminali BC547 transistörünün tabanına gider. Sensörün hassasiyetini ayarlamak için transistörün tabanına bir potansiyometre bağlanır.
Arduino, bu Otomatik Bitki Sulama Sisteminin tüm sürecini kontrol etmek için kullanılır. Toprak sensörü devresinin çıkışı doğrudan Arduino'nun dijital pin D7'sine bağlanır. Sensör devresinde bir LED kullanılır, bu LED'in AÇIK durumu toprakta nem varlığını ve KAPALI durumu toprakta nem olmadığını gösterir.
GSM modülü, kullanıcıya SMS göndermek için kullanılır. Burada TTL mantığını doğrudan veren ve alan TTL SIM800 GSM modülünü kullandık (kullanıcı herhangi bir GSM modülünü kullanabilir). SIM800 GSM modülüne güç sağlamak için bir LM317 Voltaj regülatörü kullanılır. LM317 voltaj değerine çok duyarlıdır ve kullanmadan önce veri sayfasını okumanız önerilir. Çalışma voltajı derecesi 3,8v ila 4,2v'dir (çalıştırmak için lütfen 3,8v'yi tercih edin). Aşağıda ise GSM Modülü sim800 TTL verilen Güç Kaynağı Devre Şeması:
Kullanıcı SIM900 TTL Modülünü kullanmak istiyorsa 5V kullanmalı ve eğer kullanıcı SIM900 Modülünü kullanmak istiyorsa kartın DC Jack yuvasına 12v uygulamalıdır.
220VAC küçük su pompasını kontrol etmek için bir 12V Röle kullanılır. Röle, ayrıca Arduino'nun 11 numaralı dijital pinine bağlı olan bir BC547 Transistör tarafından çalıştırılır.
Durum ve mesajları görüntülemek için isteğe bağlı bir LCD de kullanılır. LCD, RS ve EN kontrol pinleri Arduino'nun 14. ve 15. pinlerine ve LCD D4-D7'nin veri pinleri doğrudan Arduino'nun 16, 17, 18 ve 19 pinlerine bağlanır. LCD, 4 bit modunda kullanılır ve Arduino'nun dahili LCD kütüphanesi tarafından çalıştırılır.
Arduino ve toprak nem sensörlü bu Sulama Sisteminin devre şeması aşağıdadır:
Çalışma Açıklaması:
Bu Otomatik Bitki Sulama Sisteminin çalışması oldukça basittir. Öncelikle Tamamen Otomatik Sistemdir ve sistemi kontrol etmek için insan gücüne ihtiyaç yoktur. Arduino, tüm süreci kontrol etmek için kullanılır ve GSM modülü, Cep Telefonu üzerinden kullanıcıya uyarı mesajları göndermek için kullanılır.
Toprakta nem varsa, Toprak Nemi sensörünün iki probu arasında iletim vardır ve bu iletim nedeniyle, Q2 transistörü tetiklenmiş / açık durumda kalır ve Arduino Pimi D7 Düşük kalır. Arduino D7'de DÜŞÜK sinyali okuduğunda, kullanıcıya “Toprak Nemi Normaldir. Motor KAPALI ”ve su pompası Kapalı durumda kalır.
Şimdi toprakta Nem yoksa, Transistör Q2 Kapalı olur ve Pim D7 Yüksek olur. Ardından Arduino Pin D7'yi okur ve su motorunu açar ve ayrıca kullanıcıya “Düşük Toprak Nemi algılandı. Motor AÇIK ”. Toprakta yeterli nem olduğunda motor otomatik olarak kapanacaktır. Proje çalışma sürecini daha iyi anlamak için Demonstrasyon Videosu ve Kodunu (sonunda verilmiştir) daha fazla kontrol edin.
Programlama Açıklaması:
Bu programın kodu kolayca anlaşılabilir. Öncelikle pin 2 ve 3'ü Rx & Tx yapmak için SoftwareSerial kitaplığını dahil ettik ve ayrıca LCD için LiquidCrystal'ı dahil ettik . Ardından motor, toprak nem sensörü, LED vb. İçin bazı değişkenler tanımladık.
#Dahil etmek
Daha sonra void setup () fonksiyonunda seri iletişim 9600 bps'de başlatılır ve çeşitli Pinlere talimatlar verilir. GSM modülünü başlatmak için gsmInit işlevi çağrılır.
Serial1.begin (9600); Serial.begin (9600); pinMode (led, OUTPUT); pinMode (motor, ÇIKIŞ); pinMode (sensör, INPUT_PULLUP); lcd.print ("Su Sulama"); lcd.setCursor (4, 1); gecikme (2000); lcd.clear (); lcd.print ("Devre Özeti"); lcd.setCursor (0,1); lcd.print ("Hoş Geldiniz"); gecikme (2000); gsmInit ();
Ardından boşluk döngü () fonksiyonunda sensör okunur ve sensör durumuna göre motor açılır veya kapanır ve ayrıca sendSMS fonksiyonu kullanılarak kullanıcıya bir SMS gönderilir. Sonunda verilen tam kodda çeşitli işlevleri kontrol edin.
geçersiz döngü () {lcd.setCursor (0,0); lcd.print ("Otomatik Mod"); eğer (digitalRead (sensor) == 1 && flag == 0) {delay (1000); if (digitalRead (sensör) == 1) {digitalWrite (led, HIGH); sendSMS ("Düşük Toprak Nemi algılandı. Motor AÇIK"); lcd.begin (16,2); lcd.setCursor (0,1);…………………
Burada gsmInit () işlevi önemlidir ve kullanıcılar çoğunlukla doğru olup olmadığını ayarlamakta zorlanırlar. GSM modülünün ilk olarak GSM modülüne bağlı olup olmadığının kontrol edildiği, GSM modülüne 'AT' komutu gönderilerek başlatılması için kullanılır. Yanıt tamam alınırsa, hazır olduğu anlamına gelir. Sistem, hazır olana kadar veya 'Tamam' alınana kadar modülü kontrol etmeye devam eder. Ardından ATE0 komutu gönderilerek ECHO kapatılır, aksi takdirde GSM modülü tüm komutları tekrarlayacaktır. Son olarak Ağ kullanılabilirliği 'AT + CPIN?' komutu, takılan kart SIM kart ise ve PIN varsa, HAZIR yanıtını verir. Bu ayrıca ağ bulunana kadar tekrar tekrar kontrol edilir. Bu, aşağıdaki Video ile açıkça anlaşılabilir.
void gsmInit () {lcd.clear (); lcd.print ("Finding Module.."); boole at_flag = 1; while (at_flag) {Serial1.println ("AT"); while (Serial1.available ()> 0) {if (Serial1.find ("OK")) at_flag = 0; } gecikme (1000); }……………….
Yani bu Otomatik Sulama Sistemi ile evinizden uzaktayken bitkileriniz için endişelenmenize gerek yok. İnternet üzerinden çalıştırılması ve izlenebilmesi için daha da geliştirilebilir.