İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Ticari olarak kullanılabilen IoT (Nesnelerin İnterneti) Hava istasyonları pahalıdır ve her yerde bulunmaz (Güney Afrika'daki gibi). Aşırı hava koşulları bizi etkiliyor. SA, on yıllardır en sert kuraklığı yaşıyor, dünya ısınıyor ve çiftçiler, ticari çiftçiler için hükümetin teknik veya finansal desteği olmadan kârlı üretim yapmak için mücadele ediyor.
Raspberry Pi Vakfı'nın İngiltere okulları için inşa ettiği gibi, etrafta birkaç Raspberry Pi hava istasyonu var, ancak genel halk için mevcut değil. Bazıları analog, bazıları dijital, bazıları katı hal, bazıları hareketli parçalara sahip ve bazıları ultrasonik anemometreler gibi çok pahalı sensörler (rüzgar hızı ve yönü) olmak üzere birçok uygun sensör mevcuttur.
Güney Afrika'da genel olarak mevcut olan parçalarla açık kaynaklı, açık donanıma sahip bir Hava İstasyonu oluşturmaya karar verdim ve çok faydalı bir proje olabilir ve çok eğleneceğim (ve zorlu baş ağrılarım).
Katı hal (hareketli parça yok) yağmur ölçer ile başlamaya karar verdim. Geleneksel devrilme kovası o aşamada beni etkilemedi (o zamana kadar hiç kullanmamış olsam bile). Yani, düşündüm ki, yağmur sudur ve su elektriği iletir. Sensör su ile temas ettiğinde direncin düştüğü birçok analog dirençli sensör vardır. Bunun mükemmel bir çözüm olacağını düşündüm. Ne yazık ki bu sensörler, elektroliz ve deoksidasyon gibi her türlü anormallikten muzdarip ve bu sensörlerden gelen okumalar güvenilmezdi. Elektrolizi ortadan kaldırmak için alternatif doğru akım (sabit 5 volt, ancak pozitif ve negatif kutupları değiştirerek) oluşturmak için kendi paslanmaz çelik problarımı ve röleli küçük bir devre kartımı bile yapıyorum, ancak okumalar hala kararsızdı.
En son seçimim Ultrasonik Ses sensörü. Göstergenin üst kısmına bağlanan bu sensör, su seviyesine olan mesafeyi ölçebilir. Şaşırtıcı bir şekilde, bu sensörler çok doğru ve çok ucuzdu (50 ZAR veya 4 USD'den az)
Adım 1: Gerekli Parçalar (1. Adım)
Aşağıdakilere ihtiyacınız olacak
1) 1 Raspberry Pi (Herhangi bir model, Pi kullanıyorum 3)
2) 1 Adet Ekmeklik
3) Bazı atlama kabloları
4) Bir Ohm direnç ve iki (veya 2.2) Ohm direnç
5) Yağmuru saklamak için eski bir uzun bardak. Benimkini yazdırdım (yazdırılmış kopya mevcut)
6) Eski bir manuel yağmur ölçer yakalama parçası (Ya da kendinizinkini tasarlayıp yazdırabilirsiniz)
7) Mililitre ölçmek için ölçüm ekipmanı veya suyu tartmak için bir terazi
8) HC-SR04 Ultrasonik Sensör (Güney Afrikalılar bunları Communica'dan alabilir)
Adım 2: Devrenizi Kurma (2. Adım)
Devreyi kurmama ve bu proje için python betiklerini yazmama yardımcı olacak çok faydalı bir rehber buldum. Bu komut dosyası mesafeleri hesaplar ve bunu, gösterge tankınızın üstüne monte edilmiş sensör ile su seviyesi arasındaki mesafeyi hesaplamak için kullanacaksınız.
Burada bulabilirsiniz:
www.modmypi.com/blog/hc-sr04-ultrasonic-range-sensor-on-the-raspberry-pi
Çalışın, devrenizi kurun, pi'nize bağlayın ve python koduyla oynayın. Voltaj bölücüyü doğru kurduğunuzdan emin olun. GPIO 24 ile GND arasında 2.2 ohm'luk bir direnç kullandım.
3. Adım: Göstergenizi Oluşturun (3. Adım)
Göstergenizi yazdırabilir, mevcut bir ölçü aleti veya bardağı kullanabilirsiniz. HC-SR04 sensörü, gösterge ana tankınızın üstüne takılacaktır. Her zaman kuru kalacağından emin olmak önemlidir.
HC-SR04 sensörünüzün ölçüm açısını anlamak önemlidir. Geleneksel yağmur ölçerlerden bir koninin tepesine takamazsınız. Normal silindirik bardak yapacağım. Uygun bir ses dalgasının aşağıya inmesi için yeterince geniş olduğundan emin olun. 75 x 300 mm PVC borunun yeterli olacağını düşünüyorum. Sinyalin silindirinizden geçip geçmediğini ve düzgün bir şekilde geri dönüp dönmediğini test etmek için, bir cetvelle sansürden silindirinizin dibine kadar olan mesafeyi ölçün, bu ölçümü TOF (uçuş süresi) tahmini mesafesi sensöründen aldığınız mesafeyle karşılaştırın. en alta.
Adım 4: Hesaplamalar ve Kalibrasyon (4. Adım)
1 milimetre yağmur ne anlama geliyor? Bir mm yağmur, 1000mm X 1000mm X 1000mm veya 1m X 1m X 1m'lik bir küpünüz varsa, yağmur yağarken dışarıda bırakırsanız küpün 1 mm yağmur suyu derinliğine sahip olacağı anlamına gelir. Bu yağmuru 1 Litrelik şişeye boşaltırsanız şişeyi %100 doldurur ve su da 1 kg olur. Farklı yağmur ölçerlerin farklı toplama alanları vardır. Göstergenizin toplama alanınız 1m X 1m ise, kolaydır.
Ayrıca 1 gram su geleneksel 1 ml'dir.
Göstergenizden mm cinsinden yağış miktarını hesaplamak için yağmur suyunu tarttıktan sonra aşağıdakileri yapabilirsiniz:
W, gram veya mililitre cinsinden yağış ağırlığıdır
A, mm kare cinsinden toplama alanınızdır
R mm cinsinden toplam yağış miktarınız
R = G x [(1000 x 1000)/A]
W'yi tahmin etmek için HC-SR04'ü kullanmanın iki olasılığı vardır (R'yi Hesaplamak için W'ye ihtiyacınız vardır).
Yöntem 1: Düz Fizik Kullanın
www.modmypi adresindeki python komut dosyasındaki TOF (Uçuş Süresi) hesaplamalarını kullanarak sensörle HC-SR'den ölçerinizin altına olan mesafeyi ölçün (önceki adımda da yapıyordunuz). com/blog/hc-sr04-ultrasonic-range-sensor-on-the-raspberry-pi Bu CD'yi Arayın (Silindir Derinliği)
Silindirinizin iç tabanının alanını mm kare olarak uygun herhangi bir şeyle ölçün. Bu IA'yı arayın.
Şimdi silindirinize 2 ml su (veya uygun herhangi bir miktar) atın. Sensörümüzü kullanarak yeni su seviyesine olan mesafeyi mm olarak tahmin edin, Cal this Dist_To_Water).
Su derinliği (WD) mm olarak:
WD=CD - Dist_To_Water (Veya Silindir Derinliği Eksi Sansürden su seviyesine olan Mesafe)
Hayır, suyun tahmini ağırlığı
W=WD x IA, ml veya gram cinsinden (1 ml su ağırlıklarının 1 gram olduğunu unutmayın)
Şimdi, daha önce açıklandığı gibi, Yağış'ı (R) mm cinsinden W x [(1000 x 1000)/A] ile tahmin edebilirsiniz.
Yöntem 2: Ölçüm cihazınızı İstatistiklerle kalibre edin
HC-SR04 mükemmel olmadığı için (hatalar oluşabilir), silindirinizin uygun olup olmadığını ölçmede en azından sabit gibi görünüyor.
Bağımlı değişken olarak sensör okumaları (veya sensör mesafeleri) ve bağımlı değişken olarak enjekte edilen su ağırlıkları ile doğrusal bir model oluşturun.
Adım 5: Yazılım (5. Adım)
Bu proje için yazılım hala geliştirme aşamasındadır.
www.modmypi.com/blog/hc-sr04-ultrasonic-range-sensor-on-the-raspberry-pi adresindeki python komut dosyaları kullanılabilir olmalıdır.
Eklenti, tarafımdan geliştirilen bazı faydalı python uygulamalarıdır (Genel Kamu Lisansı).
Daha sonra tüm hava durumu istasyonu için bir web arayüzü geliştirmeyi planlıyorum. Ek, sayacı kalibre etmek ve sensör okumaları yapmak için kullanılan programlarımdan bazılarıdır.
Göstergeyi istatistiksel olarak kalibre etmek için ek kalibrasyon komut dosyasını kullanın. Analiz etmek için verileri bir elektronik tabloya aktarın.
6. Adım: Hala Yapılacak (6. Adım)
Depoyu dolduğunda boşaltmak için bir Solenoid valf gereklidir (Sensöre yakın)
İlk birkaç yağmur damlası her zaman doğru ölçülemez, özellikle de gösterge düzgün şekilde düzleştirilmemişse. Bu damlaları doğru bir şekilde yakalamak için bir disdro metre geliştirme sürecindeyim. Disdro sonraki geleceğim.
Sıcaklığın TOF üzerindeki etkisini ölçmek için ikinci bir ultrasonik sensör ekleyin. Yakında bununla ilgili bir güncelleme yayınlayacağım.
Yardımcı olabilecek aşağıdaki kaynağı buldum
www.researchgate.net/profile/Zheng_Guilin3/publication/258745832_An_Innovative_Principle_in_Self-Calibration_by_Dual_Ultrasonic_Sensor_and_Application_in_Rain_Gauge/links/540d53e00cf2f2b29a-38392b Yağmur Ölçer.pdf