فهرست مطالب:

سنسور دما و رطوبت آردوینو: 7 مرحله
سنسور دما و رطوبت آردوینو: 7 مرحله

تصویری: سنسور دما و رطوبت آردوینو: 7 مرحله

تصویری: سنسور دما و رطوبت آردوینو: 7 مرحله
تصویری: آموزش برنامه نویسی آردوینو - راه اندازی سنسور دما و رطوبت 2024, جولای
Anonim

توسط Thundertronics بیشتر توسط نویسنده دنبال کنید:

PIC16F877A مبدل آنالوگ به دیجیتال (ADC)
PIC16F877A مبدل آنالوگ به دیجیتال (ADC)
PIC16F877A مبدل آنالوگ به دیجیتال (ADC)
PIC16F877A مبدل آنالوگ به دیجیتال (ADC)
رابط LCD با میکروکنترلر PIC16F877A
رابط LCD با میکروکنترلر PIC16F877A
رابط LCD با میکروکنترلر PIC16F877A
رابط LCD با میکروکنترلر PIC16F877A
منبع تغذیه نیمکت مدولار DIY
منبع تغذیه نیمکت مدولار DIY
منبع تغذیه نیمکت مدولار DIY
منبع تغذیه نیمکت مدولار DIY

در این آموزش ، من قصد دارم ساخت سنسور دما و رطوبت با استفاده از مینی برد Arduino pro با سنسور DHT11 (یا DHT22) را توضیح دهم.

مرحله 1: ویدیو را تماشا کنید

مهم است که ابتدا ویدیو را قبل از حرکت به مرحله بعدی مشاهده کنید. ویدئو همه چیز را توضیح می دهد و نحوه انجام آن را نشان می دهد. با این حال ، در این پست ، من اطلاعات فنی و جزئیات بیشتری خواهم نوشت.

www.youtube.com/watch؟v=56LKl7Xd770

مرحله 2: قطعات مورد نیاز

قطعات مورد نیاز این پروژه عبارتند از:

1- برد مینی Arduino pro (یا هر Arduino).

2- سنسور دما و رطوبت DHT11 (یا DHT22).

3- صفحه نمایش LCD 16x2.

4- محوطه ای به انتخاب شما ، ترجیحاً همان موردی که در فیلم استفاده شده است.

5- پتانسیومتر 10K.

6- پایانه های پیچ دار.

7- مقاومتهای مقادیر مختلف.

باتری 8- 9 ولت

در حالی که ابزار مورد نیاز عبارتند از:

1- مته دستی مانند درمیل.

2- بیت های مختلف برای مته ، زیرا ما از بیت های صاف کننده و بیت های برش استفاده می کنیم.

3- دست های کمک کننده

بعلاوه ، ابزارهای الکترونیکی معمول مانند مولتی متر و غیره.

مرحله 3: طراحی شماتیک

طراحی شماتیک
طراحی شماتیک

در این پروژه ، من به جای سیم کشی خود ، یک PCB برای آن انتخاب کرده ام. بنابراین من از ابزار آنلاین EasyEDA برای کار استفاده کردم که تجربه خوبی بود.

این صفحه پروژه در وب سایت easyEDA است:

توضیحات شماتیک به شرح زیر است:

1- من از یک آداپتور ICSP 6 پین برای برنامه نویسی Arduino pro mini استفاده کرده ام ، زیرا یک عدد روی برد ندارد. در شماتیک J2 است.

2- R2 100 اهم است و میزان روشنایی LCD را تنظیم می کند. اساساً اگر می خواهید نور پس زمینه LCD کم نورتر باشد ، می توانید مقاومت بیشتری از 100R قرار دهید. یا بهتر از آن ، یک پتانسیومتر بگیرید تا به عنوان مقاومت سری متغیر عمل کند.

3- JP1 فقط یک کانکتور است که دارای رد پای PCB خوبی است. من هرگز یک ترمینال واقعی قرار ندادم بلکه سیم ها را لحیم کردم. هر طور که دوست دارید انجام دهید.

4- U2 پایانه های اتصال باتری است. در اینجا ، ترمینال های پیچ دار خوبی را برای اتصال محکم ترجیح می دهم. شما می توانید سیم ها را لحیم کنید ، اما مطمئن شوید که لحیم کاری را به اندازه ای محکم کرده اید که اتصال آنقدر محکم باشد که در برابر هرگونه لرزش مقاوم باشد.

5- LCD1 جزء LCD در easyEDA است. این اتصال اساسی به Arduino pro mini دارد. مطمئن شوید که پین های اینجا با پین های نرم افزاری یکسان است.

6- RV1 یک پتانسیومتر 10K برای تنظیم کنتراست LCD است. باید فقط یکبار استفاده شود و این اولین بار است که LCD را برای اولین بار روشن می کنید.

مرحله 4: طراحی PCB

طراحی PCB
طراحی PCB
طراحی PCB
طراحی PCB

پس از اتمام طرح کلی و درک معنی همه چیز ، اکنون زمان ساخت PCB برای آن فرا رسیده است.

برای ایجاد PCB در ویرایشگر PCB ، باید در EasyEDA "تبدیل به PCB" را فشار دهید. سپس ، قرار دادن قطعات و انجام مسیریابی را طبق معمول شروع کنید. من پیشنهاد می کنم هرگز از روتر خودکار استفاده نکنید.

من از ویاس زیادی برای حرکت از لایه بالا به پایین استفاده کردم زیرا فضا بسیار کم است.

مرحله 5: PCB را بسازید

اکنون ، طراحی PCB به پایان رسیده است. همه چیز را بررسی کردیم و مشکلی پیدا نشد. ما باید فایل های طراحی (gerber) را به شرکت تولید کننده PCB مورد نظر خود ارسال کنیم تا بتواند این کار را برای ما انجام دهد.

شرکت انتخابی من JLCPCB است. آنها برای چنین پروژه هایی و نمونه سازی بهترین هستند و فقط 10 دلار قیمت برای 10 قطعه از طرح شما ارائه می دهند!

بنابراین ، اکنون روی (…) کلیک می کنیم و JLCPCB را انتخاب می کنیم. ما به وب سایت JLCPCB هدایت می شویم زیرا آنها با EasyEDA شریک هستند. حالا همه چیز را پر کنید و سفارش دهید. اکنون فقط منتظر بمانید تا PCB ها برسند.

شایان ذکر است که JLCPCB نه تنها EasyEDA را با آنها مرتبط می کند ، بلکه یک فروشگاه بزرگ اجزا نیز دارد! مزیت اینجا این است که سفارش PCB و سفارش قطعات با هم ارسال شوند! بله ، نیازی به صبر کردن 2 بسته به صورت جداگانه نیست ، اما در عوض آنها در یک بسته ترکیب می شوند. من به شدت توصیه می کنم از این استفاده کنید.

مرحله ششم: مونتاژ

ما در حال حاضر PCB ها را با همه چیز تنها داریم. زمان آن رسیده است که همه چیز را با هم جمع کنیم.

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

پس از اتمام لحیم کاری ، اکنون سوراخ های لازم را در محفظه پلاستیکی برش دهید و سپس با استفاده از تفنگ چسب حرارتی ، PCB را با سایر اجزا به خوبی داخل آن ثابت کنید.

اکنون باید از پتانسیومتر برای تنظیم کنتراست LCD استفاده کنید ، در حالی که سوپاپ مقاومت مورد نیاز برای روشنایی را انتخاب کرده ام ، من 100R را انتخاب کرده ام.

مرحله 7: کد

کد این پروژه با این مرحله ضمیمه شده است ، و توضیحات آن به شرح زیر است:

// شامل کد کتابخانه: #include #include "DHT.h" // تنظیم DHT Pin #تعریف DHTPIN 2

کتابخانه های لازم را وارد کرده و پین 2 Arduino pro mini را به عنوان پین داده سنسور تعریف کنید. اگر این کتابخانه ها را ندارید حتماً آنها را نصب کنید.

// مقداردهی کتابخانه با شماره پین های رابط LiquidCrystal LCD (9 ، 8 ، 7 ، 6 ، 5 ، 4) ؛ #تعریف DHTTYPE DHT11 DHT dht (DHTPIN ، DHTTYPE) ؛

اکنون کتابخانه LCD را با این پین ها مطابق خود شماتیک راه اندازی کنید. همچنین از کتابخانه DHT استفاده کنید و DHT11 را به عنوان سنسور مورد استفاده انتخاب کنید ، بنابراین اگر DHT22 دارید ، باید آن را تغییر دهید.

آخرین خط می گوید ما سنسور DHT11 داریم و پین داده آن در پین "DHTPIN" است که همانطور که قبلاً تعریف کردیم پین 2 است.

void setup () {// تعداد ستون ها و سطرهای LCD را تنظیم کنید: lcd.begin (16 ، 2) ؛ dht.begin ()؛ lcd.setCursor (0 ، 0) ؛ lcd.print ("دما و") ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("سنسور رطوبت") ؛ تاخیر (3000) ؛ lcd.clear ()؛ lcd.setCursor (0 ، 0) ؛ lcd.print ("THUNDERTRONICS") ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("حسام محرابی") ؛ تاخیر (3000) ؛ }

اکنون زمان راه اندازی است! و در اینجا آنچه در جریان است:

LCD از نوع 16 در 2 است.

دستور DHT را برای دریافت مقادیر شروع کنید.

"حسگر دما و رطوبت" را روی 2 خط چاپ کنید.

3 ثانیه تاخیر

صفحه نمایش روشن است

"THUNDERTRONICS" را در خط اول چاپ کنید و سپس "حسام مقربی" را در خط 2 چاپ کنید.

3 ثانیه تاخیر

^من این کار را به عنوان یک صفحه خوش آمد گویی انجام دادم که حدود 6 ثانیه طول می کشد تا مقادیر نمایش داده شوند.

حلقه خالی () {// خواندن رطوبت int h = dht.readHumidity ()؛ // خواندن دما در c int t = dht.readTemperature ()؛ if (isnan (h) || isnan (t)) {lcd.print ("ERROR") ؛ برگشت؛ }

اکنون ما در داخل حلقه ابدی خود هستیم که مدام خود را تکرار می کند.

رطوبت را در متغیر "h" و دما را در داخل "t" متغیر ذخیره کنید.

بعد ، یک دستور if داریم. این اساساً در صورت وجود خطا پیام خطا را برمی گرداند. بدون تغییر آن را رها کنید.

در حال حاضر ما همه ارزشهای مورد نیاز خود را داریم.

lcd.setCursor (0 ، 0) ؛ lcd.print ("Temp. =")؛ ال سی دی چاپ (t) ؛ lcd.print ("")؛ lcd.print ((char) 223) ؛ lcd.print ("C") ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("رطوبت =")؛ ال سی دی چاپ (h) ؛ lcd.print ("٪") ؛ // lcd.print ("حسام محرابی") ؛ تاخیر (2000) ؛

در نهایت ، ما این مقادیر را روی صفحه نمایش LCD نمایش می دهیم. می توانید آن را به نحوی که می خواهید تغییر دهید زیرا به سادگی مقادیر را در متغیرهای "h" و "t" چاپ می کند. قرار دادن تاخیر 2 ثانیه ای تا حدودی اختیاری است اما از انجام سریعتر آن بهره چندانی نخواهید برد زیرا سنسور به خودی خود چندان سریع نیست و حتی اگر اینطور باشد ، باز هم مقادیر فیزیکی هرگز به این سرعت تغییر نمی کند. بنابراین 2 ثانیه برای کار بسیار بسیار سریع است!

همین است!

توصیه شده: