الصيف هو الوقت الذي يميل فيه الكثيرون إلى الذهاب في إجازة في الخارج وتمثل النباتات مشكلة ، لأنها لا يمكن أن تكون كذلك الماء في تلك الأيام التي لا تكون فيها بالمنزل. بالإضافة إلى ذلك ، تبيع متاجر الحدائق عادة نوعًا من الجل الذي يرطب ويغذي النبات لمدة شهر تقريبًا. ولكن مع ارتفاع درجة الحرارة أو إذا غادرت لأكثر من شهر ، فستحتاج إلى نظام أفضل إلى حد ما بحيث تظل حية وقوية عند عودتك.
لكي يكون ذلك ممكنًا ، فإن الحل الموجود هو شراء نظام الري الآلي يمكنك برمجتها أو إذا كنت صانعًا وتحب تطبيق DIY ، فيمكنك القيام بذلك بنفسك باستخدام Arduino. من السهل العثور على المواد التي تحتاجها ، بخلاف لوحة Arduino ، وهي رخيصة جدًا ، لذا فهي لا تنطوي على تكلفة باهظة. أيضًا ، بالنسبة لبعض العناصر مثل خزان المياه ، وما إلى ذلك ، يمكنك استخدام المواد المعاد تدويرها ...
إذا كنت تتصفح الويب قليلاً فستجد مشاريع مختلفة من هذا النوع، ولكن ربما كان الأمر الأكثر إثارة للاهتمام جاردوينو. في هذا الصدد ، سأكون مصدر إلهام لهذا المشروع ، لأنني أعتبر أن أنظمة الري الأخرى التي تستخدم فقط مستشعرات الرطوبة ولا شيء آخر ليست كاملة.
ماذا تحتاج؟
الكثير المواد اللازمة لنظام الري الآلي الخاص بك هي:
- لا توجد منتجات، على الرغم من أن الآخرين يستحقون ذلك.
- اللوح أو ثنائي الفينيل متعدد الكلور إذا كنت تريد لحامها وجعلها دائمة.
- مستشعر درجة الحرارة والرطوبة لا توجد منتجات
- الكابلات
- الاستشعار YL-69 رطوبة على الأرض بمقياس الرطوبة لتلتصق بالوعاء / الأواني أو التربة.
- مضخة صغيرة 3V مياه غاطسة وتدفق تقريبي 120 لتر / ساعة.
- ديودو 1N4007
- الترانزستور ثنائي القطب PN2222
- 3 مقاومات: ١ × ٢٢٠ أوم ، ١ × ١ كيلو ، ١ × لا توجد منتجات
- خزان المياه، والتي يمكن أن تكون أسطوانة أو زجاجة سعة 5 لترات أو أكثر ، إلخ.
- توبو للاتصال بالمضخة الصغيرة والانتقال إلى المصنع / النباتات
كومو أفكار بديلة، أود أن أخبرك أنه يمكنك أيضًا استخدام وحدة سونوف أو وحدة WiFi لتنشيطها عبر الإنترنت من أي مكان ، أو تحسينها عن طريق إضافة صمام تلقائي إلى الصنبور لبرمجة ملء خزان المياه عند إفراغه ، إلخ.
كيفية تركيب نظام الري الآلي
التجميع بسيط للغاية. يمكنك استخدم التخطيطي أعلاه لإجراء جميع الاتصالات. يجب أن تضع نظامك في مكان بالقرب من النافذة أو في مكان النبتة التي تريد سقيها ولصق طرفي جهاز استشعار الرطوبة في تربة النبات بالقرب من الجذع.
نظام الري الأوتوماتيكي مع Arduino سوف يسقي عندما يكتشف a سلسلة من الظروف البيئية. على سبيل المثال ، عندما يكتشف ضوءًا منخفضًا أو ظلامًا ، تكون درجة حرارة الهواء ثابتة سنقوم بتكوينها في مخطط Arduino IDE ، وتكون الرطوبة على الأرض منخفضة. في تلك اللحظة يقوم بتنشيط المحرك لسقي النبات.
يُنصح بسقي النباتات ليلاً ، عندما يكون الجو أقل سخونة ، لأن القيام بذلك خلال الأيام الحارة الشديدة قد يضر أكثر مما ينفع ...
تذكر أنه يجب عليك أدخل المضخة الصغيرة تحت الماء في الخزان الذي خصصته للري ، ويجب أن يكون لديه قدرة كافية على الاحتفاظ بالأيام التي لم تكن فيها. يمكنك القيام باختبارات سابقة لمعرفة المدة التي تستغرقها ويجب ترك القليل من الماء في حالة تبخره مع الحرارة الشديدة ...
وغني عن القول أنه يجب تثبيت الأنبوب في النبات حتى لا يتحرك مع الريح أو تسقط المياه وتضيع. وأعتقد أنه لن يكون من الضروري أن تتذكر أنه يتعين عليك الاحتفاظ بمصدر حالي للوحة Arduino حتى تعمل ...
برمجة
الآن هو الوقت الذي يجب أن تكتب فيه كود مطلوب في Arduino IDE لتتمكن من برمجة المتحكم الدقيق الذي يدير الأجهزة التي استخدمتها. هذا هو الوقت المناسب لتكييف قيم درجة الحرارة والرطوبة والضوء المناسبة مع المياه في منطقتك ، حيث يمكن أن تختلف حسب مكان وجودك. لكن المثال الذي يمكنك استخدامه كأساس هو (لقد تركت تعليقات حيث يمكنك تعديل القيم ، والباقي يمكنك تركه على هذا النحو):
#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 }
معلومات اكثر - دورة برمجة اردوينو (ملف PDF مجاني)
المصادر
معلومات اكثر - جاردوينو
لماذا أخرج من حالة الخروج 1
#include يتوقع "FILENAME" أو ESO ON LOAD
مرحبا،
يرجع هذا الخطأ إلى مشكلة في بناء الجملة في الكود. لقد مررت به وكان لدي خطأ. الآن يجب أن يكون على ما يرام.
تحياتي!
مرحبًا ، مساء الخير ، لدي نفس المشكلة أيضًا:
المشروع: 3:10: الخطأ: #include يتوقع "FILENAME" أو
# تضمين <SimpleDHT.h>
^
المشروع: 4:10: الخطأ: #include يتوقع "FILENAME" أو
# تضمين <SPI.h>
^
حالة الخروج 1
#include يتوقع "FILENAME" أو
مرحبًا ، عفوا ، هل يمكنك مساعدتي في حدوث خطأ في الكود
بنفس الطريقة ، لدي خطأ في الرمز ، هل يمكنك مساعدتي في حل هذه المشكلة من فضلك
مرحبا،
الرجاء ترك معلومات عن الخطأ الذي لديك حتى أتمكن من المساعدة. إذا كنت لا أعرف محتوى الخطأ ، فمن الصعب علي مساعدتك أو تحديد مكان المشكلة ...
تحيات
مرحبًا ، يظهر هذا الخطأ ، كيف يمكنني حله؟
خطأ: SimpleDHT.h: لا يوجد مثل هذا الملف أو الدليل
تتضمن #
^ ~~~~~~~~~~~~
التجميع انتهى.
حالة الخروج 1
SimpleDHT.h: لا يوجد مثل هذا الملف أو الدليل
مرحبا سامانثا ،
هذا الخطأ لأن Arduino IDE لا يبدو أنه يكتشف مكتبة SimpleDHT.h. هل قمت بتثبيته بشكل صحيح؟ إذا كان لديك ، فحاول استخدام إصدار أحدث من Arduino IDE إذا كان أقدم ...
يمكنك عرض المزيد من المعلومات هنا:
https://www.arduino.cc/en/Guide/Libraries
واحصل على المكتبة من هنا:
https://github.com/adafruit/DHT-sensor-library
تحياتي!
شكراً أولاً على المنشور المثير للاهتمام للغاية وصالح للغاية ، لكني قرأت هذا:
"يُنصح بسقي النباتات ليلاً ، عندما يكون الجو أقل سخونة ، لأن القيام بذلك خلال الأيام الحارة الشديدة قد يضر أكثر مما ينفع ..."
لقد سمعت هذا مرات عديدة ، ولكن أود أن يشرح لي أحدهم بوضوح كيف يؤلمهم…. لقد قمت بتربية النباتات منذ أكثر من 20 عامًا ، وعندما يكون الجو حارًا جدًا ، لا يوجد شيء يقدرونه أكثر من الري الجيد وأن يكونوا قادرين على أن يكونوا مع رشاش يبلل الأوراق.
هذه خرافة مفادها أن كل ما يفعله هو جعل النباتات تعاني ... عندما تكون حارًا وعطشًا ، هل تنتظر حتى الليل لتشرب؟ ... فكر في الأمر
شكرا على المنشور !!!
مرحبا بيبي ،
شكرا لمساهمتك. أنا أعيش في الريف وأحيانًا عندما تكون الحرارة شديدة جدًا ، فإن سقي النباتات في ساعات الحارة يمكن أن يقتلها. لقد تحققت منه بنفسي (بالإضافة إلى أنه ليس هو نفسه اعتمادًا على المنطقة الجغرافية التي تتواجد فيها ، حيث يكون الجو حارًا جدًا في أرضي). يمكن أن يكون لعدة أسباب:
1- لأن قطرات الماء على الأوراق تتصرف كالزجاج تحرقها بأشعة الشمس كما تفعل العدسة المكبرة.
2-النباتات لها ثغور متقاربة حتى لا تجف عندما تكون مشمسة. إذا قمت بسقيها ، فإنها تفتح ويمكن أن تسبب جفافها.
3-إذا كانوا في إناء بلاستيكي ، فقد يكون التأثير أسوأ.
تحياتي!
مرحبا!
لقد أحببت حقًا المشروع المفصل ، ولدي حديقتي الخاصة وأنا أختبر هذا المشروع كتجربة شخصية ، دون الحصول على فائدة مربحة ، أردت فقط أن أسألك عما إذا كنت ستساعدني في الكود ، لأنه يعطيني خطأ ، لدي مكتبة DHT ولكن عند التحقق من ذلك ، ألقى خطأ في نهاية الكود: {Serial.println ("توقف الري") ؛} ويخبرني أنه: stray '\ 342' في البرنامج.
لدي معرفة قليلة جدًا بالمسألة وقد حققت ولم أتمكن من حلها.
سأكون ممتنا لو ساعدتني. شكرا 😀
مرحبا،
هل الكود صحيح؟ أي أنه لا يوجد به أخطاء مطبعية؟
من ناحية أخرى ، يمكنك التحقق من المزيد حول هذا الخطأ هنا:
https://forum.arduino.cc/index.php?topic=386225.0
تحيات
مرحبًا ، مساء الخير ، آسف ، لا أعرف ما إذا كانت هناك طريقة للاتصال بك ، فهي تعطيني العديد من الأخطاء مع هذا الرمز في اردوينو
مرحبا بالجميع،
لقد قمت بتنظيف الكود وقمت بكتابته مرة أخرى ، لمعرفة ما إذا كانت هناك أية أخطاء لسبب ما في الكود المعروض على الويب. حتى يمكن تنزيله ، تركت الرمز الجديد في رابط التنزيل قبل الرمز الذي يظهر على الويب مباشرةً. إذا قمت بالنقر فوق هناك يمكنك تنزيله بتنسيق نصي. آمل ألا يكون هناك المزيد من المشاكل.
تحياتي!
كيف يمكنني إضافة وحدة wifi؟ وهل من الممكن التحكم فيه من خلال تقديم طلب؟
كيف هو الطعام ايضا: ج؟
مرحبا شاكى! أحاول أن أفعل نفس الشيء مثلك ، هل يمكنك مساعدتي إذا انتهيت من الكود ؟؟؟؟
سؤال ما هو المكون الذي سيكون بين لوحة Arduino ومستشعر DHT11؟
شكرا لك!
مرحبا نيريا ،
تقصد الصمام الثنائي والمقاوم؟ لاحظ أنه يوجد في القسم الذي يسبق الرسم البياني قائمة بجميع المكونات ...
تحياتي!
مرحبًا ، لديك مقطع فيديو يوضح كيف كان نظام الري الخاص بك.؟
المعذرة يعمل فقط ل arduino uno أو أيضا لاردوينو ميجا
مرحبًا صباح الخير ، آسف لأني أردت طرح سؤال لماذا عندما أفتح شاشة Arduino ID ، أحصل على قراءة مستشعر dht11 فاشلة؟
تم تجميع البرنامج بالكامل جيدًا وتحميله جيدًا ، والتفاصيل هي عندما أفتح الشاشة وتظهر هذه وسيلة الإيضاح.
ماذا يمكن أن يكون؟
HELLO FRIEND GREAT JOB ولكنه يعطي خطأ في هذا الجزء لا يوجد مثل هذا الملف أو الدليل
تتضمن #
ماذا سيكون؟ انا اقدر مساعدتك
مرحبًا ، هذا عام ، ولكن لا يهم ، أريد حقًا أن أشكر الشخص أو الأشخاص الذين شاركوا في تطوير هذا المشروع ، ربما بالنسبة للكثيرين ، إنه أمر غير لائق ، لكنك أنقذت حياتي ، لذا أشكرك مدرسة لا أريد أن أنتمي إليها والحقيقة لا آسف لأنني تعلمتها ، أشكرك على صفحتك ، أتمنى لك الأفضل.
كيف يمكنني إضافة وحدة wifi؟ وهل من الممكن التحكم فيه من خلال تقديم طلب؟
# تضمين "DHT.h"
DHT dht (2 ، DHT11) ؛
قيمة int
int pinLDR = A5 ؛
int MOTOR = 8 ؛
// ——————————————————————————————————————————————-
الإعداد باطل()
{
Serial.begin (9600) ؛
valueLDR = 0 ؛
Serial.begin (9600) ؛
Serial.println ("اختبار نظام الري") ؛
dht.begin () ،
pinMode (المحرك ، الإخراج) ؛
Serial.println ("قيمة مستشعر الرطوبة") ؛
}
// ——————————————————————————————————————————————-
حلقة فارغة()
{
Serial.println («============================================ = ========================== »)؛
رطوبة int = analogRead (A0) ؛
Serial.print ("قراءة:") ؛
Serial.println (الرطوبة) ؛
إذا كانت (الرطوبة> = 0 & الرطوبة> = 1000) {
Serial.println ("جهاز استشعار في التربة الجافة") ؛
} وإلا إذا كانت (الرطوبة> 500 & الرطوبة <= 1000) {
Serial.println ("جهاز استشعار في التربة الرطبة") ؛
} وإلا إذا (الرطوبة <= 500) {
Serial.println ("جهاز استشعار في الماء") ؛
}
valueLDR = analogRead (pinLDR) ،
Serial.print ("LIGHT (") ؛
Serial.print (valueLDR) ؛
Serial.println (")") ؛
تأخير (2000) ؛
تعويم h = dht.readHumidity () ؛
تعويم t = dht.readTemperature () ،
إذا (isnan (h) || isnan (t)) {
Serial.println ("فشل قراءة مستشعر DHT11!") ؛
العودة؛
}
Serial.print ("الرطوبة:") ؛
Serial.print (ح) ؛
Serial.print ("٪") ؛
Serial.print ("درجة الحرارة:") ؛
Serial.print (t) ؛
Serial.println ("* C") ؛
إذا (h <= 50 && LDRvalue <70 && t = 1000) {
digitalWrite (محرك ، عالية) ؛
Serial.println ("must water") ؛
}
آخر
الكتابة الرقمية (MOTOR ، LOW) ؛
Serial.println ("لا ينبغي الماء") ؛
}
تأخير (1000) ؛
}
لقد استخدمت فقط ملف
- DTH لدرجة الحرارة والرطوبة على الدبوس 2
-مقاوم الضوء LDR على دبوس A5
-موتور على دبوس 8
-جهاز استشعار رطوبة التربة على دبوس A0
هذا هو الكود الخاص بي الذي أتمناه وهو يعمل من أجلك
- حساس الرطوبة للتربة
صباح الخير ، أواجه مشكلات في الكود الذي أحصل عليه وأنا أستخدم أحدث البرامج:
sketch_nov12c: 1: 10: خطأ فادح: SimpleDHT.h: لا يوجد مثل هذا الملف أو الدليل
تتضمن #
^ ~~~~~~~~~~~~
التجميع انتهى.
حالة الخروج 1
SimpleDHT.h: لا يوجد مثل هذا الملف أو الدليل
أود منكم مساعدتي في كيفية حل هذا من فضلك ، لأنني جديد على هذا ولا أعرف كيف يعمل بشكل جيد. شكرا.
مرحبًا ، هل يمكنك ترك صورة أفضل لكيفية توصيل الدائرة؟ لا يتم تقديرها جيدًا ، مع أي جهد إمداد يتم تغذيته؟ شكرا
# تضمين "DHT.h"
DHT dht (2 ، DHT11) ؛
قيمة int
int pinLDR = A5 ؛
int MOTOR = 8 ؛
// ——————————————————————————————————————————————-
الإعداد باطل()
{
Serial.begin (9600) ؛
valueLDR = 0 ؛
Serial.begin (9600) ؛
Serial.println ("اختبار نظام الري") ؛
dht.begin () ،
pinMode (المحرك ، الإخراج) ؛
Serial.println ("قيمة مستشعر الرطوبة") ؛
}
// ——————————————————————————————————————————————-
حلقة فارغة()
{
Serial.println («============================================ = ========================== »)؛
// ——————————————————————————————–
// ———– مستشعر الرطوبة والتربة —————————————————–
رطوبة int = analogRead (A0) ؛
Serial.print ("قراءة:") ؛
Serial.println (الرطوبة) ؛
إذا كانت (الرطوبة> = 0 & الرطوبة> = 1000) {
Serial.println ("جهاز استشعار في التربة الجافة") ؛
} وإلا إذا كانت (الرطوبة> 500 & الرطوبة <= 1000) {
Serial.println ("جهاز استشعار في التربة الرطبة") ؛
} وإلا إذا (الرطوبة <= 500) {
Serial.println ("جهاز استشعار في الماء") ؛
}
// ——————————————————————————————–
// ——————————————————————————————-
valueLDR = analogRead (pinLDR) ،
Serial.print ("LIGHT (") ؛
Serial.print (valueLDR) ؛
Serial.println (")") ؛
تأخير (2000) ؛
// ——————————————————————————————–
// ————— حساس درجة الحرارة والرطوبة DTH11 في الهواء ——————————–
تعويم h = dht.readHumidity () ؛
تعويم t = dht.readTemperature () ،
إذا (isnan (h) || isnan (t)) {
Serial.println ("فشل قراءة مستشعر DHT11!") ؛
العودة؛
}
Serial.print ("الرطوبة:") ؛
Serial.print (ح) ؛
Serial.print ("٪") ؛
Serial.print ("درجة الحرارة:") ؛
Serial.print (t) ؛
Serial.println ("* C") ؛
// ——————————————————————————————–
// ———— حالة الماء أو عدمه ———————————————-
// (رطوبة الهواء) (مقاوم ضوئي) (درجة حرارة) (رطوبة الأرض)
إذا (h <= 50 && LDRvalue <70 && t = 1000) {
digitalWrite (محرك ، عالية) ؛
Serial.println ("must water") ؛
}
آخر
الكتابة الرقمية (MOTOR ، LOW) ؛
Serial.println ("لا ينبغي الماء") ؛
}
تأخير (1000) ؛
}
// بمجرد أن تتحقق الدبابيس من أن المضخة عبارة عن دبوس pwm و
// أن مقاوم الضوء LDR هو تناظري وكذلك رطوبة التربة تساوي دبوسًا
// التناظرية وتلك الخاصة بـ dth11 لمستشعر درجة حرارة الهواء والرطوبة أيا كان
// لا يزال من الممكن أن تستند الدبابيس الرقمية إلى الكود الأصلي لهذه الصفحة
// لتوصيل الدبابيس
// يعمل مع 5 فولت
أحصل على خطأ في هذا الجزء من الكود »حلقة فارغة () {» يمكن أن تساعدني
مرحبًا ، هل يمكن أن تخبرني ما هي المكتبات أو ما هو اسمها لتثبيتها منذ أن ألصق الرمز يخبرني أنني بحاجة إلى مكتبة DTH
مرحبًا ، يبدو النظام جيدًا جدًا. حاولت إعادة إنشائه ولكن في وقت تضمين الرمز والمكتبة المقابلة ، يظهر ما يلي.
في الملف المضمن من C: \ Users \ User \ Documents \ Arduino \ TEST_1 \ TEST_1.ino: 5: 0:
C: \ Program Files (x86) \ Arduino \ libraries \ DHT-sensor-library-master / DHT_U.h: 36:10: خطأ فادح: Adafruit_Sensor.h: لا يوجد مثل هذا الملف أو الدليل
تتضمن #
^ ~~~~~~~~~~~~~~~~~~~
التجميع انتهى.
حالة الخروج 1
خطأ في تجميع البطاقة Arduino Uno.
لست متأكدًا مما إذا كنت بحاجة إلى أي مكتبة أخرى إذا كان هناك شخص يمكنه مساعدتي من فضلك.
مشروع جيد جدًا ، ولكن بعد التحقق من الكود وتجميعه وتحميله ، فإن الشيء الوحيد الذي يظهر على الشاشة التسلسلية هو "فشل قراءة DHT11" لا يتجاوز هذه النقطة
مرحبًا ، لدي العديد من المشكلات ، هل يمكنك مساعدتي وإذا كان لدى شخص ما مقطع فيديو أو عثرت على مقطع فيديو مفصل يمكنني رؤيته
لدي سؤال ، أين أضع التيار وما نوع التيار الذي يمكن استخدامه.
هل يمكنك إضافة مخطط تفصيلي أعلى دقة؟ بعض الوصلات غير مرئية بوضوح