Musim panas adalah masa di mana banyak orang cenderung pergi bercuti ke luar negeri dan tanaman menjadi masalah, kerana tidak mungkin air pada hari-hari ketika anda tidak berada di rumah. Di samping itu, kedai kebun biasanya menjual sejenis gel yang membolehkan anda menghidrat dan menyuburkan tanaman selama kira-kira sebulan. Tetapi dengan kepanasan yang ada atau jika anda pergi lebih dari sebulan, maka anda akan memerlukan sistem yang lebih baik sehingga ketika anda kembali mereka masih hidup dan bertenaga.
Untuk itu, penyelesaian yang ada adalah membeli a sistem pengairan automatik bahawa anda boleh memprogram atau jika anda pembuat dan anda suka DIY, anda boleh melakukannya sendiri dengan Arduino. Bahan-bahan yang anda perlukan, selain dari papan Arduino, senang dijumpai dan cukup murah, sehingga tidak melibatkan perbelanjaan yang terlalu besar. Juga, untuk beberapa elemen seperti tangki air, dan lain-lain, anda boleh menggunakan bahan kitar semula ...
Sekiranya anda melayari laman web sedikit, anda akan dapati pelbagai projek jenis ini, tapi mungkin yang paling menarik adalah taman. Oleh itu, saya akan mendapat inspirasi untuk projek ini, kerana saya menganggap bahawa sistem pengairan lain yang hanya menggunakan sensor kelembapan dan tidak ada yang lain tidak begitu lengkap.
Apa yang anda perlukan
The bahan yang diperlukan untuk sistem pengairan automatik anda bunyi:
- Tiada produk dijumpai., walaupun yang lain pasti bernilai.
- Papan roti atau PCB jika anda mahu menyoldernya dan menjadikannya kekal.
- Sensor suhu dan kelembapan Tiada produk dijumpai.
- Kabel
- sensor YL-69 kelembapan di tanah dengan hygrometer untuk menempel di periuk atau tanah anda.
- Minipump 3V air tenggelam dan anggaran aliran 120 l / j.
- Diod 1N4007
- transistor bipolar PN2222
- 3 Perintang: 1x 220 ohm, 1x 1k, 1x fotografer LDR
- Tangki air, yang boleh berupa gendang atau sebotol 5 atau lebih liter, dll.
- Tiub untuk menyambung ke minipump dan bawa ke kilang / s
Como idea alternatif, Saya akan memberitahu anda bahawa anda juga dapat menggunakan sonoff atau modul WiFi untuk mengaktifkannya melalui Internet dari mana sahaja anda berada, atau memperbaikinya dengan menambahkan juga injap automatik ke keran untuk memprogram pengisian tangki air apabila ia kosong , dan lain-lain.
Cara mengatur sistem pengairan automatik
Pemasangannya agak sederhana. Anda boleh gunakan skema di atas untuk membuat semua sambungan. Anda harus meletakkan sistem anda di tempat yang berdekatan dengan tingkap atau di mana kilang yang hendak disiram berada dan letakkan dua hujung sensor kelembapan di tanah tanaman, berhampiran batang.
Sistem penyiraman automatik dengan Arduino akan menyiram setiap kali ia mengesan a rangkaian keadaan persekitaran. Sebagai contoh, apabila ia mengesan cahaya atau kegelapan yang rendah, suhu udara adalah konkrit yang akan kita konfigurasikan dalam lakaran Arduino IDE, dan kelembapan di tanah rendah. Pada masa itu dia akan mengaktifkan motor untuk menyiram kilang.
Dianjurkan untuk menyiram tanaman pada waktu malam, ketika kurang panas, kerana melakukannya pada hari-hari panas yang kuat boleh membahayakan lebih banyak daripada bermanfaat ...
Ingat bahawa anda mesti memperkenalkan pam mini di bawah air di dalam tangki yang telah anda tuju untuk pengairan, dan yang seharusnya mempunyai kapasiti yang mencukupi untuk menahan hari-hari di mana anda tidak berada di sana. Anda boleh melakukan ujian sebelumnya untuk mengetahui berapa lama ia berlangsung dan anda harus meninggalkan sedikit air sekiranya ia menguap dengan panas ...
Sudah tentu tiub mesti dipasang ke kilang supaya tidak bergerak dengan angin atau air boleh jatuh dan terbuang. Dan saya rasa tidak perlu diingat bahawa anda harus mengekalkan bekalan semasa ke papan Arduino agar ia berfungsi ...
pengaturcaraan
Sekarang adalah ketika anda harus menulis kod diperlukan dalam Arduino IDE untuk dapat memprogram mikrokontroler yang menguruskan perkakasan yang telah anda gunakan. Ini adalah masa untuk menyesuaikan suhu, kelembapan dan nilai cahaya yang sesuai dengan air di kawasan anda, kerana ia boleh berbeza-beza bergantung pada tempat anda berada. Tetapi contoh yang boleh anda gunakan sebagai asas adalah (Saya telah meninggalkan komen di mana anda boleh mengubah nilai, selebihnya anda boleh membiarkannya seperti ini):
Muat turun kod dari kod-pengairan-autopenyiraman-auto untuk taman anda
#include <SimpleDHT.h> #include <SPI.h> #define humidity_sensor_pin A0 #define ldr_pin A5 //Bibliotecas para los módulos sensores usados necesarias //Y definición de variables para los sensores de humedad y LDR en los pines A0 y A5 int pinDHT11 = 2; SimpleDHT11 dht11; int ldr_value = 0; int water_pump_pin = 3; int water_pump_speed = 255; //Aquí puedes dar valores desde 0 a 255 para la velocidad a la que trabajará la minibomba //Haz pruebas previas del caudal y configura la. Yo he //elegido 255 pero ustedes pueden elegir la que estimen conveniente. A más velocidad, mayor //bombeo de agua void setup() { Serial.begin(9600); } void loop() { // Mide la temperatura y humedad relativa y muestra resultado Serial.println(“*******************************”); Serial.println(“Muestra DHT11…”); byte temperature = 0; byte humidity_in_air = 0; byte data[40] = {0}; if (dht11.read(pinDHT11, &temperature, &humidity_in_air, data)) { Serial.print(“Lectura del sensor DHT11 fallida”); return; } Serial.print(“Muestra RAW Bits: “); for (int i = 0; i < 40; i++) { Serial.print((int)data[i]); if (i > 0 && ((i + 1) % 4) == 0) { Serial.print(‘ ‘); } } Serial.println(“”); Serial.print(“Muestra OK: “); Serial.print(“Temperatura: “);Serial.print((int)temperature); Serial.print(” *C, “); Serial.print(“Humedad relativa en aire: “);Serial.print((int)humidity_in_air); Serial.println(” %”); int ground_humidity_value = map(analogRead(humidity_sensor_pin), 0, 1023, 100, 0); Serial.print(“Humedad en suelo: “); Serial.print(ground_humidity_value); Serial.println(“%”); int ldr_value = map(analogRead(ldr_pin), 1023, 0, 100, 0); Serial.print(“Luz: “); Serial.print(ldr_value); Serial.println(“%”); Serial.println(“*******************************”); //************************************************************** // Condiciones de riego // Si la humedad en el suelo es igual o inferior al 60%, si la luminosidad es inferior al 30%, // Si la temperatura es inferior al 35%, entonces el sistema de riego riega. // En caso de que no se cumpla alguno o ninguno de los 3 requisitos anteriores, // el sistema de riego no riega //************************************************************** //Aquí puedes variar los parámetros que necesites de 60, 35 y 30, e incluso usar otros operandos <>=... if( ground_humidity_value <= 60 && ldr_value<30 && temperature<35) { digitalWrite(water_pump_pin, HIGH); Serial.println(“Irrigación”); analogWrite(water_pump_pin, water_pump_speed); } else{ digitalWrite(water_pump_pin, LOW); Serial.println(“Riego detenido”); } delay (2000); // Ejecuta el código cada 2000 milisegundos, es decir, 2 segundos. Puedes variar la frecuencia de muestreo }
Maklumat lanjut - Kursus Pengaturcaraan Arduino (PDF Percuma)
Fuentes
Maklumat lanjut - taman
36 komen, tinggalkan komen anda
MENGAPA SAYA MENGELUARKAN status keluar 1
#sertakan jangkaan "FILENAME" atau ESO ON LOAD
Hello,
Kesalahan ini disebabkan oleh beberapa masalah sintaks dalam kod. Saya telah mengatasinya dan mengalami ralat. Sekarang semestinya baik-baik saja.
Sesuatu ucapan!
Halo, selamat petang, saya juga menghadapi masalah yang sama:
projek: 3:10: ralat: #include mengharapkan "FILENAME" atau
#sertakan <SimpleDHT.h>
^
projek: 4:10: ralat: #include mengharapkan "FILENAME" atau
#sertakan <SPI.h>
^
status keluar 1
#sertakan jangkaan "FILENAME" atau
Helo, maafkan saya, bolehkah anda membantu saya dengan ralat yang berlaku dalam kod tersebut
Dengan cara yang sama saya diberi kesilapan dalam kod, bolehkah anda membantu saya dengan masalah itu
Hello,
Sila tinggalkan maklumat mengenai kesilapan yang anda buat supaya saya dapat membantu. Sekiranya saya tidak mengetahui kandungan ralat, sukar bagi saya untuk menolong anda atau mencari di mana masalahnya ...
Sesuatu ucapan
Helo, ralat ini muncul, bagaimana saya dapat menyelesaikannya?
ralat: SimpleDHT.h: Tidak ada fail atau direktori seperti itu
#include
^ ~~~~~~~~~~~~
kompilasi ditamatkan.
status keluar 1
SimpleDHT.h: Tidak ada fail atau direktori seperti itu
Helo Samantha,
Kesalahan itu adalah kerana Arduino IDE nampaknya tidak dapat mengesan perpustakaan SimpleDHT.h. Adakah anda memasangnya dengan betul? Sekiranya anda memilikinya, cuba gunakan versi Arduino IDE yang lebih terkini jika lebih lama ...
Anda boleh melihat lebih banyak maklumat di sini:
https://www.arduino.cc/en/Guide/Libraries
Dan dapatkan perpustakaan dari sini:
https://github.com/adafruit/DHT-sensor-library
Sesuatu ucapan!
Terima kasih pertama untuk catatan yang sangat menarik dan sangat sah, tetapi saya telah membaca ini:
"Dianjurkan untuk menyiram tanaman pada waktu malam, ketika kurang panas, kerana melakukannya pada hari-hari panas yang kuat boleh membahayakan lebih banyak daripada bermanfaat ..."
Saya telah mendengar perkara ini berkali-kali, tetapi saya ingin seseorang menjelaskan kepada saya dengan jelas bagaimana ia menyakitkan mereka…. Saya telah mengusahakan tanaman selama lebih dari 20 tahun dan ketika sangat panas tidak ada yang lebih mereka hargai daripada penyiraman yang baik dan dapat dengan penyiram membasahi daun.
Ini adalah mitos yang hanya dilakukannya adalah membuat tanaman menderita ... Apabila anda panas dan dahaga, adakah anda menunggu hingga malam untuk minum? ...
terima kasih untuk jawatan !!!
Helo Pepe,
Terima kasih atas input anda. Saya tinggal di luar bandar dan kadang-kadang, ketika panas sangat sengit, menyiram tanaman pada waktu panas boleh membunuh mereka. Saya telah memeriksanya sendiri (di samping itu, ia tidak sama bergantung pada kawasan geografi di mana anda berada, di tanah saya sangat panas). Ini boleh kerana beberapa sebab:
1-Kerana titisan air di daun bertindak seperti kaca, membakarnya dengan cahaya matahari seperti kaca pembesar.
2-Tumbuhan mempunyai stomata yang menutup sehingga tidak mengalami dehidrasi ketika cerah. Sekiranya anda menyiramnya, ia akan terbuka dan boleh menyebabkan mereka mengalami dehidrasi.
3-Sekiranya mereka berada di dalam periuk plastik, kesannya akan menjadi lebih teruk lagi.
Sesuatu ucapan!
NERAKA !!
Saya sangat menyukai projek yang terperinci, saya mempunyai kebun saya sendiri dan saya menguji projek ini sebagai pengalaman peribadi, tanpa memperoleh faedah yang lumayan, saya hanya ingin bertanya kepada anda sama ada anda akan membantu saya dengan kodnya, kerana ini memberikan ralat kepada saya , Saya mempunyai pustaka DHT tetapi ketika mengesahkannya, ia memberikan ralat di akhir kod: {Serial.println ("Penyiraman dihentikan");} dan memberitahu saya ia adalah: sesat '\ 342' dalam program.
Saya mempunyai sedikit pengetahuan mengenai perkara itu dan saya telah menyiasatnya dan saya belum dapat menyelesaikannya.
Saya akan menghargai jika anda menolong saya. Terima kasih 😀
Hello,
Adakah kodnya betul? Iaitu, tidak ada kesalahan ketik?
Sebaliknya, anda boleh menyemak lebih lanjut mengenai kesalahan itu di sini:
https://forum.arduino.cc/index.php?topic=386225.0
Sesuatu ucapan
Halo Selamat petang, maaf, saya tidak tahu jika ada cara untuk menghubungi anda, kerana banyak kesalahan dengan kod ini di arduino
Hello semua orang,
Saya telah membersihkan kod tersebut dan menulisnya sekali lagi, untuk melihat apakah ada kesalahan untuk beberapa sebab dalam kod yang dipaparkan di web. Agar dapat dimuat turun, saya telah meninggalkan kod baru dalam pautan muat turun sebelum kod yang muncul di web. Sekiranya anda mengklik di sana anda boleh memuat turunnya dalam format teks. Saya harap tidak ada lagi masalah.
Sesuatu ucapan!
Bagaimana saya boleh menambahkan modul wifi? dan adakah mungkin untuk mengendalikannya dengan membuat aplikasi?
Bagaimana makanannya juga: c?
Hai Chaqui! Saya cuba melakukan perkara yang sama seperti anda, bolehkah anda menolong saya sekiranya anda selesai membuat kod anda ????
Satu soalan yang mana komponen antara papan Arduino dan sensor DHT11?
Terima kasih banyak-banyak!!
Hai Nerea,
Anda bermaksud diod dan perintang? Perhatikan bahawa di bahagian sebelum rajah terdapat senarai semua komponen ...
Sesuatu ucapan!
Halo, anda mempunyai video bagaimana sistem pengairan anda.?
maafkan saya hanya berfungsi untuk arduino uno atau juga untuk arduino mega
Halo selamat pagi, maaf saya ingin mengemukakan soalan mengapa semasa saya membuka monitor ide Arduino, saya gagal membaca sensor dht11?
Seluruh program disusun dengan baik dan dimuat dengan baik, perinciannya adalah ketika saya membuka monitor dan legenda itu muncul.
Apa itu?
HELLO FRIEND BESAR KERJA TETAPI SAYA MENDAPAT KESALAHAN DI BAHAGIAN INI Tidak ada fail atau direktori seperti itu
#include
APA ITU? Saya akan menghargai bantuan anda
HELLO, INI ADALAH AWAM, TAPI TIDAK PERKARA, SAYA BENAR-BENAR INGIN TERIMA KASIH ATAU ORANG YANG MENYERTAI PEMBANGUNAN PROJEK INI, MUNGKIN UNTUK BANYAK ITU BERIKUT, TAPI ANDA TELAH MENYELAMATKAN KEHIDUPAN SAYA, SAYA TERIMA KASIH SANGAT SEKOLAH KEPADA YANG SAYA TIDAK INGIN DI BAWAH DAN KEBENARAN SAYA TIDAK MENGHASILKAN SAYA TELAH MENGAJAR, TERIMA KASIH ATAS HALAMAN ANDA, SAYA INGINKAN YANG TERBAIK.
Bagaimana saya boleh menambahkan modul wifi? dan adakah mungkin untuk mengendalikannya dengan membuat aplikasi?
#sertakan "DHT.h"
DHT dht (2, DHT11);
nilai intLDR;
int pinLDR = A5;
int ENJIN = 8;
// ——————————————————————————————————————————————-
persediaan tidak sah ()
{
Serial.begin (9600);
nilaiLDR = 0;
Serial.begin (9600);
Serial.println ("UJIAN SISTEM IRIGASI");
dht.begin ();
pinMode (MOTOR, OUTPUT);
Serial.println ("Nilai sensor kelembapan");
}
// ——————————————————————————————————————————————-
gelung kosong ()
{
Serial.println («============================================ = ========================= »);
kelembapan int = analogRead (A0);
Serial.print ("Baca:");
Serial.println (kelembapan);
jika (kelembapan> = 0 & kelembapan> = 1000) {
Serial.println ("Sensor di tanah kering");
} lain jika (kelembapan> 500 & kelembapan <= 1000) {
Serial.println ("Sensor di tanah basah");
} lain jika (kelembapan <= 500) {
Serial.println ("Sensor di dalam air");
}
nilaiLDR = analogRead (pinLDR);
Cetakan bersiri ("LIGHT (");
Serial.print (valueLDR);
Bersiri.println (")");
kelewatan (2000);
apungan h = dht.readHumidity ();
apungan t = dht.readTemperature ();
jika (isnan (h) || isnan (t)) {
Serial.println ("Gagal membaca sensor DHT11!");
kembali;
}
Serial.print ("Kelembapan:");
Cetakan bersiri (h);
Serial.print ("%");
Serial.print ("Suhu:");
Cetakan bersiri (t);
Serial.println ("* C");
jika (h <= 50 && LDRnilai <70 && t = 1000) {
digitalWrite (MOTOR, TINGGI);
Serial.println ("Mesti disiram");
}
lain {
digitalWrite (MOTOR, RENDAH);
Serial.println ("TIDAK seharusnya menyiram");
}
kelewatan (1000);
}
Saya hanya menggunakan
-DTH suhu dan kelembapan pada pin 2
-fotoresis LDR pada pin A5
-motor pada pin 8
-Sensor untuk kelembapan tanah pada pin A0
ini adalah kod saya yang saya harap dan ia berfungsi untuk anda
- sensor kelembapan tanah
Selamat pagi, saya menghadapi masalah dengan kod, saya mendapatkannya dan saya menggunakan perisian terbaru:
sketch_nov12c: 1: 10: ralat maut: SimpleDHT.h: Tidak ada fail atau direktori seperti itu
#include
^ ~~~~~~~~~~~~
kompilasi ditamatkan.
status keluar 1
SimpleDHT.h: Tidak ada fail atau direktori seperti itu
Saya ingin anda membantu saya bagaimana menyelesaikannya, kerana saya masih baru ini, saya tidak tahu bagaimana ia berfungsi dengan baik. Terima kasih.
Halo, bolehkah anda memberikan gambaran yang lebih baik tentang bagaimana litar disambungkan? Ia tidak dihargai dengan baik, dengan voltan kuasa apa yang diberi? Terima kasih
#sertakan "DHT.h"
DHT dht (2, DHT11);
nilai intLDR;
int pinLDR = A5;
int ENJIN = 8;
// ——————————————————————————————————————————————-
persediaan tidak sah ()
{
Serial.begin (9600);
nilaiLDR = 0;
Serial.begin (9600);
Serial.println ("UJIAN SISTEM IRIGASI");
dht.begin ();
pinMode (MOTOR, OUTPUT);
Serial.println ("Nilai sensor kelembapan");
}
// ——————————————————————————————————————————————-
gelung kosong ()
{
Serial.println («============================================ = ========================= »);
// ——————————————————————————————–
// ———– Kelembapan, Sensor Tanah ——————————————————–
kelembapan int = analogRead (A0);
Serial.print ("Baca:");
Serial.println (kelembapan);
jika (kelembapan> = 0 & kelembapan> = 1000) {
Serial.println ("Sensor di tanah kering");
} lain jika (kelembapan> 500 & kelembapan <= 1000) {
Serial.println ("Sensor di tanah basah");
} lain jika (kelembapan <= 500) {
Serial.println ("Sensor di dalam air");
}
// ——————————————————————————————–
// ————— Tahan foto ———————————————————-
nilaiLDR = analogRead (pinLDR);
Cetakan bersiri ("LIGHT (");
Serial.print (valueLDR);
Bersiri.println (")");
kelewatan (2000);
// ——————————————————————————————–
// ————— Sensor DTH11 suhu dan kelembapan di udara —————————–
apungan h = dht.readHumidity ();
apungan t = dht.readTemperature ();
jika (isnan (h) || isnan (t)) {
Serial.println ("Gagal membaca sensor DHT11!");
kembali;
}
Serial.print ("Kelembapan:");
Cetakan bersiri (h);
Serial.print ("%");
Serial.print ("Suhu:");
Cetakan bersiri (t);
Serial.println ("* C");
// ——————————————————————————————–
// ———— Keadaan air atau tidak ke air ————————————————-
// (Kelembapan Udara) (Fotoresis) (Suhu) (Kelembapan Bumi)
jika (h <= 50 && LDRnilai <70 && t = 1000) {
digitalWrite (MOTOR, TINGGI);
Serial.println ("Mesti disiram");
}
lain {
digitalWrite (MOTOR, RENDAH);
Serial.println ("TIDAK seharusnya menyiram");
}
kelewatan (1000);
}
// sebaik sahaja pin memeriksa bahawa pam adalah pin pwm dan
// bahawa fotoresis LDR adalah analog dan juga kelembapan tanah sama dengan pin
// analog dan dth11 dari suhu dan kelembapan sensor udara apa sahaja
// pin digital masih boleh berdasarkan kod asal halaman ini
// untuk menyambungkan pin
// berfungsi dengan 5v
Saya mendapat ralat di bahagian kod ini »gelung kosong () {» dapat membantu saya
Helo, bolehkah anda memberitahu saya perpustakaan apa atau nama mereka untuk memasangnya kerana ketika saya menampal kod itu memberitahu saya bahawa saya memerlukan perpustakaan DTH
Helo, sistemnya nampak sangat baik. Saya cuba mencipta semula tetapi pada masa memasukkan kod dan perpustakaan yang sesuai berikut muncul.
Dalam fail yang disertakan dari C: \ Users \ User \ Documents \ Arduino \ TEST_1 \ TEST_1.ino: 5: 0:
C: \ Program Files (x86) \ Arduino \ library \ DHT-sensor-library-master / DHT_U.h: 36:10: ralat maut: Adafruit_Sensor.h: Tiada fail atau direktori seperti itu
#include
^ ~~~~~~~~~~~~~~~~~~
kompilasi ditamatkan.
status keluar 1
Kesalahan menyusun kad Arduino Uno.
Saya tidak pasti sama ada saya memerlukan kedai buku lain sekiranya ada yang dapat menolong saya.
Projek yang sangat bagus, namun setelah mengesahkan kodnya, menyusunnya dan memuat naiknya, satu-satunya perkara yang muncul di monitor bersiri adalah "pembacaan DHT11 gagal" ia tidak melampaui tahap itu
Helo, saya mempunyai beberapa masalah, bolehkah anda menolong saya dan jika seseorang mempunyai video atau saya menemui video terperinci yang dapat saya lihat
Saya mempunyai soalan, di mana untuk meletakkan arus dan jenis arus yang boleh digunakan.
Bolehkah anda menambah garis besar resolusi yang lebih tinggi? beberapa sambungan tidak dapat dilihat dengan jelas