شِفر (کود) آردوینو و ویدئو برای حساس(حس کننده) دیجیتال دما و رطوبت آوسونگ AM2320

شِفر (کود) آردوینو و ویدئو برای حساس(حس کننده) دیجیتال دما و رطوبت آوسونگ AM2320

در این آموزش، به بررسی نحوه استفاده از حساس(حس کننده) دیجیتال دما و رطوبت Aosong AM2320 با آردوینو می‌پردازیم. این حساس(حس کننده) از طریق I2C ارتباط برقرار می‌کند و به ما امکان می‌دهد دما را به درجهٔ سانتی‌گراد یا فارنهایت و رطوبت را به‌صورت درصد بخوانیم. تا پایان این آموزش، شما قادر خواهید بود یک پروژهٔ ساده بسازید که این مقادیر را روی نمایشگر مسلسل نمایش می‌دهد.

حساس(حس کننده) AM2320 جمع‌وجور است و داده‌های قابل‌اعتماد برای هر دو دما و رطوبت فراهم می‌کند. دقت آن برای دما 0.1°C است و بازه رطوبت 0-99% است. فرایند راه‌اندازی شامل سیم‌کشی حساس(حس کننده) به آردوینو و نوشتن چند خط شِفر (کود) برای خواندن و نمایش مقادیر حساس(حس کننده) است. این آموزش ویدیویی یک راهنمای گام‌به‌گام ارائه می‌دهد، از جمله نمونه‌های سیم‌کشی و کدنویسی (در ویدیو در 00:00).

شرح سخت‌افزار

قطعه اصلی این پروژه حساس(حس کننده) Aosong AM2320 است. این حساس(حس کننده) از ارتباط I2C استفاده می‌کند که روند اتصال را ساده می‌کند زیرا تنها به دو خط داده (SDA و SCL) به‌علاوه تغذیه و زمین نیاز دارد. این حساس(حس کننده) دما را در بازه -40°C تا +80°C با دقت ±0.5°C و رطوبت را از 0% تا 99% با دقت مشابه اندازه‌گیری می‌کند. حساس(حس کننده) برای مصرف بسیار پایین طراحی شده است که آن را برای دستگاه‌های مجهز به باتری مناسب می‌سازد.

علاوه بر این، ماجیول AM2320 دارای مقاومت‌های pull-up است که برای ارتباط I2C ضروری بوده و به تثبیت سیگنال‌ها در خطوط SDA و SCL کمک می‌کنند. این ویژگی فرایند سیم‌کشی را ساده می‌کند، زیرا نیازی به افزودن مقاومت‌های pull-up خارجی نخواهید داشت.

جزئیات برگه مشخصات

تولیدکنندهآوسونگ
شماره قطعهAM2320
ولتاژ منطق/ورودی‌خروجی3.1 تا 5.5 V
ولتاژ تغذیه3.1 تا 5.5 ولت
محدوده دما-40 تا +80 درجه سانتی‌گراد
محدوده رطوبت0 تا 99 %
رزولوشن (دما)0.1 درجه سانتی‌گراد
تفکیک‌پذیری (رطوبت)0.1٪
دقت (دما)±0.5 °C
دقت (رطوبت)±۳٪
بستهماجیول

  • اطمینان حاصل کنید که ولتاژ تغذیه صحیح است (3.1 تا 5.5 V).
  • برای خطوط SDA و SCL از مقاومت‌های پول‌آپ (معمولاً 4.7 kΩ) استفاده کنید.
  • برای جلوگیری از آسیب، محدوده دما را در بازه -40°C تا +80°C نگه دارید.
  • خوانش‌های رطوبت در بازهٔ 0% تا 99% دقیق هستند.
  • در حین خوانش‌ها کدهای خطا را پایش کنید (مثلاً حساس(حس کننده) آفلاین).

دستورالعمل سیم‌کشی

Arduino wiring for AM2320 sensor
Arduino wiring for AM2320 sensor

برای سیم‌کشی حساس(حس کننده) AM2320 به آردوینو، مراحل زیر را با دقت دنبال کنید. ابتدا پایه‌های تغذیه را وصل کنید: چپ‌ترین پایهِ AM2320 به 5V آردوینو (یا VCC) متصل می‌شود و پایه زمین (GND) به GND آردوینو وصل می‌شود. پایه دوم از چپ (SDA) به پایه آنالوگ A4 در آردوینو Uno یا A20 در آردوینو Mega متصل می‌شود. پایه سوم (SCL) به A5 در آردوینو Uno یا A21 در آردوینو Mega متصل می‌شود.

علاوه بر این، باید یک مقاومت 4.7 kΩ بین پایه SDA و خط 5V و یک مقاومت 4.7 kΩ دیگر بین پایه SCL و خط 5V متصل کنید. این امر ارتباط صحیح I2C را تضمین می‌کند. اگر از مدل‌های دیگر آردوینو مانند Leonardo استفاده می‌کنید، پایه‌های SDA و SCL نیز به‌ترتیب A4 و A5 خواهند بود.

نمونه‌های شِفر (کود) و راهنمای گام‌به‌گام

بیایید نگاهی به برخی از بخش‌های کلیدی شِفر (کود) آردوینو استفاده‌شده در این پروژه بیندازیم. ابتدا حساس(حس کننده) را مقداردهی اولیه کرده و ارتباط سریال را راه‌اندازی می‌کنیم:

#include 
AM2320 sensor;

void setup() {
  Serial.begin(9600);
  sensor.begin();
}

در این قطعه شِفر (کود)، کتابخانهٔ لازم را با#include <AM2320.h>و یک نمونه از حساس(حس کننده) را ایجاد کنید. اینsetup()این تابع ارتباط سریال را با نرخ 9600 بیت بر ثانیه مقداردهی اولیه می‌کند و حساس(حس کننده) را راه‌اندازی می‌کند.

در ادامه، حلقهٔ اصلی را داریم که دما و رطوبت را می‌خواند:

if (sensor.measure()) {
    Serial.print("Temperature: ");
    Serial.print(temp('C'));
    Serial.print(" C, Humidity: ");
    Serial.print(sensor.getHumidity());
    Serial.println("%");
}

این شِفر (کود) بررسی می‌کند که آیا اندازه‌گیری حساس(حس کننده) موفقیت‌آمیز بوده است. در این صورت، دما را بر حسب سانتی‌گراد و درصد رطوبت را در نمایشگر مسلسل چاپ می‌کند. اینtemp('C')این تابع برای بازیابی دما بر حسب سانتی‌گراد فراخوانی می‌شود. اگر می‌خواهید بر حسب فارنهایت، می‌توانید آن را فراخوانی کنید.temp('F').

تظاهرات / چه انتظاری داشته باشید

وقتی برنامه را اجرا می‌کنید، باید در نمایشگر مسلسل ببینید که خوانش‌های دما و رطوبت هر نیم‌ثانیه به‌روزرسانی می‌شوند. برای مثال، خروجی ممکن است نشان دهد دما: 23.5 C، رطوبت: 50%. اگر گرما به حساس(حس کننده) اعمال کنید، باید افزایش دما و کاهش رطوبت را مشاهده کنید که پاسخگویی آن را نشان می‌دهد (در ویدئو در 11:15).

برچسب‌های زمانی ویدئو

  • 00:00- معرفی حساس(حس کننده) AM2320
  • 01:30- دستورالعمل‌های سیم‌کشی
  • 03:45- مرور شِفر (کود)
  • 05:15- نمایش خوانش‌ها

تصاویر

AM2320-sensor-1
AM2320-sensor-1
AM2320-sensor-2
AM2320-sensor-2
AM2320-sensor-3
AM2320-sensor-3
AM2320-sensor-4
AM2320-sensor-4
Arduino wiring for AM2320 sensor
Arduino wiring for AM2320 sensor
84-This is the Arduino code for the Aosong AM2320 digital temperature and humidity sensor.
زبان: C++
کپی شد!

منابع و مراجع

هنوز هیچ منبعی موجود نیست.

فایل‌ها📁

برگه مشخصات (pdf)

فایل فریزینگ