سنسور رطوبت خاک Capacitive Soil Moisture V2.0
سنسور رطوبت خاک خازنی، رطوبت سطح خاک را اندازه گیری میکند. بر خلاف دیگر سنسورهای رایج برای اندازه گیری رطوبت خاک این سنسور از روکش مناسب برای جلوگیری از زنگ زدگی و آسیب پذیری در برابر خاک و آب ساخته شده است. سنسور دارای رگولاتور ولتاژ روی برد است که میتواند در ولتاژهای ۳٫۳ تا ۵ ولت کار کند و به همین دلیل با اکثریت میکروکنترلرها قابلیت تست و راه اندازی دارد. در ساختار ماژول یک اسیلاتور فرکانس ثابت وجود دارد که با آی سی تایمر ۵۵۵ ساخته شده است. هر چه رطوبت خاک بیشتر باشد، ظرفیت سنسور بالاتر است.
در نتیجه، واکنش کمتری نسبت به موج مربعی وجود دارد، بنابراین ولتاژ روی خط سیگنال کاهش می یابد. ولتاژ افتاده بر روی سیگنال آنالوگ را می توان با یک پایه آنالوگ توسط میکروکنترلی مثل برد آردوینو اندازه گیری کرد که نشان دهنده رطوبت خاک است. یک پالس را از طریق یک مقاومت ارسال شده و سپس به حسگر ارسال میشود که مانند یک خازن (دو میله افقی) عمل میکند. هنگامی که خازن شارژ می شود، شروع به تخلیه می کند. مدت زمان این فرآیند توسط سنسور اندازه گیری می شود. اندازه گیری زمان توسط تراشه ۵۵۵ انجام می شود.
سنسور خازنی رطوبت با اندازه گیری تغییرات خازنی ناشی از تغییرات دی الکتریک کار می کند. این سنسور در اصل رطوبت خاک را به صورت مستقیم اندازه گیری نمیکند بلکه یونهای حل شده در رطوبت را اندازهگیری میکند. اندازه گیری بر حسب خازن، به طور کلی دی الکتریکی را که توسط خاک تشکیل می شود اندازه گیری می کند و آب مهمترین عاملی است که دی الکتریک را تحت تأثیر قرار می دهد. این ظرفیت خازنی اندازه گیری شده توسط تایمر ۵۵۵ استفاده شده در ساختار سنسور انجام میشود. سپس ولتاژ توسط مبدل ADC یعنی آنالوگ به دیجیتال اندازه گیری میشود که مقداری را تولید می کند که ما آن را به عنوان درصد رطوبت خاک نشان می دهیم.
ویژگی های سنسور رطوبت خاک خازنی
- ولتاژ کاری از ۳٫۳ تا ۵ ولت dc
- ولتاژ خروجی آنالوگ: از صفر تا ۳ ولت dc
- دارای کابل سه سیمه برای ارتباط با میکروکنترلر
- اینترفیس: PH2.0-3P
- محدودهی اندازهگیری: محدودهی اندازهگیری رطوبت ممکن است متفاوت باشد، اما به طور معمول برای اندازهگیری رطوبت خاک از 0٪ (خاک خشک) تا 100٪ (خاک اشباع) طراحی شده است.
- خروجی: ولتاژ خروجی آنالوگ که با سطح رطوبت اندازهگیری شده متناظر است. محدودهی ولتاژ ممکن است متغیر باشد، اما به طور معمول در محدودهی ولتاژ عملکرد قرار دارد.
- دقت: دقت خواندن رطوبت سنسور میتواند به وابستگی از عوامل مختلفی از جمله کالیبراسیون و شرایط محیطی، متغیر باشد. به طور معمول، دقت آن در چند درصد از محتوای واقعی رطوبت قرار دارد.
- زمان پاسخگویی: زمانی که سنسور پس از وارد شدن به خاک یک خواندن پایدار رطوبت را ارائه میدهد. ممکن است متغیر باشد، اما به طور کلی در محدودهی چند ثانیه تا چند دقیقه قرار دارد.
- طول پراب: طول پروب یا قلابهای سنسور که در خاک وارد میشوند، میتواند متغیر باشد، اما به طور معمول طولهای رایج در حدود 5 تا 10 سانتیمتر است.
- محدودهی دمای عملکرد: محدودهی دمایی که سنسور به طور قابل اعتماد در آن عمل میکند. این محدوده معمولاً توسط تولید کننده مشخص میشود و معمولاً میتواند در محدودهی -10 درجه سانتیگراد تا 60 درجه سانتیگراد (14 درجه فارنهایت تا 140 درجه فارنهایت) قرار داشته باشد.
- ضدآب بودن: برخی نسخههای سنسور ممکن است دارای ویژگیهای ضدآب یا مقاوم در برابر آب باشند که اجازه میدهد آنها در معرض رطوبت قرار گیرند بدون اینکه عملکرد آنها تحت تأثیر قرار بگیرد.
- سازگاری: به طور کلی، سنسور سازگاری خوبی با میکروکنترلرها، بردهای توسعه و سیستمهایی که ورودی آنالوگ را پشتیبانی میکنند دارد. آن میتواند با پلتفرمهای محبوبی مانند آردوینو (Arduino)، رزبری پای (Raspberry Pi) و سایر دستگاههای مشابه کار کند.
بررسی پایه های سنسور رطوبت خاک خازنی
VCC: این پین برای تامین تغذیه به سنسور استفاده میشود. آن را به ولتاژ مناسب تامین برق (مانند 3.3 ولت یا 5 ولت) میکروکنترلر یا برد توسعهتان متصل کنید.
GND: این پین به اتصال زمین (GND) استفاده میشود. آن را به پین زمین میکروکنترلر یا برد توسعهتان وصل کنید.
خروجی آنالوگ: این پین ولتاژ خروجی آنالوگ را ارائه میدهد که با سطح رطوبت خاک اندازهگیری شده متناظر است. این پین را به پین ورودی آنالوگ میکروکنترلر یا برد توسعهتان وصل کنید.
عدم اتصال (NC): برخی نسخههای سنسور ممکن است پینهای اضافی داشته باشند که اتصال داده نشده و یا استفاده نشدهاند. این پینها میتوانند بیارتباط باقی بمانند.
به همراه سنسور رطوبت خاک خازنی چه اقلامی باید خریداری شود؟
- برد آردوینو یا سایر میکروکنترلرها
- کابل فلت و برد بورد
- نمایشگر LCD , OLED
- رله
- پمپ آب
راه اندازی سنسور رطوبت خاک با آردوینو
در این کد، ما تعیین پینها برای خروجی آنالوگ سنسور (moistureSensorPin) و یک LED (ledPin) برای نمایش تصویری را تعریف میکنیم. در تابع setup()، ما ارتباط سریال را مقداردهی اولیه کرده و پین LED را به عنوان یک خروجی تنظیم میکنیم.در داخل تابع loop()، ما مقدار آنالوگ را از سنسور با استفاده از تابع analogRead() میخوانیم. سپس، مقدار آنالوگ را به درصد رطوبت با استفاده از تابع map() تبدیل میکنیم.
درصد رطوبت سپس در مانیتور سریال چاپ میشود. بررسی میکنیم که آیا رطوبت کمتر از یک آستانه (در این مورد 30٪) است یا خیر. اگر کمتر باشد، با تنظیم پین LED به مقدار بالا (HIGH)، LED را روشن میکنیم؛ در غیر این صورت، با تنظیم پین به مقدار پایین (LOW)، آن را خاموش میکنیم.در نهایت، ما تأخیری به مدت 1 ثانیه (براساس نیاز) اضافه میکنیم تا خواندنها استحکام یابند و نوسانات سریع را جلوگیری کنیم.
const int moistureSensorPin = A0;
const int ledPin = 13;
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
}
void loop() {
int sensorValue = analogRead(moistureSensorPin);
int moisturePercentage = map(sensorValue, 0, 1023, 0, 100);
Serial.print("Moisture Percentage: ");
Serial.print(moisturePercentage);
Serial.println("%");
if (moisturePercentage < 30) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
delay(1000);
}
راه اندازی سنسور رطوبت خاک با میکروپایتون
در این کد، ما ماژولهای لازم Pin، ADC و time را وارد میکنیم. ما تعیین پینها را برای خروجی آنالوگ سنسور (moisture_sensor_pin) و یک LED (led_pin) برای نمایش تصویری انجام میدهیم.ما یک شیء ADC با استفاده از کلاس ADC ایجاد میکنیم و پین ورودی آنالوگ را مشخص میکنیم.
در داخل حلقه while True، ما مقدار آنالوگ را از سنسور با استفاده از متد read() شیء ADC میخوانیم. سپس، مقدار آنالوگ را با استفاده از محاسبات ریاضی ساده به درصد رطوبت تبدیل میکنیم.درصد رطوبت با استفاده از تابع print() در کنسول چاپ میشود.آیا رطوبت کمتر از یک آستانه (در این مورد 30٪) است یا خیر. اگر کمتر باشد، با استفاده از متد on() شیء Pin، LED را روشن میکنیم؛ در غیر این صورت، با استفاده از متد off()، آن را خاموش میکنیم. با استفاده از تابع sleep() از ماژول time، یک تأخیر ۱ ثانیه اضافه میکنیم تا خواندنها استحکام یابند و نوسانات سریع را جلوگیری کنیم.
from machine import Pin, ADC
import time
moisture_sensor_pin = 0
led_pin = 2
adc = ADC(0)
led = Pin(led_pin, Pin.OUT)
while True:
sensor_value = adc.read()
moisture_percentage = int(sensor_value * 100 / 1024)
print("Moisture Percentage:", moisture_percentage, "%")
if moisture_percentage < 30:
led.on()
else:
led.off()
time.sleep(1)
مشخصات
- کاربری
- مناسب برای استفاده شخصی
- سطح تجربه مورد نیاز
- پیشرفته
- ابعاد
- 98*23*4
- ولتاژ مورد نياز
- 3.3 ~ 5.5 VDC
- جریان
- 5mA
- چاپ مس
- مشکی
- رنگ بندی
- دارای 3 پایه
- اقلام همراه محصول
- کابل xh سه پایه
- ترتیب پایه ها
- مطابق چاپ برد
- وزن
- 15 گرم
- نوع کانکتور
- PH2.54-3P
- خروجی
- آنالوگ Analog
- نوع سنسور
- رطوبت
این برد یک ترموستات دمایی است. برای درخواست مورد نظرتان قابل استفاده است. ولتاژ AC همان برق 220 است.
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.