İçindekiler:

Arduino Yağmur Ölçer Kalibrasyonu: 7 Adım
Arduino Yağmur Ölçer Kalibrasyonu: 7 Adım

Video: Arduino Yağmur Ölçer Kalibrasyonu: 7 Adım

Video: Arduino Yağmur Ölçer Kalibrasyonu: 7 Adım
Video: Arduino İle Yağmur Sensörü Kullanımı (Rain Sensor) 2024, Temmuz
Anonim
Arduino Yağmur Ölçer Kalibrasyonu
Arduino Yağmur Ölçer Kalibrasyonu

Tanıtım:

Bu Eğitilebilir Tabloda, Arduino ile bir yağmur göstergesi 'oluşturuyoruz' ve onu günlük ve saatlik yağışı rapor edecek şekilde kalibre ediyoruz. Kullandığım yağmur toplayıcı, devrilme kovası tipinde yeniden tasarlanmış bir yağmur ölçerdir. Hasarlı bir kişisel hava istasyonundan geldi. Bununla birlikte, sıfırdan nasıl yapılacağına dair birçok harika Talimat var.

Bu Eğitilebilir Tablo, yaptığım bir hava istasyonunun bir parçasıdır ve bir öğretici olarak gizlenmiş öğrenme sürecimin bir belgesidir:)

Yağmur Göstergesinin Özellikleri:

  • Weather Underground'a kolay yükleme için günlük ve saatlik yağış ölçümleri inç cinsindendir.
  • Kodu basit tutmak için manyetik anahtarın geri tepme kodu dahil değildir.
  • daha çok bir öğretici olmak, bitmiş ürün daha çok bir prototipin prototipidir.

Adım 1: Bazı Teori

bazı teori
bazı teori

Yağış, uzunluk boyutuna sahip olan milimetre veya inç cinsinden rapor edilir/ölçülür. Yağmur suyunun dağılıp boşalmaması durumunda, yağmur alanının her bölümünün ne kadar yüksekte yağış aldığını gösterir. Yani, 1,63 mm'lik bir yağış, herhangi bir şekilde düz seviyeli bir tankım olsaydı, toplanan yağmur suyunun tank tabanından 1,63 mm yükseklikte olacağı anlamına gelirdi.

Tüm yağmur ölçerlerin bir yağış toplama alanı ve bir yağış miktarı ölçümü vardır. Toplama alanı, yağmurun toplandığı bölgedir. Ölçüm nesnesi, bir sıvı için bir tür hacim ölçümü olacaktır.

Yani mm veya inç cinsinden yağış

yağış yüksekliği = toplanan yağmur hacmi / toplama alanı

Yağmur toplayıcımda uzunluk ve genişlik sırasıyla 11 cm'ye 5 cm idi ve bu da 55 cm2'lik bir toplama alanı sağladı. Yani 9 mililitrelik bir yağmur toplamı 9 cc/55 cm2 = 0.16363… cm = 1.6363… mm = 0.064 inç anlamına gelir.

Devirme kovası yağmur göstergesinde, kova 9 ml (veya 0.064… inç yağmur) için 4 kez eğilir ve bu nedenle tek bir uç (9/4) ml = 2.25 ml (veya 0.0161.. inç) içindir. Saatlik okumalar yaparsak (sıfırlamalardan önce günde 24 okuma), üç önemli basamak doğruluğunu korumak yeterince iyi.

Böylece, her bir kepçe ucunda/dökülmesinde kod, ona 1 açma-kapama sırası veya tek tıklama olarak erişir. Evet, 0.0161 inç yağmur bildirdik. Arduino açısından tekrarlamak gerekirse

tek tıklama = 0.0161 inç yağmur

Not 1: Uluslararası Birimler Sistemini tercih ediyorum, ancak Weather Underground, Imperial/US birimlerini tercih ediyor ve bu nedenle bu dönüşüm inç'e çevriliyor.

Not 2: Hesaplamalar sizin için uygun değilse, bu tür konularda mükemmel yardım sağlayan Yağış Hacmi bölümüne gidin.

Adım 2: Bu Proje için Parçalar

Bu Proje için Parçalar
Bu Proje için Parçalar
Bu Proje için Parçalar
Bu Proje için Parçalar
Bu Proje için Parçalar
Bu Proje için Parçalar

Parçaların çoğu ortalıkta yatıyordu ve adil bir listeleme (formalite için)

  1. Arduino Uno (veya başka bir uyumlu)
  2. Eski hasarlı hava istasyonundan Yağmur Göstergesi.
  3. Ekmek tahtası.
  4. Rain Gauge'umu devre tahtasına bağlamak için RJ11.
  5. Yukarı çekme direnci olarak hareket etmek için 10K veya daha yüksek direnç. 15K kullandım.
  6. 2 adet erkek-dişi atlama teli
  7. 2 erkekten erkeğe atlama teli.
  8. USB kablosu; A Erkekten B Erkek'e

Aletler:

Şırınga (12 ml kapasite kullanılmıştır)

3. Adım: Yağmur Toplayıcı

Yağmur Toplayıcı
Yağmur Toplayıcı
Yağmur Toplayıcı
Yağmur Toplayıcı

Yağmur toplayıcımın fotoğrafları birçok kişiye durumu netleştirmeli. Her neyse, toplama alanına düşen yağmur, içindeki iki devrilme kovasından birine kanalize oluyor. İki devrilme kovası bir tahterevalli gibi birbirine bağlıdır ve yağmur suyu ağırlığı (benimki için 0.0161 inç yağmur) bir kovayı aşağıya indirdikçe boşalır ve diğer kovalar yükselir ve bir sonraki yağmur suyunu toplamak için kendini konumlandırır. Devrilme hareketi, bir mıknatısı bir 'manyetik anahtar' üzerinde hareket ettirir ve devre elektriksel olarak bağlanır.

Adım 4: Devre

Devre
Devre

devre yapmak için

  1. Arduino'nun 2 numaralı dijital pinini direncin bir ucuna bağlayın.
  2. Direncin diğer ucunu Toprak pimine (GND) bağlayın.
  3. RJ11 jakının bir ucunu Arduino'nun 2 numaralı dijital pinine bağlayın.
  4. RJ11 jakının diğer ucunu Arduino'nun (5V) +5V pinine bağlayın.
  5. Yağmur ölçeri RJ11'e takın.

Devre tamamlandı. Atlama telleri ve devre tahtası, bağlantıların yapılmasını kolaylaştırır.

Projeyi tamamlamak için Arduino'yu USB kablosunu kullanarak PC'ye bağlayın ve aşağıda verilen çizimi yükleyin.

Adım 5: Kod

RainGauge.ino taslağı (bu adımın sonunda gömülüdür) iyi yorumlanmıştır ve bu yüzden sadece üç bölüme işaret edeceğim.

Bir kısım, devrilme kovası uçlarının sayısını sayar.

if(bucketPositionA==false && digitalRead(RainPin) == YÜKSEK){

… … }

Başka bir parça zamanı kontrol eder ve yağmur miktarını hesaplar

if(now.minute()==0 && ilk == true){

hourlyRain = günlükRain - günlükRain_till_LastHour; …………

ve başka bir bölüm gece yarısı yağmuru gündüz için temizler.

if(now.hour() == 0){

günlükYağmur = 0; …..

Adım 6: Kalibrasyon ve Test

Yağmur Toplayıcıyı devrenin geri kalanından ayırın ve aşağıdaki adımları gerçekleştirin.

  1. Şırıngayı suyla doldurun. Benimkini 10 ml ile dolduruyorum.
  2. Yağmur Toplayıcıyı düz bir yüzeyde tutun ve şırıngadaki suyu azar azar boşaltın.
  3. Devirme kovalarının sayısını tutuyorum. Dört ipucu benim için yeterliydi ve şırıngadan 9 ml boşaltıldı. Hesaplamalara göre (teori bölümüne bakın) uç başına 0.0161 inç yağmur miktarını elde ettim.
  4. Bu bilgiyi başlangıçta koduma dahil ediyorum.

const çift kovaAmount = 0.0161;

Hepsi bu kadar. Daha fazla doğruluk için, 0.01610595 gibi daha fazla rakam dahil edilebilir. Elbette, Yağmur Toplayıcınız benimkiyle aynı değilse, hesapladığınız rakamların değişmesi beklenir.

Test amaçlı

  1. Yağmur Toplayıcıyı RJ11 soketine bağlayın.
  2. Arduino'yu USB kablosunu kullanarak PC'ye bağlayın.
  3. Seri monitörü açın.
  4. Önceden ölçülen miktarda su dökün ve saat tamamlandığında çıktıyı izleyin.
  5. Su dökmeyin, ancak bir sonraki saatin tamamlanmasını bekleyin. Bu durumda saatlik yağmur sıfır olmalıdır.
  6. Bilgisayarı gece boyunca bağlı devre ile çalıştırın ve günlük yağmurun ve saatlik yağmurun gece yarısında sıfırlanıp sıfırlanmadığına bakın. Bu adım için, PC'nin saati de uygun bir değere değiştirilebilir (seri monitördeki çıkışları canlı izlemek için).

7. Adım: Sonradan Düşünceler ve Teşekkür

Benim durumumdaki yağış okumalarının çözünürlüğü 0.0161 inç ve daha doğru yapılamaz. Pratik koşullar doğruluğu daha da azaltabilir. Hava durumu ölçümleri kuantum mekaniğinin doğruluğuna sahip değildir.

Kodun bir kısmı Lazy Old Geek'in Instructable'ından ödünç alındı.

Önerilen: