- Gerekli malzemeler
- Yağmur sensörü
- Yağmur Sensörünün Çalışması
- Devre şeması
- Kod Açıklama
- Arduino tabanlı Yağmur Algılama sisteminin çalışması
Basit bir Yağmur Algılama Sistemi, bir Arduino ile Yağmur Sensörü arasında arayüz oluşturularak kolayca kurulabilir. Sensör üzerine düşen herhangi bir yağışı algılayacak ve Arduino kartı bunu algılayacak ve gerekli eylemleri gerçekleştirecektir. Bunun gibi bir sistem, tarım ve otomobil alanları gibi birçok farklı alanda kullanılabilir. Yağmur algılama, Sulama sürecini otomatik olarak düzenlemek için kullanılabilir. Ayrıca, sürekli yağış verileriçiftçilerin bu akıllı sistemi, mahsulü yalnızca kesinlikle gerekli olduğunda otomatik olarak sulamak için kullanmalarına yardımcı olabilir. Aynı şekilde otomobil sektöründe de ön cam silecekleri yağmur algılama sistemi kullanılarak tam otomatik hale getirilebilmektedir. Ve Ev Otomasyon Sistemleri, pencereleri otomatik olarak kapatmak ve oda sıcaklığını ayarlamak için yağmur algılamayı da kullanabilir. Bu eğitimde, Arduino'yu bir zil ile kullanarak temel bir yağmur sensörü oluşturacağız. Daha sonra üzerine istediğiniz herhangi bir şeyi inşa etmek için bu kurulumu kullanabilirsiniz. Ayrıca, yağmur sensörü modülünün kullanıma bağlı olarak yağmur damlası sensörü veya yağmur ölçer sensörü veya yağmur suyu sensörü olarak da anıldığını, ancak hepsinin bu projede kullanılan aynı sensöre atıfta bulunduğunu ve hepsinin aynı prensipte çalıştığını unutmayın.
Ayrıca sadece 555 Zamanlayıcı kullanarak basit bir Yağmur Alarmı ve otomatik bir araba sileceği de yaptık, Arduino kullanmak istemiyorsanız bunu da kontrol etmek isteyebilirsiniz. Bununla birlikte, bu projeye geri dönelim ve Arduino Yağmur Ölçerimizi oluşturmaya başlayalım.
Gerekli malzemeler
- Arduino UNO
- Yağmur sensörü
- Buzzer
- Breadboard
- Bağlantı telleri
Yağmur sensörü
Yağmur damlaları modülü iki panoları, yani Yağmur Kurulu ve Denetim Kurulu oluşur.
Yağmur kartı modülü kuru koşullar altında bunlar besleme gerilimine karşı yüksek direnç sağlayan şekilde tasarlanmış iki bakır parça oluşur, ve bu modülün, bu çıkış gerilimi 5V olacaktır. Bu modülün direnci, kart üzerindeki ıslaklığın artmasına bağlı olarak giderek azalmaktadır. Olarak direnç azalır, çıkış voltajı da azalır modülü ıslaklık göre. Yağmur kartı modülü, aşağıda gösterildiği gibi, kontrol kartına bağlamak için kullanılan iki pim oluşur.
Kontrol Kartı modülü hassasiyeti kontrol eder ve analog çıkışı dijital çıkışa dönüştürür. Analog değer kontrol panosunun eşik değerinin altındaysa, çıkış dijital düşüktür ve analog değer eşik değerden yüksekse, çıkış dijital yüksektir. Bu karşılaştırma ve dönüştürme için bir LM393 OP-Amp Karşılaştırıcı kullanılır. Bir Op-Amp karşılaştırıcı, iki farklı voltaj değerini karşılaştırmak için kullanılabilecek ilginç bir devredir, Akıllı Elektronik Mum, Lazer Güvenlik Alarmı, Hat İzleyen Robot ve çok daha fazlası gibi birçok projede bu devrede zaten kullandık.
Yağmur kontrol modülü aşağıda gösterilmiştir yağmur kartı modülü bağlamak Arduino yani VCC, GND, D0, A0 ve iki işaretçilerini bağlamak için 4 pim oluşur. Özetle, yağmur panosu modülü yağmur suyunu algılar ve kontrol panosu modülü hassasiyeti kontrol etmek ve analog değerleri karşılaştırmak ve dijital değerlere dönüştürmek için kullanılır.
Yağmur Sensörünün Çalışması
Çalışma yağmur sensoru modülü anlamak kolaydır. Güneşli bir günde yağmur panosu modülü üzerindeki kuruluk nedeniyle besleme gerilimine karşı yüksek direnç sunar. Bu voltaj, yağmur panosu modülünün çıkış pininde 5V olarak görünür. Bu 5V, Arduino'nun bir analog pini tarafından okunduğunda 1023 olarak okunur. Yağmur sırasında, yağmur suyu yağmur tahtasında ıslaklığın artmasına neden olur ve bu da tedarik için sunulan direncin azalmasına neden olur. Direnç kademeli olarak azaldıkça çıkış voltajı da düşmeye başlar.
Yağmur panosu tamamen ıslandığında ve sunduğu direnç minimum olduğunda, çıkış voltajı olabildiğince düşük olacaktır (yaklaşık 0). Bu 0V, Arduino'nun bir analog pini tarafından okunduğunda 0 değeri olarak okunur. Yağmur panosu modülü kısmen ıslaksa, bu yağmur panosu modülünün çıktısı sunduğu dirence göre olacaktır. Yağmur panosu modülünün sunduğu direnç, çıkış 3V olacak şekilde ise, okunan analog değer 613 olacaktır. ADC'yi bulmak için formül, ADC = (analog gerilim değeri X 1023) / 5 ile verilebilir. Bu formülü kullanarak herhangi bir analog voltajı Arduino analog okuma değerine dönüştürebilirsiniz.
Devre şeması
Aşağıdaki devre şeması, Arduino ile Yağmur Damlası Sensörünün devre bağlantılarını gösterir . Tasarım proteus kullanılarak yapılır, fiziksel modüller devre şemasında gösterilen modüllere benzer.
Devre şemasında gösterilen yağmur ölçer modülü kontrol panosuna bağlanır. Kontrol panosunun VCC pini 5V beslemeye bağlanır. Topraklama pimi toprağa bağlanır. Gerekirse, D0 pini Arduino'nun herhangi bir dijital pinine bağlanır ve bu pin programda bir çıkış pini olarak bildirilmelidir. D0 piniyle karşılaştığımız sorun, çıkış voltajının tam değerini alamamaktır. Çıkış eşik voltajını geçerse, kontrol modülü çıkıştaki değişikliği algılayabilir. Yağmur panosu modülündeki çıkış voltajında önemli bir değişiklik olsa bile zili çalıştırmamız gerekiyor. Bu nedenlerden dolayı, A0 pini Arduino'nun analog pinine bağlanır ve bu da çıkıştaki değişikliğin izlenmesini kolaylaştırır. Kullanıcıya sinyal olarak kullanılan zil,Arduino'nun herhangi bir dijital pinine bağlanabilir. Buzzerın 5V'den fazlasına ihtiyacı varsa, bir röle devresi veya bir transistör bağlamayı ve ardından yükü ona bağlamayı deneyin.
Kod Açıklama
Yağmur sensörü Arduino kodu Arduino IDE kullanarak yazılmıştır. Bu projenin tam kodu sayfanın sonunda verilmiştir.
# tanımlı yağış A0 # tanımlı buzzer 5 int değeri; int set = 10;
Pim A0'ı yağış olarak ve pim 5'i bir zil olarak tanımlayarak ve değişken "değeri" ve "set" i tamsayı olarak bildirip değişken ayar değerini 10'a ayarlar. Bu değer gerekli çalışma seviyesine göre değiştirilebilir. Az yağmur olsa bile zilin etkin olmasını istiyorsanız, minimum değere ayarlayın.
geçersiz kurulum () {Serial.begin (9600); pinMode (sesli uyarı, ÇIKIŞ); pinMode (yağış, GİRİŞ); }
Seri iletişimin başlatılması ve sesli uyarının ayarlanması. Yağmur pimini bir çıkış pini ve giriş pini olarak ayarlama.
boşluk döngüsü () {değer = analogRead (yağış); Serial.println (değer); değer = harita (değer, 0,1023,225,0);
analogRead fonksiyonu yağmur sensörünün değerini okur. İşlev haritası, yağmur sensörünün değerini çıkış piminden eşler ve değişkene 0 ile 225 arasında bir değer atar.
if (değer> = set) {Serial.println ("yağmur algılandı"); digitalWrite (zil, YÜKSEK);
Okunan sensör değeri ayarlanan değerden büyükse, program döngüye girer, mesajı seri monitöre yazdırır ve sesli uyarıcıyı açar
else {digitalWrite (zil, DÜŞÜK);
Program, else işlevine yalnızca değer ayarlanan değerden düşük olduğunda girer. Bu fonksiyon, ayarlanan değer sensörün değerinden yüksek olduğunda sesli uyarıyı kapatır ve yağmur olmadığını söyler.
Arduino tabanlı Yağmur Algılama sisteminin çalışması
Bu sistem, yağmur yağdığında yağmur suyunun bir tetik görevi görerek sesli uyarıyı açacağı şekilde çalışır. Gelen Yağmur Damlası Sensörü Arduino Kanunu, bunu işaretçilerine 5 tanımlanmış ve A0 zil ve yağış vardır. Bunu yaparak fonksiyonun tanımlanmış kısmındaki pinleri değiştirebiliriz ve kodun kalan kısmına dokunulmamış olur. Bu, programcının pimleri kolayca düzenlemesini sağlayacaktır.
Boş döngüde analogRead komutu, değeri sensörden okur. Sonraki satırda, Serial.println (değer) komutu, değeri seri monitöre yazdırır. Bu, hata ayıklama sırasında yardımcı olacaktır. Harita işlevi, gelen değeri 0-225 arasında eşler. Haritanın işlev formatı bir haritadır (değer, minimum değer, maksimum değer, minimum değer için eşlenecek değer, maksimum değer için eşlenecek değer). Sensörün ayar değerine ve çıkışına bağlı olarak zil AÇIK veya KAPALI konuma getirilecektir. Bu değer, if fonksiyonunda ayar değeri ile karşılaştırılır. Değer ayarlanan değerden büyükse, sesli uyarıcı devreye girecektir. Değer ayarlanan değerden düşükse, sesli uyarı kapatılacaktır.
Tam çalışma aşağıda bağlantısı verilen videoda bulunabilir. Bu, pek çok uygulamadan biridir, aynı prensip ön cam sileceklerinde, diğer ev otomasyonunda, tarım sektörlerinde vb. Görülecektir. Umarım projeyi anladınız ve faydalı bir şey inşa etmekten keyif almışsınızdır. Herhangi bir sorunuz varsa, aşağıdaki yorum bölümünü kullanın veya diğer teknik sorular için forumlarımızı kullanın.