آموزش آردوینوپروژه های آردوینو

پروژه ایستگاه هواشناسی با آردوینو (دما و رطوبت هوا و خاک)

سلام. پروژه ایستگاه هواشناسی با آردوینو (نمایش رطوبت، دما و رطوبت خاک) را آماده کردیم.

ساخت سیستم ایستگاه هواشناسی با آردوینو

در این پروژه آردوینو ما میخواهیم با استفاده از 2 سنسور، یک ایستگاه هواشناسی مبتنی بر Arduino را بسازیم. سنسور رطوبت خاک FC-28 برای انداره گیری رطوبت خاک و سنسور DHT22 برای اندازه گیری دما، رطوبت و شاخص گرما استفاده میشود. تمامی این پارامتر ها با استفاده از یک ال سی دی نوکیا 5110 نمایش داده میشوند.

ساخت سیستم ایستگاه هواشناسی با Arduino

قبل از اجرای این پروژه پیشنهاد میکنم پروژه های زیر را برای افزایش درک شما در این پروژه مشاهده کنید.

نحوه کار ایستگاه هواشناسی با استفاده از آردوینو

در این پروژه ایستگاه هواشناسی قصد داریم از دو سنسور استفاده کنیم. یکی برای اندازه گیری رطوبت خاک و دیگری برای خواندن دما ، رطوبت و شاخص گرما.

سنسور رطوبت خاک FC – 28 مقدار رطوبت خاک را به صورت ولتاژ آنالوگ از 0 تا 1023 به ما می دهد. هنگامی که خاک خشک است ، مقدار خروجی سنسور FC-28 به 1023 نزدیک تر می شود و وقتی خاک مرطوب باشد ، مقدار آن کم می شود. رطوبت در درصد اندازه گیری می شود ، بنابراین ما باید این مقادیر را به مقیاس جدیدی تبدیل کنیم که از 0 تا 100 باشد. این درصد در ال سی دی نوکیا 5110 نمایش داده می شود.

سنسور DHT22 می تواند دما ، رطوبت و شاخص گرما را اندازه گیری کند. سنسور DHT22 به صورت دیجیتالی خروجی می دهد و مستقیماً از طریق پین های I / O دیجیتال آردوینو تغذیه می شود. آردوینو این خروجی را می خواند و دما ، رطوبت و شاخص گرما را محاسبه می کند. این مقادیر سپس در ال سی دی نوکیا 5110 نمایش داده می شوند.

مدار ایستگاه هواشناسی با Arduino

تصویر زیر شماتیک مدار پروژه ایستگاه هواشناسی با آردوینو را نمایش میدهد.

مدار پروژه ایستگاه هواشناسی با Arduino

دستور و عمل های زیر را برای اتصال ال سی دی نوکیا 5110 با Arduino انجام دهید.

  • پین RST نوکیا 5110 را از طریق مقاومت 10k به پین ​​6 آردوینو وصل کنید.
  • پین SCE نوکیا 5110 را از طریق مقاومت 1k به پین ​​7 Arduino وصل کنید.
  • پین D / C نوکیا 5110 را از طریق مقاومت 10k به پین ​​5 آردوینو وصل کنید.
  • پین DIN نوکیا 5110 را از طریق مقاومت 10k به پین ​​4 Arduino وصل کنید.
  • پین CLK نوکیا 5110 را از طریق مقاومت 10k به پین ​​3 آردوینو وصل کنید.
  • پین VCC نوکیا 5110 را به پین ​​3.3V آردوینو وصل کنید.
  • پین LED نوکیا 5110 را از طریق مقاومت 330 اهم به پتانسیومتر وصل کنید.
  • پین GND نوکیا 5110 را به پین ​​GND 6 آردوینو وصل کنید.

پس از آن اتصالات حسگر DHT22 و رطوبت خاک FC-28 را با آردوینو برقرار کنید.

  • پین 1 (پین VCC) سنسور DHT22 را به پین ​​5 ولت آردوینو وصل کنید.
  • پین 2 (پین داده) سنسور DHT22 را به پین ​​8 Arduino وصل کنید.
  • پین 4 (پین GND) سنسور DHT22 را به پین ​​GND آردوینو وصل کنید.

اتصالات سنسور FC-28 با آردوینو

  • پین VCC سنسور FC-28 را به 5V آردوینو وصل کنید.
  • پین A0 سنسور FC-28 را به A0 آردوینو وصل کنید.
  • پین GND سنسور FC-28 را به GND Arduino وصل کنید.

قطعات مورد نیاز

  1. برد آردوینو Uno
  2. ال سی دی نوکیا 5110
  3. سنسور دما و رطوبت DHT22
  4. سنسور رطوبت خاک FC-28
  5. پتانسیومتر 1 کیلو اهم
  6. مقاومت 1 کیلو اهم
  7. مقاومت 10 کیلو اهم – چهار عدد
  8. مقاومت 330 اهم
قطعات مورد نیاز را از فروشگاه قطعات آیرنکس تهیه کنید.

کد پروژه ایستگاه هوا شناسی با آردوینو

کد کامل پروژه در انتهای صفحه قرار داده شده است. در اینجا بعضی از قسمت های کد را بررسی میکنیم. اول از همه ، باید کتابخانه های LCD 5110 LCD و سنسور DHT22 را درج کنیم. پس از افزودن كتابخانه ها ، ما متغیری به نام “lcd” از نوع PCD8544 و متغیری به نام “temp_hum_sensor” از نوع DHT را تعریف میکنیم. سپس پین 8 را برای DHT22 اعلام کردیم.

#include <PCD8544.h>
PCD8544 lcd;
#include "DHT.h"
#define DHTPIN 8
#define DHTTYPE DHT22
DHT temp_hum_sensor(DHTPIN, DHTTYPE);

در void setup() ، ارتباطات را با 5110 LCD در ابعاد “84*48” شروع میکنیم و “Reading From the Sensors” را روی صفحه LCD چاپ میکنیم. سپس ارتباط را با حسگر DHT22 شروع میکنیم.

lcd.begin(84, 48);
lcd.print("Reading From the Sensors");
temp_hum_sensor.begin();

در void loop، مقادیر را از حسگر رطوبت خاک گرفته و در متغیر ذخیره می کنیم. سنسور رطوبت خاک مقادیر 0 تا 1023 را به ما می دهد ، برای اندازه گیری رطوبت باید آنها را به درصد تبدیل کنیم. بنابراین ، ما مقادیر را به 0 تا 100 تبدیل میکنیم.

اگر در مورد این مطلب سوالی دارید در قسمت نظرات بپرسید
output_value= analogRead(sensor_pin);
output_value = map(output_value, 550, 40, 0, 100);

پس از آن ، شاخص دما ، رطوبت و گرما را از حسگر دما و رطوبت DHT22 میگیریم و اینها را در متغیر ذخیره میکنیم. سپس ، ما این خطوط را در LCD 5110 نشان میدهیم.

float hum = temp_hum_sensor.readHumidity();
float temp = temp_hum_sensor.readTemperature();
float fah = temp_hum_sensor.readTemperature(true);
lcd.print("Hi: ");
lcd.print(heat_index);
lcd.println(" *F ");

موارد موجود در فایل : سورس کامل ، شماتیک

4.4 (8 نفر)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید قرار بدهم. سوالات مربوط به این مطلب را در قسمت نظرات همین مطلب اعلام کنید. سعی میکنم در اسرع وقت به نظرات شما پاسخ بدهم.

4 نظر

  1. از ال سی دی گرافیکی spi 8tft میتوان استفاده کرد

    1. سلام عزیز
      بله میشه اما نیاز به تغییر در کد هست

  2. با سلام. سنسور dht 22 حداکثر چقدر میتواند از آردوینو فاصله داشته باشد؟ اتصال آردوینو و سنسور از طریق کابل تلفن میباشد. باتشکر

    1. سلام عزیز
      با توجه به محیط و نویز اطراف عدد متغیر هست باید خودتون تست کنید. برای ارتباط های طولانی باید از رابط های دیگه مثل RS485 استفاده بشه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *