المنتجات
خدمة العملاء +8618073152920البريد الإلكتروني: sales@niubol.com
الهاتف / WhatsApp: +8615367865107
العنوان: الغرفة 102، المبنى D، مجمع هوهو الصناعي، حي يويلو، مدينة تشانغشا، مقاطعة هونان، الصين
الدعم الفني
الوقت:2024-06-29 21:07:28 المشاهدات:5472
حساس رطوبة التربة 8 في 1Rs485 لاردوينو
في هذا الدليل، سنستكشف كيفية ربط مستشعر درجة حرارة ورطوبة التربة 8 في 1 مع Arduino باستخدام بروتوكول RS485. سيسمح لنا هذا الإعداد بمراقبة محتوى الرطوبة ودرجة حرارة التربة، وهي عوامل حاسمة للزراعة والبستنة.
تقوم أجهزة استشعار رطوبة التربة بقياس محتوى الماء الحجمي في التربة. ومن خلال فهم مستويات الرطوبة، يمكن للمزارعين والبستانيين اتخاذ قرارات مستنيرة بشأن الري، مما يضمن النمو الأمثل للنباتات. تلعب درجة حرارة التربة أيضًا دورًا مهمًا في صحة النبات، مما يؤثر على نمو الجذور وامتصاص العناصر الغذائية.
في هذا المشروع، سوف نستخدم جهاز استشعار رطوبة ودرجة حرارة التربة Niubol8 في 1، والذي تم تصميمه خصيصًا للقياسات الأرضية.
لذلك نحن نستخدم مستشعر التربة من الدرجة الصناعية لهذا المشروع. لربط المستشعر مع Arduino، سنستخدم بروتوكول الاتصال RS485. سيتم عرض البيانات من مستشعر رطوبة ودرجة حرارة التربة على شاشة OLED متصلة بالاردوينو.
فيما يلي الأسلاك الأربعة للمستشعر:
السلك البني: VCC (5 فولت - 24 فولت)
السلك الأسود: GND
السلك الأصفر:RS485-A
السلك الأزرق:RS485-B
المتطلبات:
الأجهزة
DFRduino UNO R3 (أو ما شابه) × 1
RS485 درع لاردوينو x1
مستشعر التربة RS485(درجة الحرارة والرطوبة وECوالملوحة وPhوNPK) × 1
البرمجيات:
اردوينو بيئة تطوير متكاملة
فيما يلي تعيين اتصال بين MAX485 ومستشعر درجة حرارة رطوبة التربة.
VCC -> 5 فولت (مستشعر التربة)
GND -> GND (مستشعر التربة)
أ (MAX485) -> مستشعر التربة دبوس (لون أصفر)
B (MAX485) -> دبوس B لمستشعر التربة (لون أزرق)
اتصال حساس درجة حرارة رطوبة التربة مع الاردوينو. يمكنك استخدام اللوح للتجميع وأسلاك التوصيل لتوصيل المستشعر ووحدة RS485 مع Arduino.
كود المصدر/برنامج لقراءة 8 في 1 رطوبة التربة ودرجة حرارتها
برنامج كود المصدر لقراءة مستشعر رطوبة التربة.txt
#تشمل
// تحديد دبابيس اتصال RS485
#تعريف ريال عماني 2
#تعريف دي 3
#تعريف ري 8
#تعريف دي 7
#تعريف_الاستجابة_الإطار_الحجم 21
مستشعر الحرفDataTextBuffer[200]؛
بناء SoilSensorData
{
المنطق هوSensorTimeout{false};
المنطق صالح{false};
تعويم درجة الحرارة{-1.0}؛
تعويم الرطوبة{-1.0}؛
الموصلية int غير الموقعة{-1}؛
تعويمph{-1.0}؛
النيتروجين الدولي غير الموقع{-1}؛
الفوسفور غير الموقع{-1}؛
البوتاسيوم الدولي غير الموقع{-1}؛
الملوحة غير الموقعة{-1}؛
};
فئة مستشعر التربة
{
عام:
مستشعر التربة()
{
modbus= new SoftwareSerial(RO, DI);
}
تهيئة باطلة ()
{
Serial.begin(9600);// تهيئة الاتصال التسلسلي لتصحيح الأخطاء
modbus->begin(9600); // تهيئة الاتصال التسلسلي للبرنامج بمعدل باود 9600
pinMode(RE, OUTPUT); // قم بتعيين دبوس RE كمخرج
pinMode(DE, OUTPUT); // تعيين DE pi
}
باطلة sendDataRequest ()
{
الكتابة الرقمية (DE، عالية)؛
الكتابة الرقمية (RE، HIGH)؛
تأخير (10)؛
// أرسل إطار الطلب إلى مستشعر التربة
modbus->write(soilSensorRequest, sizeof(soilSensorRequest));
}
قراءة بيانات مستشعر التربة ()
{
SoilSensorData SoilSensorData;
// قم بإنهاء وضع الإرسال وضبط وضع الاستلام لـ RS485
الكتابة الرقمية (DE، LOW)؛
الكتابة الرقمية (RE، LOW)؛
تأخير (10)؛
// انتظر استجابة المستشعر أو المهلة بعد ثانية واحدة
وقت البدء الطويل غير الموقع = ميلي ()؛
بينما (modbus->available() < RESPONSE_FRAME_SIZE && millis() - وقت البدء < 1000)
{
تأخير (1)؛
}
إذا (modbus->available() >= RESPONSE_FRAME_SIZE) // في حالة تلقي استجابة صالحة
{
// اقرأ الاستجابة من المستشعر
مؤشر البايت = 0؛
بينما (modbus->متوفر () && فهرس { SoilSensorResponse[index]=modbus->read(); الفهرس++; } SoilSensorData = computeData(); } آخر { SoilSensorData.isSensorTimeout = true; } إرجاع بيانات استشعار التربة؛ } ~مستشعر التربة() { إذا (modbus!= nullptr) احذف modbus؛ حذف[] استجابة مستشعر التربة؛ } خاص: const بايت التربةSensorRequest[8]={0x01, 0x03, 0x00, 0x00, 0x00, 0x08, 0x44, 0x0C}; SoftwareSerial*modbus= nullptr; بايت التربةSensorResponse[RESPONSE_FRAME_SIZE]؛ int ConvertBytesToDecimal (إزاحة int غير الموقعة) { عودة التربةSensorResponse[offset]* 256 + SoilSensorResponse[offset + 1]; } SoilSensorData computeData() const { SoilSensorData SoilSensorData; إذا (soilSensorResponse[0]!= 1 || SoilSensorResponse[1]!= 3 || SoilSensorResponse[2]!= 16) { SoilSensorData.isValid = false; إرجاع بيانات استشعار التربة؛ } SoilSensorData.isValid = true; SoilSensorData.temperature = converterBytesToDecimal(3) / 10.0; // درجة مئوية SoilSensorData.humidity = converterBytesToDecimal(5) / 10.0; // بالمائة SoilSensorData.conductivity = converterBytesToDecimal(7);// ميكروسيمنز لكل سنتيمتر SoilSensorData.ph= ConvertBytesToDecimal(9) / 100.0; SoilSensorData.nitrogen = converterBytesToDecimal(11); // مليجرام لكل كيلوجرام SoilSensorData.phosphorus = converterBytesToDecimal(13); // مليجرام لكل كيلوجرام SoilSensorData.potassium = converterBytesToDecimal(15); // مليجرام لكل كيلوجرام SoilSensorData.salinity = converterBytesToDecimal(17); // مليجرام لكل كيلوجرام إرجاع بيانات استشعار التربة؛ } }; مستشعر التربة مستشعر التربة؛ كتابة باطلةSensorDataToString(SoilSensorData وsensorData) { إذا (sensorData.isSensorTimeout) { sprintf(sensorDataTextBuffer, "بيانات غير مكتملة أو انتهاء مهلة المستشعر"); } آخر { إذا (sensorData.isValid) { char* tempStr = malloc(6 * sizeof(char)); char* الرطوبةStr = malloc(6 * sizeof(char)); char* phStr = malloc(6 * sizeof(char)); dtostrf(sensorData.temperature, 4, 1, tempStr); dtostrf(sensorData.humidity, 4, 1, الرطوبةStr); dtostrf(sensorData.ph, 4, 2, phStr); الموصلية التلقائية = بيانات الاستشعار. auto n = SensorData.nitrogen; auto p = SensorData.phosphorus; auto k = SensorData.potassium; الملوحة التلقائية = SensorData.salinity؛ sprintf(sensorDataTextBuffer, "درجة الحرارة: %s; الرطوبة: %s;الموصلية: %u؛PH: %s; ن: %u؛ ف: %u؛ ك: %u؛ الملوحة: %u"، درجة الحرارة، الرطوبة، الموصلية، phStr، n، p، k، الملوحة)؛ if (tempStr!= NULL) free(tempStr); if (humidityStr!= NULL) free(humidityStr); if (phStr!= NULL) free(phStr); } آخر { sprintf(sensorDataTextBuffer, "البيانات المقروءة من المستشعر غير صالحة"); } } } إعداد باطل () { SoilSensor.initialise(); } حلقة باطلة () { SoilSensor.sendDataRequest(); SoilSensorData SensorData = SoilSensor.read(); writeSensorDataToString(sensorData); Serial.println(sensorDataTextBuffer); تأخير (2000)؛ // انتظر ثانية قبل تكرار الحلقة التالية } شكرًا لفيل أوجون على الكود! مستشعر التربة 8 في 1 عبارة عن مستشعر يدمج معلمات متعددة مثل درجة الحرارة والرطوبة والموصلية وNPK والملوحة وPH. باستخدام هذا المستشعر، يمكن للمستخدمين الوصول بسهولة إلى بيانات رئيسية متعددة للتربة، مما يساعدهم على فهم حالة التربة بشكل أفضل وإجراء التعديلات واتخاذ القرارات وفقًا لذلك. من خلال قياس ثابت العزل الكهربائي للتربة، فإنه يمكن أن يعكس بشكل مباشر وثابت محتوى الرطوبة الحقيقي لمختلف أنواع التربة. إنها مناسبة لمراقبة رطوبة التربة، والتجارب العلمية، والري الموفر للمياه، والدفيئات الزراعية، والزهور والخضروات، والمراعي العشبية، واختبار التربة السريع، وزراعة النباتات، ومعالجة الصرف الصحي، والزراعة الدقيقة وغيرها من المناسبات.مصدر طاقة إدخال المستشعر، مسبار الاستشعار، إخراج الإشارة ثلاثة أجزاء معزولة تمامًا، آمنة وموثوقة، مظهر جميل، سهل التركيب، المسبار مصنوع من الفولاذ المقاوم للصدأ، مقاوم للتآكل، أداء مستقر. 1. ورقة بيانات مستشعر رطوبة درجة حرارة التربةNBL-S-THR 2. ورقة بيانات مستشعرNBL-S-TMCودرجة حرارة التربة والرطوبة 3. ورقة بيانات مستشعر درجة حرارة رطوبة التربةNBL-S-TM 4. جهاز استشعار متكامل لدرجة حرارة التربة والرطوبة والموصلية والملوحة 5.NBL-S-TMCS-7درجة حرارة التربة، والرطوبة، وNPK، والموصلية، ومستشعرpHالمتكامل 4.NBL-S-TMCS-8درجة حرارة التربة، الرطوبة، NPK،pH، مستشعر متكامل للتوصيل والملوحةورقة بيانات مستشعر التربة:
NBL-S-THR-Soil-temperature-and-moisture-sensors-Instruction-Manual-V4.0.pdf
NBL-S-TMC-Soil-temperature-and-moisture-conductivity-sensor.pdf
NBL-S-TM-Soil-temperature-and-moisture-sensor-Instruction-Manual-4.0.pdf
NBL-S-TMCS-Soil-Temperature-Humidity-Conductivity-and-Salinity-Sensor.pdf
دليل مستشعر التربة المركب 7 في 1.pdf
توصيات ذات صلة
كتالوجات المستشعرات ومحطات الطقس
كتالوج المستشعرات الزراعية ومحطات الطقس - NiuBoL.pdf
كتالوج محطات الطقس - NiuBoL.pdf
كتالوج المستشعرات الزراعية - NiuBoL.pdf
كتالوج مستشعرات جودة المياه - NiuBoL.pdf
منتجات ذات صلة
جهاز استشعار درجة حرارة الهواء والرطوبة النسبية المدمج
مستشعر درجة حرارة رطوبة التربة للري| NBL-S-THR
مستشعر التربة pH RS485 أداة اختبار التربة مقياس درجة الحموضة للتربة للزراعة | NBL-S-PH
مخرج مستشعر سرعة الرياح Modbus / RS485 /تناظري/0-5 فولت/4-20 مللي أمبير مستشعر سرعة الرياح
مقياس المطر دلو البقشيش لمراقبة الطقس مستشعر هطول الأمطار التلقائي RS485 /في الهواء الطلق/الفولاذ المقاوم للصد···
مستشعر الإشعاع الشمسي Pyranometer 4-20mA/ RS485
امسح رمز QR باستخدام WhatsApp
رقم WhatsApp:+8615367865107
(انقر لنسخ الرقم وإضافته في WhatsApp)