Arduino kullanarak bitkilerin otomatik sulanmasını yapıyoruz. Arduino'da iç mekan bitkilerini otomatik sulama Başka ne yapabilirsiniz?


ArdAutomatic sulama sistemi, iç mekan çiçeklerinin bakımını otomatikleştirir. Tematik mağazalarda böyle bir tasarımı çılgın bir fiyata satıyorlar. Bununla birlikte, makine, bitki için nemin “kısımlarını” bağımsız olarak düzenlediğinden, buna değer.

Bu yazıda okuyucu, arduino üzerinde kendi otomatik sulamalarını oluşturmaya davet edilmektedir. Bu durumda mikrodenetleyici, çevresel cihazlar için bir kontrol sistemi görevi görür.

Arduino mikrodenetleyicisine dayalı Otomatik Sulama projesinin uygulanması için gerekli araçlar ve çevre birimleri

Sulayıcı, toprak nemini kontrol eden bir cihazdır. Cihaz, çalışmaya başlamak için tasarlanmış otomatik sulamaya işaret edecek olan verileri bir nem sensörüne iletir. Programı yazmak için C++ programlama dili kullanılır.

Gerekli malzemelerle tablo:

Bileşen Tanım
Mikrodenetleyici Arduino Uno Platform, çevresel aygıtları birbirine bağlar ve 2 bölümden oluşur: yazılım ve donanım. Ev aletleri oluşturma kodu, özgür bir ortamda programlanmıştır - Arduino IDE.

Mikrodenetleyici üzerinde bir program derlemek ve uygulamak için bir usb kablosu satın almanız gerekir. Otonom çalışma için 10 V'luk bir güç kaynağı satın almanız gerekir.

Platform üzerinde görevi dijital giriş ve çıkış olan 12 adet pin bulunmaktadır. Kullanıcı, her bir pinin fonksiyonlarını ayrı ayrı seçer.

USB kablosu "Arduino'da otomatik sulama" sisteminin tasarımında zorunlu olan kodu taşımak.
Sensör bağlantı kartı – Troyka Shield Kart kullanılarak dokunmatik çevre birimleri geleneksel kablolar kullanılarak bağlanır. Kenarlar boyunca 3 pimli kontaklar vardır - S + V + G.
Push-in terminal bloğu Birlikte verilen teller için bir kelepçe görevi görür. Tasarım yay üzerindeki bir düğme ile sabitlenmiştir.
USB girişi ile donatılmış güç kaynağı

Toprak Nemi Analiz Cihazı

Platformları bağlamak için ideal araç. Tasarım, işin başladığını gösteren bir el feneri içerir.

Toprak aşırı veya yetersiz nemlenirse cihaz sinyal verir. Panoya bağlantı 3 tel kullanılarak yapılır.

● Yere daldırma için MAKS derinlik - 4 cm;

● MAKS güç tüketimi - 50 mA;

● Besleme gerilimi - 4 V'a kadar.

Suya daldırmak için borulu pompa Yönetim bir anahtar kullanılarak gerçekleştirilir. Kablo uzunluğu 2 metreye ulaşır.
Güç anahtarı Bir elektrik devresi yapmak ve kırmak için tasarlanmıştır. Arduino otomatik irrigasyonu tasarlarken cihazı kullanırsanız, ek bir lehimlemeye gerek yoktur. Ana panele bağlantı da 3 tel ile yapılmaktadır.
Bağlantı kablosu - "baba-baba" Birkaç kablo çevre birimlerini birbirine bağlar.
Bağlantı kablosu - "anne-baba" Kablolama ayrıca çevresel aygıtları da bağlar.
kapalı çiçek Sistem, farklı türdeki iç mekan bitkileri için uygundur.

Mikro Arduino'ya dayalı "Otomatik Sulama" projesinde bağlantı şeması ve çalışma algoritması

Projenin arduino platformu üzerindeki algoritması ve bağlantı şeması aşağıdadır. Otomatik sulama şu şekilde yapılır:

  1. Sensör kartını mikrodenetleyiciye yerleştiriyoruz.
  2. Nem tayin cihazını yukarıda açıklanan kartı kullanarak benzer bir pin - A0'a bağlarız.
  3. Sensörü mikrodenetleyiciye bağlayın:
    1. CS pini, karttaki #9 pinine bağlanır.
    2. SPI ekran pinleri, aynı kart üzerindeki ilgili başlığa bağlanır.
  4. Güç tuşu 4 numaralı pime takılır.
  5. Anahtarı, p+, p- harfleriyle gösterilen konektörlerdeki güç tuşuna getiriyoruz.
  6. Şimdi terminal bloğunu kullanarak su pompasını boru ile l+ ve l- harfli kontaklara bağlarız. Yavaş yavaş, tasarlayan kişinin önünde bir şema oluşturulacaktır.
  7. Bir saksıya nemi analiz eden bir dokunmatik panel yapıştırıyoruz.
  8. Tüpün ucunu suyla toprağa sokarız. Bitkinin saksı ile birlikte ağırlığı 2 kg'ı geçmiyorsa hortumu ayrı olarak sabitliyoruz. Aksi takdirde su damlası çiçeği devirebilir.
  9. Su pompasını suyla dolu bir şişeye indiriyoruz.
  10. Yapıyı elektrik kaynağına bağlarız.

Aşağıda size cihazımız için iki alternatif şema sunuyoruz:

Sensör, dünyanın asitliğini belirleyerek nem durumunu analiz eder. İrrigatörü sisteme takmadan önce, ekipmanı test etmek ve kalibre etmek gerekir:

  1. Ekranda görüntülenen bilgileri yazıyoruz. Bu durumda sensör kuru bir kaba sıkışır. Buna minimum nem denir.
  2. Toprağı bitki ile sularız. Suyun toprağı tamamen emmesini bekliyoruz. Ardından dokunmatik ekrandaki okumalar bir seviye gösterecektir. Aldığınız bilgileri yazmanız gerekmektedir. Bu maksimum nem anlamına gelir.
  3. Bir defterde HUM_MIN ve HUM_MAX sabitlerini kalibrasyon sonucu elde edilen değerle sabitleriz. Değerleri programa yazıyoruz ve ardından mikrodenetleyiciye aktarıyoruz.

Bir çiçek için otomatik sulama tasarımı yukarıda açıklanmıştır. Ancak, iç mekan bitkilerini sevenler için ev saksı çiçekleri ile döşenmiştir. Bir yandan, böyle bir soru karmaşık görünüyor: birkaç pompa ve toprak nemi analiz cihazının bağlanması gerekiyor. Ancak otomatik sulama tasarlamak için daha ucuz ve daha basit bir çözüm var.

Pompadan çıkan hortumda bız ile 25 cm delikler açılır. Ortaya çıkan deliklere tükenmez kalem çubuklarının parçaları yapıştırılır. Sonuç:

  • bitki saksıları pencere pervazına dizilir;
  • tüp saksıya monte edilir, böylece her delikten su ayrı bir tencereye akar;
  • işte: buluş tüm bitkileri aynı anda sular.

Kullanıcı, sulama zamanını bağımsız olarak seçer, ancak yalnızca bir çiçek için. Genellikle çiçekler ağırlık ve boyut olarak aynıdır. Bu nedenle saksılardaki toprak aynı zamanda kurur. Bunun için bir kombinasyon yöntemi icat edildi: tencere sayısı eşit ağırlık ve büyüklükteki gruplara bölündü.

"Otomatik Sulama" projesi için Arduino için örnek kod

Kod programlamaya geçelim:

//Ekran için kütüphaneyi indirin ve #include "QuadDisplay2.h" programına bağlayın; //Su pompasının bağlı olduğu pimi gösteren bir sabit oluşturun // VODPOMPA_PIN 4 tanımlayın; // Toprak nemi tayin cihazının bağlı olduğu pini gösteren bir sabit oluşturun #define HUM_PIN A0; //Neme göre min #define HUM_MIN 200; // Maksimum nem #define HUM_MAX 700; //Sulama kontrolleri arasındaki süre #define INTER 60000 * 3; //Nem değerini saklayacak bir değişken tanımla unsigned int hum = 0; //zaman aralığını bu değişkene kaydedeceğiz unsigned long Time = 0; // QuadDisplay sınıfından bir nesne bildirin, ardından CS QuadDisplay kontağının // plakasını iletin dis(9); // Display void setup(void) çalışmasından sorumlu bir yöntem oluşturun ( //start the startup() yöntemini; //kontak pinMode()'dan su pompasının çıkışından sorumlu olacak bir işlev bildirin VODPOMPA_PIN, OUTPUT); //Ekranda sayı yanar - 0 dis.displayInt(0); ) //Mevcut nem göstergesi void döngüsünden sorumlu bir yöntem oluşturun(void) ( //Mevcut nem göstergesini hesaplayın int humNow = analogRead(HUM_PIN); // Değer göstergesi öncekine eşit değilse, o zaman... if(humNow != hum) ( //Alınan değeri şimdi kaydet hum= humNow; //Değeri ekranda göster ekran displayInt(humNow); ) //Koşulları ayarlayın: kullanıcı tarafından belirlenen süre geçmişse ve //toprak nem durumu gerekenden düşükse, o zaman... if ((Zaman == 0 || millis()) - Zaman > INTER) && uğultu< HUM_MIN) { // Даем сигнал о начале работы водяной помпы digitalWrite(VODPOMPA_PIN, HIGH); //Объявляем потом, длящийся 2 секунды delay(2000); // Завершаем работу помпы digitalWrite(POMP_PIN, LOW); // Ставим в значение переменной Time текущее время и добавляем 3 минуты Time = millis(); } }

Ek olarak, meslektaşlarımızdan birkaç ilginç video izleyebilirsiniz.

Günümüzde bitki bakımını kolaylaştırmak için çeşitli sulama sistemleri kullanılmaktadır, bunlar her bitki türü için su miktarının kontrol edilmesini, damla sulama veya sprinkler kullanılmasını mümkün kılmaktadır. Su tasarrufu sağlanır, bitkiler için gelişme için en uygun koşullar yaratılır. Bu tür sistemlerin tek dezavantajı, sürekli izleme ihtiyacıdır, açma / kapama manuel olarak yapılır. Bu oldukça tatsız bir iştir, bitkilerin türüne, iklim koşullarına ve belirli sisteme bağlı olarak sulama süresi iki saate kadar çıkabilir. Bu sorunu çözmek için yerçekimi sistemleri için bir sulama zamanlayıcısı kurmalısınız.

İlk önce "yerçekimi ile akan sistemler" kavramını açıklamanız gerekir, aksi takdirde bazı kaynaklarda çalışma prensiplerinin komik açıklamalarını ve hidrodinamiğin tamamen yanlış anlaşılmasını bulabilirsiniz.

Otomatik bahçe sulama sistemleri - diyagram

Yerçekimi sistemleri için sulama zamanlayıcılarının 0 ila 6 atmosfer arasındaki su basıncıyla çalışabilecek kadar iyi olduğunu iddia eden uzmanlar var. Sıfır basınçta çalışacaklar, ancak hiçbir şey sulanmayacak. Yerçekimi fiziksel bir kavram değil, tamamen evsel bir kavramdır. Ve bu, basıncın olmaması değil, sürekli çalışan su pompalarının olmaması anlamına gelir. Yerçekimi sistemlerinde, pompa yalnızca yerden belirli bir mesafede bulunan depolama tankına su sağlar. Suyun üst seviyesi ile çıkış yeri arasındaki yükseklik farkı nedeniyle basınç oluşur, su akışını hareket ettiren bu basınçtır.

Zamanlayıcılar neden çoğu durumda yerçekimi sistemleri için kullanılır? Yüksek basınçlarda çalışamadıkları için kapatma valfleri çok kırılgandır ve tahrik mekanizmaları zayıftır. Çoğu cihaz için maksimum su basıncı 0,5 atm'yi geçemez.Böyle bir basınç için su kabı yerden beş metre uzakta olmalıdır. Sulama sistemlerinin büyük çoğunluğunda, depolama tankları çok daha alçakta yer almaktadır.

Zamanlayıcı türleri

Şu anda kullanılabilen üç tür zamanlayıcı vardır:

  • mekanik. En basiti, yarı otomatik kontrol sistemlerine bakın. Açma manuel olarak yapılır, belirli bir süre sonra (120 dakikaya kadar) otomatik olarak kapanır. Güç kaynağı gerektirmez, kapama valfi yay tahriklidir. Avantajları düşük maliyet ve yüksek güvenilirliktir. Dezavantajları - açma sırasında insanların varlığı olmadan yapmak imkansızdır;

  • mekanik kontrollü elektronik. Sulama modları tamamen otomatiktir, sulama programı yedi günlük bir süre için ayarlanabilir, sulama süresi 120 dakikaya kadardır. Avantajlar - nispeten düşük maliyet, programlama ve yönetim kolaylığı. Dezavantajlar - ek ekipmanın bağlanamaması;

  • program kontrollü elektronik. En modern cihazlar, 16'ya kadar özel işlev kurma yeteneğine sahiptir. Dezavantajları - yüksek maliyet. Ayrıca, eğitimsiz kullanıcıların program yüklemesi zor olabilir.

Mekanik zamanlayıcılar nadiren kullanılır, çoğu zaman sulama sistemleri bir tür elektronik cihaz tarafından kontrol edilir. Su beslemesi bir solenoid (elektromanyetik) valf veya bir küresel valf ile düzenlenir.

2 hat için sulama zamanlayıcısı, mekanik "Uzman Bahçe"

  1. Selenoid vana. Belirli bir zamanda, elektromanyetik bobine güç verilir, bir elektromanyetik alanın etkisi altında, çekirdek solenoidin içine çekilir ve su akışını engeller. Güç kesilirse, çekirdek yay tarafından yukarı itilir ve boru lümeni açılır. Zamanlayıcılarda çalışma prensibi tersine çevrilebilir - voltaj olmadan valf bir yay ile kapanır ve güçlü bir manyetik alan oluştuğunda açılır. Bu çalışma prensibi sayesinde pil gücünden tasarruf edilir. Açma / kapama sırasındaki karakteristik bir tıklama ile solenoid valfin çalışmasını ayırt etmek mümkündür.
  2. Küresel vana. Açma/kapama, bir elektrik motoru tarafından tahrik edilen bir dişli kutusu ile gerçekleştirilir. Şarjdan tasarruf etmek için ayrıca sürekli kapalı konumdadır, sadece sistemin sulama için açıldığı süre boyunca açılır. Küresel vana ile zamanlayıcının çalışması sırasında, elektrik motorunun ve dişli kutusunun çalışmasının kısa bir sesi duyulur.

Önemli. Donma riski olduğu anda, zamanlayıcı kapatılmalıdır. Niye ya? Başlatma sırasında, stator sargılarında büyük akımlar belirir, rotor dönmeye başlar başlamaz akım gücü çalışma modlarına düşer. Donlar sırasında küresel vana biraz donabilir, elektrik motorunun gücü onu koparmak için yeterli değildir. Bu, başlangıç ​​akımlarının sargılardan uzun süre akacağı ve kaçınılmaz olarak aşırı ısınmalarına ve kısa devreye yol açacağı anlamına gelir. Ve şanzımanın kendisi önemli çabalar için tasarlanmamıştır, tahrik dişlileri arızalanabilir. Bu tür arızalar, karmaşık onarımlar veya cihazın tamamen değiştirilmesini gerektirir.

Mekanik kontrollü elektronik zamanlayıcılar (geçiş tipi)

Kullanımı çok kolay, güvenilir ve dayanıklı cihazlar. Sulama sisteminin çalışma modlarını seçmek için aşağıdakileri yapın:

  • üst şeffaf plastik kapağı sökün. Dikkatli çalışmanız gerekir, sızdırmazlık contasını kaybetmeyin, düşebilir;
  • sistemi açma sıklığını ayarlamak için sol geçiş anahtarını kullanın, maksimum süre 72 saattir;
  • maksimum 120 dakika olmak üzere belirli bir sulama süresi ayarlamak için sağdaki açma/kapama düğmesini kullanın.

Önemli. Elektronik cihazın ilk geri sayım süresi, zamanlayıcının açıldığı andan itibaren başlar. Bu, örneğin, sulamanın sabah saat beşte periyodik olarak açılmasını istiyorsanız, ilk zamanlayıcı ayarının aynı anda yapılması gerektiği anlamına gelir. Gelecekte, sulama sistemini açma zamanı değişmeyecek.

Bir zamanlayıcı ile tamamlanan üreticiler, çeşitli çaplarda plastik boruları veya esnek hortumları bağlamak için eksiksiz bir bağlantı seti satmaktadır. Zamanlayıcı, iki adet AAA 1,5 V pil ile çalışır.

Sulama zamanlayıcısı - fotoğraf

Program kontrollü elektronik zamanlayıcılar

Daha modern cihazlar önemli ölçüde gelişmiş özelliklere sahiptir. Paket, boru hatlarını ve çeşitli çaplarda esnek hortumları bağlamak için adaptörler içerir. Program kontrol ayarı aşağıdaki gibi yapılır:

  • plastik kapağı çıkarın. Fabrikada oldukça sıkı bir şekilde bükülmüş, önemli çaba sarf etmeniz gerekecek;
  • Zaman düğmesine basın, program kurulum parametreleri elektronik ekranda görünecektir. Geçerli saati ve haftanın gününü ayarlayın, eylem Set düğmesine basılarak onaylanmalıdır;
  • sırayla haftanın her gününe gidin, elektronik zamanlayıcının zamanını ve süresini seçin. Bu parametreler tüm kullanım süresi boyunca kaydedilecektir;
  • istenirse cihaz üzerinde 16 adede kadar farklı program konfigüre edilebilir. Bunu yapmak için Prog düğmesine basın ve ardından gerekli sayıda programı yapılandırın. Girilen tüm veriler Set düğmesine basılarak onaylanmalıdır.

Cihazın içine oldukça geniş bir kapasitör takılmıştır. Kritik bir pil deşarjı sinyali vermek ve zamanlayıcıyı kendi kendine çalışma moduna geçirmek için tasarlanmıştır. Piller azaldığında, ekranda bir uyarı sinyali belirecektir. Piller piyasaya sürüldüğü andan itibaren sulama sisteminin sıklığına ve süresine bağlı olarak 2-3 gün daha çalışabilir.

Tamamen özerk bir modda, kapasitör zamanlayıcının 3-4 gün boyunca çalışmasını sağlayabilir. Bu süre içinde piller değiştirilmezse zamanlayıcı kapanacaktır. Bundan sonra, önceden ayarlanmış tüm sulama modları hafızadan silinecek, kurulum adımlarını en baştan tekrarlamanız gerekecek.

Bekleme modunda, zamanlayıcı 1,2 mA'dan fazla tüketmez, çalışma sırasında akım tüketimi 350 mA'ya çıkar. Bunlar, cihazın en az bir sezon boyunca tek başına pillerle çalışmasına izin veren çok küçük değerlerdir. Üreticiler bu sefer kasıtlı olarak ayrıldı, sulama sisteminin yıllık rutin muayenesi sırasında başlamadan önce yeni pillerin takılması önerilir.

Büyük ve karmaşık sulama sistemlerinde çalışmak üzere tasarlanmış zamanlayıcı modelleri vardır. Her birinin kendi parametreleri olan birkaç ayrı bölgenin sulama modlarını kontrol etmenizi sağlayan birkaç valfleri vardır. Çok valfli cihazlar 220V ile çalıştırılabilir veya sekiz adede kadar AAA 1.5V pile sahip olabilir.

Sensörleri yapılandırırken hangi veriler dikkate alınmalıdır?

Bitki yetiştirme koşulları büyük ölçüde zamanlayıcı programının doğru ayarlanmasına bağlıdır. Neler dikkate alınmalıdır?

Mahsul türleri dikkate alınarak sulama alanının ayrı bölgelere ayrılması. Her birinin kendi gereksinimleri vardır, bazı durumlarda çok valfli zamanlayıcılar satın almanız gerekecektir.

Maksimum su tüketimi için hidrolik hesaplama. Zamanlayıcıların çalışması, sürücülerin toplam kapasitesini hesaba katmalıdır. Otomatik pompalama yoksa, suyun varlığını bağımsız olarak kontrol etmeniz ve gerekirse kapları doldurmanız gerekir.

Döşeme sulama sistemlerinin takibinin analizi. Bireysel sulama hatlarının yüksekliğindeki büyük bir fark, performansları üzerinde önemli bir etkiye sahip olabilir. Kurulum yaparken sadece sulama süresini değil, bu süre zarfında bitkilere verilen su miktarını da göz önünde bulundurmalısınız.

Zamanlayıcının kurulumunu tamamladıktan sonra sistemin çalışabilirliğini kontrol etmeniz önerilir. Bunun için minimum anahtarlama periyotları ayarlanır ve vana aktüatörlerinin doğru çalışıp çalışmadığı kontrol edilir. Zamanlayıcı normal çalışıyorsa, belirli programlamayı başlatabilir ve sistemi otomatik çalışma moduna geçirebilirsiniz.

Bununla birlikte ek sensörler satın alınırsa, zamanlayıcı programını yükleme işlemi çok daha kolay olacaktır.

Zamanlayıcıların ek özellikleri

Sensörlü sulama için elektronik zamanlayıcılar, seralarda veya açık havada mahsul yetiştirme sürecini daha da basitleştiren birkaç ek işlevi yerine getirebilir.

  1. Yağmur sensörü. Bu tür ekipmanlar, açık alanlarda sulama kurulumu sırasında kullanılır. Yağmur sensörü, elektronik cihaza doğal yağışın varlığı hakkında bir sinyal gönderir. Zamanlayıcı bu sinyallere tepki verir ve yağışlı döneme denk gelen bir sulamayı atlar. Sensör, 3 mm'den 25 mm'ye kadar yağış aralığında ayarlanır. Bu geniş aralık, hava koşullarına bağlı olarak sulama oranlarının daha hassas bir şekilde kontrol edilmesini sağlar. Hızlandırılmış geri çağırma işlevinin varlığı, yağmur başladıktan sonra sulamayı mümkün olan en kısa sürede durdurmanıza izin verir, cihazlar ek bakım gerektirmez. Havalandırma halkasının ayarına bağlı olarak, kulübenin bekleme moduna dönmesi için bir gecikme ayarlanır. Başlangıç ​​konumuna dönüş süresi, doğrudan neme ve ortam sıcaklığına bağlıdır. Bu, önemli ölçüde su tasarrufu sağlar.
  2. Diyafram pompası. Zamanlayıcı ile birlikte veya ayrı bir durumda monte edilebilir, depolama tanklarındaki su seviyesini izler. Su miktarı kritik bir seviyenin altına düştüğünde, malzemeleri yenilemek için pompa otomatik olarak açılır. Depolar doldurulduktan sonra pompa kapatılır.
  3. Radyo kanalı toprak nem sensörü. En modern cihaz, bitkilerin bakımını büyük ölçüde kolaylaştırır. Yataklarda birkaç yere kurulur, yüksek toprak nemi durumunda sulama için zamanlayıcı komutunu bloke eder. En modern cihazlar mahsul verimini en az %10 arttırır.
  4. Su arıtma filtresi. Yüksek kaliteli su arıtma gerçekleştirir, zamanlayıcının çalışma süresini önemli ölçüde artırır.

Ek izleme ve kontrol cihazları, bir sulama zamanlayıcılı set olarak veya ayrı olarak satın alınabilir.

Video - Yerçekimi sistemleri için sulama zamanlayıcıları

Bir süre önce, ülkede sulamayı otomatikleştirmenin iyi olacağını düşündüm. Bazı Muska kullanıcılarının yorumları da bu kararın alınmasında önemli rol oynadı. Ancak elektronik benim profilim olmadığı için, projenin donanım kısmını olabildiğince basitleştirmeye ve mümkünse LUT, tahta aşındırma ve diğer zorluklar olmadan yapmaya karar verildi. Kısacası sistemimi standart bileşenlerden bir araya getirilmiş bir tür kurucu olarak uygulamak istedim ama ortaya çıkıp çıkmadığına karar vermek size kalmış.

UPD: Arduino çizimi eklendi.

1. Projenin isteklerini anlamak ve düşüncelerini organize etmek
Proje başlangıçta şöyle bir şey olarak tasarlandı: 4 güçlü sprinkler (gelecekte 8), aynı sayıda solenoid valf, onlar için bir röle modülü, 16x2 karakter ekranı, gerçek zamanlı saat ve beyin olarak Arduino.
Vanaları kontrol etmek için basit bir menünün yeterli olacağını umuyordum, bu sayede mevcut saati, sulamanın başlama saatini ve çalışma süresini ayarlayabilirsiniz.
Sonra klavyeye 8 Arduino girişi vermenin çok fazla olduğunu düşündüm. Ve genel olarak, tüm klavyeler her yerde eşit derecede yararlı değildir, yalnızca dijital bir blok kullanmak haklıdır; Sonuçta, sadece sayıları girmek değil, aynı zamanda menü navigasyonunu uygulamak da gereklidir.
Ve eğer öyleyse, o zaman bir joystick kullanmak daha iyidir - bu sayısal bir tuş takımından daha evrensel bir çözümdür ve kontrol “sezgisel” hale gelir ... elbette, böyle yapılabilirse ... Kışın, röleler , bir adet 12 voltluk vana, bir adet sprinkler, joystick, arduino ve ekran satın alındı ​​ve Şubat-Mart aylarında sprinkler için taslakta hata ayıklamaya başladım.
Yazılım bölümünün geliştirilmesi sırasında, orijinal projede birkaç değişiklik daha yapıldı. Özellikle birkaç sıcaklık-nem sensörü ve manuel valf kontrol ünitesi ekledim. Ek olarak, boşta motor çalışmasına karşı koruma sağlamak için, uzun süre akışın olmaması durumunda motoru acil olarak kapatmak için girişe bir su akış sensörü takmaya karar verdim.
Neden bu kadar çok sensör? Evet, sadece çok pahalı değiller, tahtada boş girişler kaldı ve sitenin farklı yerlerindeki sıcaklık ve nemi bilmekte fayda var. Sensörleri seraya, sokağa ve pompa istasyonu için çukura yerleştirmeyi ve ayrıca bahçede bir yere toprak nem sensörü ve toprak sıcaklık sensörü yerleştirmeyi planladım.
Genel olarak, size arduino sensörlerinin ve pinlerinin bir tablosunu göstereceğim.

2. Gerekli bileşenlerin satın alınması
Çin'de satın alınan sistem bileşenlerinin bir listesini veriyorum (çoğu aliexpress'ten satın aldım, ancak Ebay'den birkaç lot aldım - orada daha ucuzdu). İki parti zaten satıştan çekildi, bu yüzden onlara bağlantılar yerine anlık görüntüler olacak - böylece ilgilenen insanlar ne arayacaklarını bilirler.
1 , fiyat 6.36 $ (satıcım bu sensörü satıştan çıkardığı için başka bir satıcıdan çok)
1 , fiyat 0,74 $
1 , fiyat 0,63 $
1 , fiyat $1.16
1 , fiyat 0,56 dolar
1 , fiyat $1.79
1 , fiyat 1.1$
1 , fiyat 0,66 $
1 , fiyat 0,5$
1 , fiyat $1.35
1 , fiyat $3.56
1 , fiyat $0.84
3 , her birinin fiyatı 0,99 ABD doları, toplam 2,97 ABD doları
4, her biri 5,59 dolar, toplam 22,36 dolar
4, her biri 3,62 dolar, toplam 14,48 dolar. Analogları bulmak kolaydır
4 , fiyat çifti 0,95 ABD doları, yalnızca 1,9 ABD doları
İnternetteki toplam maliyet - 60,96 $

Aşağıdaki öğeler yerel bir donanım mağazasından satın alındı:
2 bölme 5/8 sulama hortumu (her biri 30m) - 540.000 Belarus rublesi veya yaklaşık 28 $
8 bağlantı 1/2 - 112.000 Beyaz Rusya rublesi veya yaklaşık 5,8 dolar
3 te 1/2 - 60.000 Beyaz Rusya rublesi veya yaklaşık 3 $
8 bağlantı parçası 15 * 16 - 92.000 Belarus rublesi veya yaklaşık 4.8 $
Toplam çevrimdışı maliyet - 804.000 Beyaz Rusya rublesi veya 41,2 ABD doları

Ayrıca bu listeye dahil olmayanlardan bahsetmeye değer - bu listeden bazı şeyler aldım shareware (eski önemsiz), bazı şeyler için fiyatları unuttum. Bu:
Sıcaklık sensörlerini bağlamak için 40 metre 4 damarlı sinyal kablosu;
12 voltu solenoid valflere iletmek için 40 metre en ucuz 2 telli bakır kablo;
Sıcaklık ve nem sensörlerini bağlamak için çıkış olarak kullanılan 2 RJ-11 ayırıcı ve sensörlü kablolar için 4 konektör;
Ev içinde bulunan kontrol ünitesini, pompanın yanında dışarıda bulunan röle ve toprak sensör ünitesi ile bağlamak için 2 adet RJ-45 ayırıcı ve 4 adet kablo konnektörü;
eski kablo (bükümlü çift) - arduinleri rölelerle bağlamak için 30-40 metre;
eski bir anakarttan lehimlenmiş bir sürücüyü bağlamak için bir konektör ve sürücüden bir kablo;
eski 24 voltluk güç kaynağı;
sistem için kutuların üretimi için 12-16 mm kalınlığında mobilya levhası kesimleri.

Kullanmadan önce ayırıcıların fotoğraflarını çekmedim, şuna benziyorlar:

3. Satın alınmamış olanı yapmak
Bazı şeyler, şu ya da bu nedenle, doğaçlama malzemelerden bağımsız olarak yapılmalıydı. Burada neyin, nasıl yapıldığını ve neden bu şekilde yapıldığını, başka türlü yapılmadığını açıklamaya çalışacağım.

3.1 Toprak nemi sensörü(umarım uzun ömürlüdür)
Gördüğünüz gibi projede bildirilmesine rağmen alışveriş listesinde toprak nem sensörü yok. Gerçek şu ki, ince metal şeritlerle bir parça textolite toprağa gömme fikri bana oldukça çılgınca geldi, bu yüzden daha iyi bir yol bulmaya karar verdim. İnternette dolaştıktan sonra tematik forumda buldum, iyi ipuçları ve örnekler var. Genel olarak, orada yazanın aynısını yapmaya karar verdim: 2 iletken, direnç ve 3 damarlı bir tel. Katot ve anot olarak tek bir bisiklet kolu kullanıldı, acımasızca ısırıldı. Burada, karşılaştırma için, donör parçaları ve bir bütün örgü şişi


Telleri, dirençleri ve tel parçalarını lehimliyoruz - genel olarak her şeyi forumda yazıldığı gibi yapıyoruz


Daha sonra iğne işlerimizi sıcak tutkalla kapatmak için anot ve katodu hamuru üzerine geçici olarak sabitliyoruz.


Ayrıca kalıp olarak küçük bir bardak bebek yoğurdu alındı, içindeki tel için bir delik açtım, yapıyı dikkatlice içine yerleştirdim ve Ceresit CX-5 ankraj bileşimi ile doldurdum.






Forum üyeleri alçı tavsiye ediyor, ancak el altında değildi, hızlı sertleşen çimentonun daha kötü olmayacağını düşünüyorum.
Kuru - açık






Her ihtimale karşı, bitmiş sensörün üzerinden birkaç kat yağlı boya ile geçtim, böylece sensör bir beton parçasının nem içeriğini değil, tam olarak toprağın nem içeriğini ölçtü.

Bu mega cihazı kullanmak için ön kalibrasyon gereklidir. Bu basit bir şekilde yapılır: kuru toprak alırız, içine ev yapımı bir sensör sokarız, elde edilen nem değerini kontrol eder ve kaydederiz. Sonra küçük bir bataklık yapmak için oraya çok fazla su döküyoruz ve yine sensörden değeri alıyoruz.
Forumdaki bu çizimle hızlı bir şekilde kalibre edildi:
#define PIN_SOIL_LEFT 6 #define PIN_SOIL_RIGHT 7 #define PIN_SOIL_HUMIDITY 0 void setup()( Serial.begin(9600); pinMode(PIN_SOIL_LEFT, OUTPUT); pinMode(PIN_SOIL_RIGHT, OUTPUT); pinMode(PIN_SOIL_RIGHT, OUTPUT); flip)( if(flip)( digitalWrite(PIN_SOIL_LEFT, HIGH); digitalWrite(PIN_SOIL_RIGHT, LOW); )else( digitalWrite(PIN_SOIL_LEFT, LOW); digitalWrite(PIN_SOIL_RIGHT, HIGH); ) ) void loop()( setSensorPolarity(true) ; delay(1000); int val1 = analogRead(PIN_SOIL_HUMIDITY); delay(1000); setSensorPolarity(false); delay(1000); // okumayı ters çevir int val2 = 1023 - analogRead(PIN_SOIL_HUMIDITY); reportLevels(val1,val2) ; ) void reportLevels(int val1,int val2)( int avg = (val1 + val2) / 2; String msg = "ort: "; msg += ort; Serial.println(msg); )
Benim durumumda, sensördeki okuma kuru toprakta 200'ün biraz üzerinde ve ıslak toprakta 840'ın biraz altındaydı.
Artık belirli bir toprak için minimum ve maksimum nem seviyelerine sahibiz, bunların ana çizimde karşılık gelen sabitlere girilmesi gerekecek. Bu kadar!

3.2 Vanalar için güç kaynağı
Elbette, Çin'de en az 1 amper sağlayan geleneksel bir 12 voltluk güç kaynağı satın almak mümkündü, ancak Anavatan'ın kutularında, eski bir çöp yığını, yarım lamba üreten ölü bir tornavidadan bir şarj cihazı buldu. 24 voltluk bir voltajda. Bu nedenle, LM2596'da bir dönüştürücü satın alındı ​​ve ardından eski birime başarıyla entegre edildi. Sürecin ayrı fotoğraflarını çekmedim, çünkü inceleme bununla ilgili değil ... İşte bir valf ile birlikte değiştirilmiş bir blok, bir örnek olarak geçecek


Ünitenin gövdesinde bir delik açılmıştır, uygun voltaj ayarı. Artık bir tornavida ve bir multimetre kullanarak 5 ila 24 volt arasında herhangi bir voltajı ayarlayabilirsiniz. Bana göre oldukça iyi çıktı. Ne yazık ki, buck dönüştürücüler hakkında Aloha_'ya tıkladım ... Ama benim durumumda her şey normal görünüyor, aşırı ısınma fark edilmedi.

3.3 Sprinkler tutucular
Bu ürünü mağazadan satın alamazsınız! Özel sipariş üzerine 4 adet miktarında yapıldığı için :) Burada her şey basit olsa da: bir metre yüksekliğinde yarım inçlik bir boru, altta 90 derecelik bir büküm yapılır ve 30-40 cm uzunluğunda bir köşe kaynak yapılır. böylece tutucu sitenin sağ tarafında yere yapışabilir. Üstte, diş yarım inç iç olmalıdır (benim durumumda, bir kaplin oraya basitçe kaynaklanır), altta - herkes için daha uygun olduğu için. Benim durumumda, harici bir yarım inç diş var, ancak uygulamanın gösterdiği gibi, dahili olması daha iyi olurdu, o zaman önce kaplini, ardından bir bağlantı parçasını veya valfi vidalamanız gerekmez ... Genel olarak, önceden düşünmedim, bu yüzden kaplinler için ek maliyetler aldım :(
Sahibinin görsel fotoğrafları - burada:




Ve biraz daha ileride, çalışma sırasında tutucunun bir fotoğrafı olacak.

3.4 Kontrol ünitesi ve röle için kutular
İlk başta, sulama makinesinin tüm parçalarını tek bir kutuya yerleştirmeyi ve onu vanalar (12 volt), bir pompa (220 volt) ve gerçek sensörler için çıkışlarla donatmayı planladım. Ancak, daha sonra sprinklerin gücünü ve düşük akımlı kısımlarını ayırmaya karar verdim ve sabahın erken saatlerinde röleye tıklamak çok şüpheli bir zevk olurdu. Buna göre Arduino board, joystick, butonlar, ekran ve gerçek zamanlı saat "home" kutusunda kalıyor ve röleler kutunun içine motora ve valflere daha yakın olacak şekilde yerleştirilecek.
Kontrol ünitesini monte etmek için bir parça mobilya tahtasına, düğme delikleri için tüy matkaplara ve bir joystick'e ve ekran için bir delik için bir dekupaj testeresine ihtiyacım vardı.

Spoiler altında kutuyu deliyor, görüyor ve monte ediyoruz













Daha sonra ayırıcıları (telefon ve bükümlü çift) açıyoruz, telleri lehimliyoruz ve sıcak eriyik yapıştırıcı üzerine koyuyoruz. Daha ayrıntılı olarak buraya bakın






Ekran ve gerçek zamanlı saat bu şekilde bir bütün halinde birleştirildi.


Ve sonra bu tasarım, kutudaki kendinden kılavuzlu vidalarla ciddiyetle sabitlendi. Joystick de vidalanmış. Şimdi harici olarak kontrol ünitesi şöyle görünür:


Beyinleri kutuya atmak için kalır - ve kontrol ünitesi hazır.
Şimdi dikkat. Estetiğe, çocuklara ve hamilelere aşağıdaki spoileri açmamaları şiddetle tavsiye edilir... Çünkü burada Yurok, ksiman ve diğer tanınmış şahsiyetlerin yapabileceği güzel panoları görmeyeceksiniz. Ancak, kartın kurulumunu ChinaPodvalProm'un en iyi geleneklerinde göreceksiniz: raylar yerine kablolama ve hepsinin dağılmaması için sıcakta eriyen yapıştırıcı. Bu nedenle sizi tekrar uyarıyorum: spoiler'ı açmayın! Sözüme güvenin, bu pano işe yarıyor ama görmemek daha iyi :)

Spoiler, açmayın, korkunç ve çılgınca!

Bu yüzden açtın, ha? Peki, tamam, hayran ... Domates atmayın!









Kontrol ünitesi, iki bükümlü çift ile röle ünitesine bağlanır. “Beyin”in valfler ve motor ile etkileşimi için, röleye güç sağlamak için 5 kontrol hattı ve 2 hat daha (5 volt ve toprak) yeterlidir, ancak ayrıca bir akış ölçer de vardır (zaten güç var, bu yüzden sadece 1 hat gereklidir), bir toprak nem sensörü (3 hat ) ve vanaların mevcut durumunu gösteren 4 led. Toplam - mevcut 16 satırdan 15'i kullanılır.
Rölelerin kendilerine ek olarak, röle bloğunda motor ve valf güç kaynağı için soketlerin yanı sıra motorun zorunlu çalıştırılması için geleneksel bir anahtar bulunur. Bloğun kendisi, kontrol ünitesi ile aynı mobilya tahtası parçalarından yapılmıştır, ancak sıradan bir ahşap kutuya benziyor. Girişte, motor rölesine, valf rölesine, LED'lere, nem sensörüne ve su akış sensörüne konektörler aracılığıyla iki bükümlü çift bağlanır. Valfler, bir anahtar ve bir motor rölesi aracılığıyla kontrol edilen bir soket için teller için delikler duvarda ihtiyatlı bir şekilde yapılmıştır.


Solenoid valflere giden teller terminal bloğundan çıkarılır


Dışarıda, arduino kontrollü bir motor soketini ve motoru manuel olarak açmak için bir anahtarı vidaladım.


Tüm teller kablolu ve doğru yere getirildi ... öyle görünüyor ki


İç duvarda 12 voltluk bir güç kaynağı için bir soket belirdi, burada da görülebilir


Bitmiş formda, her şey şuna benzer:


Ne ve nasıl olduğunu biraz açıklayayım. Kutuya güç getirilir, 12 voltluk valfler için bir blok, bir motor rölesi ve bir valf rölesi içine gizlenir. Motora (soket) güç gider ve motorun manuel kontrolü için bir anahtar da çıkarılır (röleye paraleldir). Ek olarak, toprak nemi ve su akış sensörlerini bağlamak mümkündür, ancak bunlar boştur. Neden - Size biraz daha anlatacağım.
4. İşlevselliğin açıklaması
Aslında, burada montaj için eksik bir elektronik bileşen seti var.


İlk başta, bu "ahtapot" gibi bir şey bir arduino ve küçük bir çevre birimi setinden toplandı, eskizde hata ayıklamak için kullandığım mucize buydu.


Dediğim gibi minimum, joystick kontrolünü yapmaya karar verildi ve aşağıdaki minimum gerekli menü öğeleri kümesi belirdi:
1. Tarih ve saat ayarları
2. Sulama programı ayarları
3. Sensörlerden gelen bilgiler
4. Yeniden başlatmaya zorlama yeteneği

Bunu uygulamayı başardım ve hatta 1602 İngilizce bir ekranla idare etmeyi başardım - LCD_1602_RUS kitaplığı yardımcı oldu, bu da 8 Kiril karakterini “yapmama” izin verdi. Bundan sonra, İngilizce harflerle karıştırılarak, yaşlı insanlar için (ebeveynlerim) oldukça anlaşılır olan menü öğelerinin Rusça adlarını oluşturmak mümkün oldu. Taslağın son boyutu, 45 kilobayta sıkıştırılmış 1400 satırın hemen altında.
Derleme sonucu:
Çizim 19.626 bayt (%63) cihaz belleği kullanıyor. Toplam 30.720 bayt kullanılabilir.
Genel değişkenler, yerel değişkenler için 732 bayt bırakarak 1.316 bayt (%64) dinamik bellek kullanır. Maksimum: 2048 bayt.

Neyse ki, artık düşük bellekle ilgili herhangi bir uyarı yok.
Kroki henüz burada değil, zamanı gelince yayınlayacağım. Kodu biraz "taramak" istiyorum :)
Ne işe yaradı ve ne işe yaramadı? Ahtapotta her şey yolunda gitti :) Maalesef hayat kendi ayarlarını yapıyor ve beyinler, röleler ve sensörler ayrıldıktan sonra bir şeyler çalışmayı durdurdu... İlk olarak, analog sensörler. Ne yazık ki, şimdi, kabloların uzunluğu nedeniyle benim için çalışmıyorlar - buna göre TOPRAK menü öğesi sıfır sıcaklık ve nem gösteriyor. Bunun nasıl düzeltileceğine dair belirli düşünceler var, ancak şu ana kadar - zaman yok. Ailemi kulübede çok sık ziyaret etmiyorum ve sadece sulama yapmıyorum, işte başka bir iş gezisi ... Her durumda, okuyuculardan pratik tavsiyeler almaktan memnuniyet duyacağım.
İkincisi, akış ölçeri hemen bağlamak mümkün değildi - bu sefer kabloların uzunluğundan dolayı hiç değil. Çek valften hemen sonra, motorun girişine, ortaya çıktığı gibi, aceleyle koydum - oraya ait değil. Görünüşe göre sensör tamamen sızdırmaz değildir ve su yükseldiğinde, mahfazadaki mikro yuvalardan hava emilir, bunun sonucunda pompa su çekmez. Çıkarırken, pompa çıkışına takmaya çalışacağım - çalışması gerekir, ancak mümkün - biraz sızdıracak.
Şimdi çalışma işlevselliği için. Eh, program açık - proje tam olarak bunun için başlatıldı. Ancak bazen fıskiyeyi bir süre açmanız yeterlidir ve bunun için iki zorunlu sulama modu yaptım: sınırlı ve sonsuz. Sınırlı mod, düğmeye kısaca basılarak etkinleştirilir, bu tür bir sulamanın süresi ayarlarda belirtilebilir. Düğmeye tekrar basarsanız, sulama programdan önce durdurulacaktır. Uzun basıldığında, sonsuz sulama açılır - düğmeye basarak tekrar kapatabilirsiniz.
Güzel bir ek, bir pompa istasyonu bulunan çukurdaki, seradaki ve sokaktaki sıcaklığı görmektir.
Günde bir kez, arduino'nun zorunlu olarak yeniden başlatılması planlanır.

5. Sulama makinesini monte ediyoruz
Burada küçük bir konuya değineceğim ve su basıncı bileşenlerinin teknik özelliklerini vereceğim.
PompaÜreticiye göre Polonyalı Omnigena şirketinin JY1000'i aşağıdaki özelliklere sahiptir:
Verimlilik: 60 l/dak;
Maksimum kaldırma yüksekliği: 50 m;
Güç tüketimi: 1100 W;
Maksimum kendinden emişli derinlik: 8 m.

Ayrıca, bu yararlı grafiği buldum

burada


Ve elbette, performansın büyük ölçüde kuyunun derinliğine ve filtrelerin tıkanmasına bağlı olduğunu unutmayın.

Selenoid vana isimsiz, ancak birçok sayfada (örneğin) şöyle bir şey buldum:
Voltaj: DC 12V;
Akım: 0,5A;
Basınç: 0.02-0.8MPa;
Verimlilik 3-25 l/dak.
Ayrıca iyimser bir ifade var: Su basıncı: 5 dakika süren 1,2 MPa hidrostatik basınç, yırtılma, deformasyon, sızıntı yok.. Onlar. 5 dakika içinde valf, "0.8 MPa'dan fazla olmayan" standarttan önemli ölçüde daha yüksek basınca dayanır.
Burada vanayı farklı açılardan görebilirsiniz.


Valfi daha zayıf bir güç kaynağında test ettiğimi ve 9 voltta sorunsuz açıldığını da not edebilirim.
Ve bahçe rutubeti koşullarında vanaların sorunsuz çalışması için, yaratıcılığımı açmam ve eski plastik şişeler için bir kullanım bulmam gerekiyordu.
Hey bonaqua!


İşte bu tür giysilerdeki bir valf, belki burada daha iyi görebilirsiniz

Verim sprinkler, verilere göre, sırasıyla 0.21-0.35 MPa'lık bir sıvı basıncında 700 - 1140 l / s veya yaklaşık 11.7-19 l / dak.
Gördüğünüz gibi, ideal koşullar altında, pompa çok fazla akış üretir ve bu akış, bırakın sprinkler bir yana, her iki vana tarafından da fiziksel olarak "hakim olunamaz". İleriye baktığımda, benim durumumdaki kuyunun ideal olmaktan uzak olduğunu ve 60 l / dak'ya ulaşmadığını söyleyeceğim. Sonra motordan en uzak sprinklere (yaklaşık 30 metre) kadar olan hortumun uzunluğundan dolayı basıncın da düşeceğini düşündüm, bu konuda fazla uğraşmamaya karar verdim. Ardından “üretim testleri” sırasında motora aynı anda üç sprinkler bağladım. Çok zayıf döküldükleri ortaya çıktı ve basınç bile dönüş yönünü değiştirmek için yeterli değil. Şuna benziyordu: sprinkler sektör sınırlayıcıya çarpana kadar dönüyor ve dönüş duruyor. Sektör sınırlayıcıyı kaldırırsanız, bir daire içindeki dönüş aşağı yukarı sorunsuzdur, ancak sulama yarıçapı 2-3 metredir. Bir sprinkleri düşürdüm - biraz daha iyi oldu ve hatta dönmeye çalıştılar, ancak yarıçap hala maksimum 4 metreydi Ama bir sprinkler harika çalışıyor - çok uzağa vuruyor (bir mezura ile ölçüldüğünde, sadece püskürtüyor 9 metrelik yol) ve dönme ile ilgili sorun yok.
Sprinklerlerin kendileri ihtiyaçlarınıza göre ayarlanabilir:
- memenin karşısındaki vidayı sökerek jeti kırın;
- memenin karşısındaki plakayı yükselterek veya alçaltarak jetin açısını ve buna göre aralığını değiştirin;
- sınırlayıcılar yardımıyla sulama sektörünü değiştirin veya sınırlayıcı kilidini tamamen kaldırın.
İşte yakın mesafeden "kontrollerin" fotoğrafları








Tutucudaki ve hortum/tel bağlıyken fışkırtma şöyle görünür:

6. Çalışmak
Kontrol ünitesi, geçerli saate ek olarak, sıcaklık ve nem gibi her türlü yararlı bilgiyi görüntüleyebilir. Aynı yerde, programa göre sulamanın başlama ve süresi ile buton ile etkinleştirildiğinde sulamanın süresi ayarlanır.
4 düğmeden birine kısa bir basışla, belirli bir süre (ayarlarda ayarlanan) sulamayı açabilirsiniz, uzun bir basış "sonsuz" modu açar, yani. sadece aynı buton ile belirli bir hattaki sulamayı kapatmak mümkün olacak veya programa göre hattın kapatılması gerekiyorsa kapanacaktır. Ama neden kendimi tekrar ediyorum? Slaytları getirin!
Burada ayarları görebilirsiniz:











Burada - sıcaklığa ve neme bakıyoruz






Buradan bilgi alın

Yaz koşullarında sensörlerin toplu tarımı aslında böyle görünüyor. Sundurma


çukur


Yeşil Ev


Bu sensörler henüz bir şey söylemiyor, neden - yukarıda açıklandı



Ve nihayet ... Yedi sıkıntı - bir sıfırlama:

Ve şimdi - video, onsuz nerede olurduk.
1. Mini tur - sulama makinesi menüsünde neler var. Sensörler bağlı değildi, bu yüzden her şey sıfır gösteriyor.


2. İrrigatörün her biri birer dakika süren 2 ve 3 hattı açacak şekilde ayarlanması


3. Test için belirlenen programa göre sulama nasıl görünüyor?


4. Sprinkler Ekranında Planlanan Sulama Nasıl Görünüyor


5. Düğmeden sulamayı test edin - açma ve kapatma. Fıskiyenin çalışmasını göstermiyorum, ama dürüst olmak gerekirse - her şey çalışıyor


6. Sprinkler ve ayarı: ne dönüyor, dönüyor ve sabitleniyor


7. Yakın mesafeden küçük bir sektörde sprinkler çalışması

7. Piyasa teklifleriyle karşılaştırma
Rusya pazarında uygun fiyatlı bir seçenek, OBI'de satılan Gardena sistemidir. Kontrol ünitesini 13590 ruble ve her biri 3990 ruble daha alabilirsin, son fiyat sadece 29550 olacak. Elbette harika ve güzel görünüyor. Ama neredeyse 500 Amerikan parası vermek için ... Ve anladığım kadarıyla kitte sprinkler, konektör ve hortum yok! Tamam, daha ileriye bakalım.
Yine aynı mağazada Gardena, ama burada sistem zaten 6 satır. 11190 ruble ve 6990 ruble için bir su tedarik zamanlayıcısından oluşur - toplam 18180 veya neredeyse 300 Bakü ... Önceki durumda olduğu gibi hortumlar ve sprinkler ayrı olarak satın alınmalıdır.
Ebay hemen kontrol ünitesini valflerle birlikte yaklaşık 60 $ artı ~ 35 $ nakliye maliyeti teklif etti - sonunda neredeyse yüz. Opsiyonel olarak, kontrolörler (valfsiz) Rain Bird ESP-RZX Series 4 ve Hunter XC 400i, nakliye hariç 75 dolardan düşük olmayan fiyatlarla mevcuttur. Valfler ayrı ayrı; örneğin bir avcı için, toplu olarak daha ucuza 22 dolardan başlıyorlar.

Ve bir son söz yerine. Zaten piyasadayken bisikleti icat etme zahmetine girmem mantıklı mıydı? Bence evet. Kişisel olarak bundan ne kazandım? Birincisi, önemli tasarruflar, ikincisi, sistemi ihtiyacım olan şekilde uygulama yeteneği ve üçüncüsü, benim için ilginçti. Projelerinizi gerçekleştirin ve hata yapmaktan korkmayın. Sadece hiçbir şey yapmayanlar hata yapmaz!

Şimdi arduino için söz verilen kod.İndirebilirsin, mümkünse yazıya yorumlar ekledim ama özellikle bu kodda debimetre çalışmayabilir (veya yanlış çalışmayabilir).

+101 almayı planlıyorum Favorilere ekle İncelemeyi beğendim +128 +247

Bitkilerinizin ne zaman sulanmaları gerektiğini size söylemelerini ister misiniz? Yoksa sadece toprak nemi seviyeleri hakkında sizi güncel tutmak mı?

Bu yazıda, toprak nem seviyesi sensörü kullanan otomatik bir sulama projesine bakacağız:

Toprak Nemi Sensörüne Genel Bakış

Bu tür sensörler oldukça basit bir şekilde bağlanır. Üç konektörden ikisi güç (VCC) ve topraktır (GND). Sensörü kullanırken, olası oksidasyonu önlemek için güç kaynağından periyodik olarak ayırmanız önerilir. Üçüncü çıktı, okuma alacağımız bir sinyaldir (sig). İki sensör kontağı, değişken bir direnç prensibi ile çalışır - topraktaki nem ne kadar fazlaysa, kontaklar elektriği o kadar iyi iletir, direnç düşer, SIG kontağındaki sinyal artar. Analog değerler mikrodenetleyicinizin analog pinlerinin besleme gerilimine ve çözünürlüğüne göre değişiklik gösterebilir.

Sensörü bağlamak için çeşitli seçenekler kullanılabilir. Aşağıdaki şekilde gösterilen konektör:

İkinci seçenek daha esnektir:

Ve elbette, kontakları doğrudan sensöre lehimleyebilirsiniz.

Sensörü dairenin dışında kullanmayı planlıyorsanız, temas noktalarını kirden ve doğrudan güneş ışığından korumayı da düşünmelisiniz. Nem sensörü pimlerine ve iletkenlerine doğrudan muhafaza veya koruyucu bir kaplama uygulamayı düşünmek faydalı olabilir (aşağıdaki şekle bakın).

Bağlantı için kontaklarda koruyucu kaplamalı ve yalıtımlı iletkenlere sahip toprak nemi seviye sensörü:

Toprak Nemi Sensörü Kısa Ömür Problemi

Bu tip sensörlerin dezavantajlarından biri, hassas elemanlarının kırılganlığıdır. Örneğin, Sparkfun bu sorunu ek bir kaplama (Electroless Nickel Immersion Gold) kullanarak çözmektedir. Sensörün ömrünü uzatmak için ikinci seçenek, okuma alırken ona doğrudan güç uygulamaktır. Arduino kullanırken her şey sensörün bağlı olduğu pine YÜKSEK sinyal uygulamakla sınırlıdır. Sensöre Arduino'nun sağladığından daha fazla voltaj vermek istiyorsanız, her zaman ekstra bir transistör kullanabilirsiniz.

Toprak Nemi Kontrolü - Proje Örneği

Aşağıdaki proje bir nem seviyesi sensörü, Arduino kartının bir analogu - RedBoard ve toprak nemi seviyesiyle ilgili verileri gösteren bir LCD ekran kullanıyor.

SparkFun Toprak Nemi Sensörü:

Kırmızı kablo (VCC) Arduino'da 5V'a, siyah olan toprağa (GND), yeşil olan ise analog pin 0'a (A0) sinyaldir. Arduino üzerinde farklı bir analog pin kullanıyorsanız aşağıdaki mikrodenetleyici çiziminde uygun değişiklikleri yaptığınızdan emin olun.

LCD ekran 5V, toprak ve dijital pin 2'ye (kodu değiştirip değişiklik yapabilirsiniz) bağlanır ve mikrodenetleyici ile seri haberleşme protokolü üzerinden haberleşir.

Sensörünüzün ömrünü uzatmak istiyorsanız, dijital pime güç bağlayabilir ve yalnızca veri okurken güç verebilir ve ardından kapatabilirsiniz. Sensöre sürekli güç verilirse, hassas elemanları kısa sürede paslanmaya başlar. Toprakta ne kadar fazla nem olursa, korozyon o kadar hızlı gerçekleşir. Diğer bir seçenek de dönüştürücüye alçı uygulamaktır. Sonuç olarak, nem içeri akacak, ancak korozyon önemli ölçüde yavaşlayacaktır.

Arduino Programı

Kroki oldukça basit. Verileri LCD ekrana aktarmak için Yazılım Seri kitaplığını eklemeniz gerekir. Elinizde yoksa buradan indirebilirsiniz: Arduino GitHub

Kodun yorumlarında ek açıklamalar verilmiştir:

// LCD ekranlı toprak nemi sensörünün kullanımına bir örnek.

SoftwareSerial mySerial(3,2); // pin 2 = TX, pin 3 = RX (kullanılmıyor)

int eşikYukarı = 400;

int eşikAşağı = 250;

int sensörPin = A0;

String DisplayWords;

int sensorValue;

mySerial.write(254);

mySerial.write(128);

// ekranı temizle:

mySerial.write(" ");

mySerial.write(" ");

// imleci LCD ekranın ilk satırının başına getirin:

mySerial.write(254);

mySerial.write(128);

// "Kuru, Sula!"

mySerial.write(254);

mySerial.write(192);

mySerial.print(DisplayWords);

) else if (sensorValue >= eşikYukarı)(

// imleci ekranın ikinci satırının başına taşıyın:

mySerial.write(254);

mySerial.write(192);

mySerial.print(DisplayWords);

// imleci ekranın ikinci satırının başına taşıyın:

mySerial.write(254);

mySerial.write(192);

mySerial.print(DisplayWords);

Program farklı minimum ve maksimum değerler kullanır. Sonuç olarak, ortalama değer, toprağın nemli veya kuru olmasına bağlı olarak nemi karakterize edebilir. Bu ortalama değeri kullanmak istemiyorsanız, maksimum ve minimum değerlerin aynı olduğu varsayılabilir. Ancak deneyler, önerilen yaklaşımın toprakta meydana gelen süreçleri daha doğru bir şekilde karakterize etmemize izin verdiğini göstermektedir. Gerçek koşullarda kesin bir kesin ortalama değer yoktur. Böylece aralık seçimi ile oynayabilirsiniz. Su ile etkileşime girdiğinde toprakta meydana gelen süreçlerle ilgileniyorsanız, burayı okuyun, örneğin: Wiki. Süreçler oldukça karmaşık ve ilginç.

Her durumda, değişkenleri kendi koşullarınıza göre ayarlamanız gerekir: toprak tipi, gerekli nem seviyesi. Bu yüzden uygun değerlere karar verene kadar test edin, deneyin.

Nem seviyesi sensöründen gelen verilerin okunması ve görüntülenmesi organize edildikten sonra, otomatik bir sulama sistemi düzenlenerek proje daha da geliştirilebilir.

Arduino tabanlı otomatik sulama sisteminin bir parçası olarak nem seviyesi sensörü:

Sulamayı otomatikleştirmek için ek parçalara ihtiyacımız var: belki kasnaklar, dişliler, motor, debriyaj, transistörler, dirençler. Liste projenize bağlıdır. Eh, günlük hayatta kolun altına düşebilecek her şey. Bir örnek aşağıda daha ayrıntılı olarak gösterilmiştir:

Bu, otomatik bir sulama sistemi için bir motor kurmak için birçok seçenekten biridir. Tekerlek doğrudan suya monte edilebilir. Bu durumda, hızlı dönüşü ile tesise su sağlanacaktır. Genel olarak, hayal gücü gösterebilirsiniz.

SparkFun'dan Arduino'nun bir kopyasının kullanıldığı DC motor bağlantı şeması () aşağıda gösterilmiştir:

Aşağıda Arduino'nun taslağı yer almaktadır (motoru kontrol etmek için küçük bir ekleme ile temelde yukarıdakiyle aynı):

// Çizim, sensörden gelen verileri okur ve toprak nem seviyesini gösterir

// toprak kuruysa motor çalışır

// Ekranla çalışmak için yazılım seri kitaplığı kullanılır

#include <SoftwareSerial.h>

// RX seri LCD iletişim pinini Arduino'nun dijital pin 2'sine bağlayın

SoftwareSerial mySerial(3,2); // pin 2 = TX, pin 3 = RX (kullanılmamış)

// Motoru pin 9 ile kontrol edin.

// Bu pin PWM modülasyonunu desteklemelidir.

const int motorPin = 9;

// Burada bazı sabitler ayarlıyoruz.

// Sabitlerin ayarı, sensörün kullanıldığı ortam koşullarına bağlıdır

int eşikYukarı = 400;

int eşikAşağı = 250;

// Sensörle çalışmak için Arduino'da A0 pinini kurun:

int sensörPin = A0;

pinMode(motorPin, ÇIKIŞ); // motorun bağlı olduğu pini çıkış olarak ayarla

mySerial.begin(9600); // baud hızını 9600 baud'a ayarla

gecikme(500); // ekranın yüklenmesini bekleyin

// Burada görüntülenecek verileri saklayan bir dize tanımlıyoruz

// LCD'de. Değerler değişecek

// toprak nem seviyesine bağlı olarak

String DisplayWords;

// sensorValue değişkeni, sensörün A0 pininden gelen analog değerini saklar

int sensorValue;

sensorValue = analogRead(sensorPin);

mySerial.write(128);

// ekranı temizle:

mySerial.write(" ");

mySerial.write(" ");

// imleci LCD ekranın ilk satırının başına getirin: mySerial.write(254);

mySerial.write(128);

// ekrana gerekli bilgilerin yazılması:

mySerial.write("Su Seviyesi: ");

mySerial.print(sensorValue); // Değerler için .write yerine .print kullanma

// Şimdi nem seviyesini önceden belirlediğimiz sayısal sabitlere göre kontrol edeceğiz.

// Değer eşikDown değerinden küçükse, şu kelimeleri görüntüleyin:

// "Kuru, Sula!"

// imleci ekranın ikinci satırının başına taşıyın:

mySerial.write(254);

mySerial.write(192);

DisplayWords = "Kurutun, Sulayın!";

mySerial.print(DisplayWords);

// motoru düşük hızda çalıştırın (0 - stop, 255 - maksimum hız):

analogWrite(motorPin, 75);

// Değer, eşikDown değerinden düşük değilse bir kontrol yapılmalıdır.

// bizim eşiğimizden büyük mü ve eğer öyleyse,

// "Islak, Bırak!" yazısını göster:

) else if (sensorValue >= eşikYukarı)(

// imleci ekranın ikinci satırının başına taşıyın:

mySerial.write(254);

mySerial.write(192);

DisplayWords = "Islak, Bırak!";

mySerial.print(DisplayWords);

// motoru kapatın (0 - dur, 255 - maksimum hız):

analogWrite(motor pimi, 0);

// Alınan değer minimum ve maksimum arasındaysa

// ve toprak eskiden ıslaktı ama şimdi kuruyor,

// "Kuru, Sula!" (yani, biz

// eşikDown'a yaklaşın). Toprak kuru olsaydı ve şimdi

//çabuk ıslatın, "Islak, Bırak!" (yani, biz

// eşikUp'a yaklaşın):

// imleci ekranın ikinci satırının başına taşıyın:

mySerial.write(254);

mySerial.write(192);

mySerial.print(DisplayWords);

gecikme(500); // Okumalar arasında yarım saniye gecikme

Bitkileriniz için otomatik sulama uygulamasında iyi şanslar!

Bir sonraki çiçeğim kuruduktan sonra, sulama işlemini bir şekilde otomatikleştirmenin güzel olacağını anladım. Çünkü susuzluktan öldüğüne eminim.
Benim yerime çiçeği sulayacak bir yapı kurmaya karar verdim. Sonuç olarak, işini oldukça iyi yapan böyle bir cihaza sahibim:

İki regülatör yardımıyla tek seferde sulanan su miktarını ve ayrıca sulamalar arasındaki süreyi ayarlayabilirsiniz. İlgilenenler için - böyle bir cihazın nasıl yapılacağına dair daha ayrıntılı talimatlar. Arduino Mega'yı beynin temeli olarak kullandım.
Fıskiyeyi monte etmek için bir dizi bileşene ve 30 dakikadan fazla boş zamana ihtiyacınız olmayacak.

Kullanılan bileşenler:

  • Arduino Mega (sadece el altındaydı, ancak diğerleri yapacak)
  • Pompa ve silikon boru (bir araba ön cam yıkama pompası işe yarayacaktır - herhangi bir otomobil parçası mağazasından satın alabilir veya ebay'den küçük bir dalgıç pompa satın alabilirsiniz)
  • Güç kaynağı
  • Ayar için iki değişken direnç (herhangi biri)
  • Transistör IRL3705N
  • İki direnç (100 Ohm ve 100 kOhm)
  • diyot (herhangi bir)
  • Su deposu (benim durumumda Ikea plastik kutu)
  • Yerleşim

Her şeyi bu şemaya göre topluyoruz:

Veya daha açık bir şekilde:

İşte bana ne oldu:

Önce pompayı test edelim. 5V verelim. Vızıldadıysa, her şey yolunda, devam ediyoruz.

Şimdi pompayı Arduino'ya bağlayalım. Arduino ile pompayı kontrol etmek için breadboard üzerinde küçük bir koşum yapalım.

Arduino ile pompayı kontrol etmeye çalışalım. Bu kodu yükleyelim

int pompaPin = 5 ; void setup() ( pinMode(pumpPin, OUTPUT); digitalWrite(pumpPin, DÜŞÜK); ) void loop() ( digitalWrite(pumpPin, YÜKSEK); gecikme(1000 ); digitalWrite(pumpPin, DÜŞÜK); gecikme(1000 ); )

Periyodik olarak vızıldarsa, her şey tekrar yolunda demektir.

Şimdi iki düzenleyici eklemeliyiz. Değişken dirençleri cihazımıza bağlayalım ve performanslarını kontrol edelim.

Bu kodu Arduino'ya yükleyelim

int hacimPin = A0; void setup() ( pinMode(volumePin, INPUT); Serial.begin(9600 ); ) void loop() ( Serial.println(analogRead(volumePin)); delay(100 ); )

Seri Monitöre gidelim ve regülatörün dönüşüne bir tepki olduğundan emin olalım. Yaklaşık 0 ile 1024 arasında değişmelidir

Şimdi her şeyin birlikte çalışmasını sağlamak için kalır.

İşte sprinklerin kendisi için kod:

// İlk düğme suyun akacağı süreyi kontrol eder (4 ila 15 saniye arası) #define MAX_FLOWTIME 15 // saniye #define MIN_FLOWTIME 4 // saniye // İkinci düğme, sulama sıklığını günde bir ile haftada bir arasında kontrol eder#define MAX_PERIOD 7 // gün #define MIN_PERIOD 1 // gün #define MAX 1015 #define MIN 0 int volumePin = A0; // Dökülecek suyun hacminden sorumlu regülatörün bağlı olduğu pin int periodPin = A1; // Sulamalar arasındaki süreden sorumlu regülatörün bağlı olduğu pin int pompaPin = 5 ; // Pompa kontrolünün bağlı olduğu pin int hacim; int dönem; // Hacimde belirtilen süre boyunca pompayı açan prosedür void water() ( digitalWrite(pumpPin, HIGH); // pompayı aç gecikme(hacim); digitalWrite(pompaPin, DÜŞÜK); // pompayı kapat gecikme(dönem); ) void setup() ( pinMode(pumpPin, OUTPUT); digitalWrite(pumpPin, LOW); ) void loop() ( // Regülatörlerin (değişken dirençler) değerlerini okuyun ve belirtilen limitlere getirin hacim = harita (analogRead(volumePin), MIN, MAX, MIN_FLOWTIME, MAX_FLOWTIME) * 1000 ; periyot = harita (analogRead(periodPin), MIN, MAX, MIN_PERIOD, MAX_PERIOD) * 1000 * 60 * 60 * 24 ; Su(); )

Hepsi bu kadar. Geri kalanın tadını çıkarıyoruz. ve her zaman bitkilerinizin su aldığını bileceksiniz.

Paylaş