سنجش دما و رطوبت همواره امری مهم در پروژه های مختلف به شمار می رود. سنجش دما و رطوبت در پروژه های مختلف نظیر کنترل هوشمند گلخانه ها، دستگاه های جوجه کشی و …. کاربرد دارد. در کنار این، به کمک ماژول های مخابراتی، به خصوص سیم کارتی، از میزان دما و رطوبت محیط از فواصل دور مطلع شویم. در این آموزش قصد داریم تا به پیاده سازی دستگاهی بپردازیم که به کمک آن، از میزان دما و رطوبت محیط در یک تماس تلفنی آگاه شویم. بدین ترتیب از راه دور و بدون هیچ محدودیت فاصله ای، میزان دما و رطوبت محیط به صورت صوتی برای کاربر خوانده می شود. بنابراین در ادامه پروژه دماسنج سخنگو با تماس تلفنی با مرجع تخصصی آردوینو به زبان فارسی ، دیجی اسپارک همراه باشید.
نحوه عملکرد پروژه دماسنج سخنگو
در این پروژه قصد داریم تا از راه دور و به کمک تماس صوتی، میزان دما و رطوبت محیط را بشنویم. بنابراین این پروژه جهت ایجاد مکالمه تلفنی، نیاز به یک ماژول مخابراتی سیم کارتی دارد. در کنار این، پس از برقراری تماس تلفنی، میزان دما و رطوبت محیط از طریق تماس خوانده می شود. جهت خواندن میزان دما و رطوبت، نیاز به یک ماژول پخش صدا داریم. در این ماژول فایل های صوتی مربوط به اعداد ذخیره شده و هنگام تماس خوانده می شوند. البته واضح است که میزان دما و رطوبت محیط از طریق سنسور مربوطه خوانده می شود. برای کنترل این موارد و اجرای فرامین مد نظر ما در زمان مناسب، نیاز به یک برد پردازشگر مرکزی داریم. به همین منظور از قطعات زیر در پروژه استفاده می کنیم.
شرح وظیفه | قطعه |
پخش فایل های صوتی از روی کارت SD | DF PLAYER MINI |
ماژول سیم کارت جهت دریافت تماس تلفنی | SIM800L |
سنسور دما و رطوبت | DHT11 |
کاهنده ولتاژ جهت ایجاد ولتاژ مطلوب ماژول سیم کارت و DF PLAYER | LM2596 |
برد پردازشی جهت اجرای برنامه و فرمان به ماژول ها | ARDUINO UNO |
پس از بررسی قطعات مورد نیاز، به شرح هریک پرداخته و در نهایت به اجرای پروژه خواهیم پرداخت.
ماژول SIM800L
برای برقراری تماس تلفنی، نیاز به ماژول سیم کارت داریم. ماژول SIM800L یک ماژول همه کاره، همه منظوره، همه فن حریف و…… است. این ماژول می تواند تماس تلفنی برقرار کند، پیامک ارسال و دریافت کند، به اینترنت متصل شود و همه کارهای یک تلفن همراه را به تنهایی انجام دهد. این ماژول فرامین مخصوصی به نام AT دارد که از طریق رابط سریال کنترل می شود. در این آموزش به کمک این فرامین ماژول را کنترل خواهیم کرد.
این ماژول فرامین AT را از برد آردوینو به کمک رابط سریال UART دریافت و اجرا می کند. جهت راه اندازی و کار با این ماژول سلسله آموزشی در دیجی اسپارک منتشر شده که با کلیک بر روی این لینک قابل دسترسی و مطالعه است.
ماژول DF PLAYER MINI
جهت پخش صدا مربوط به دما و رطوبت حین تماس تلفنی، از ماژول DF PLAYER استفاده می کنیم. این ماژول دارای سوکت کارت بوده که به فایل های صوتی ذخیره شده در کارت را پخش می کند. این ماژول از رابط سریال UART جهت دریافت فرامین و پخش صدا استفاده می کند. جهت تسریع روند کار کتابخانه تحت آردینو توسعه یافته است.
این ماژول دارای خروجی بلندگو است. از طرف دیگر ماژول SIM800L نیز از ورودی میکروفن بهره می برد. با اتصال خروجی بلندگو ماژول پخش صدا به ورودی میکروفن ماژول SIM800L، حین تماس صوتی میزان دما و رطوبت محیط پخش می گردد. البته نیاز است که یک فایل صوتی از اعداد ۰ الی ۱۰۰ درون ماژول پخش صدا ذخیره گردد. بدین ترتیب با خواندن دما و رطوبت محیط، معادل صوتی آن از طریق ماژول DF PLAYER پخش خواهد شد.
سنسور دما و رطوبت DHT11
سنسور دما و رطوبت DHT11 در این پروژه نقش سنجش دمای محیط را بر عهده دارد. به کمک این سنسور می توان رطوبت را در بازه ۲۰ الی ۹۰ درصد و دما را در بازه ۰ الی ۵۰ درجه سانتی گراد اندازه گیری کند. این سنسور از یک خروجی دیجیتال جهت ارسال داده ها به میکروکنترلرها بهره می برد. جهت راه اندازی و کار با این سنسور کتابخانه تحت آردوینو توسعه یافته که روال کار را بسیار ساده می کند.
در این پروژه دما و رطوبت به کمک این سنسور خوانده می شود. سپس مطابق دما و رطوبت خوانده شده از سنسور، به ماژول DF فرمان صوتی جهت پخش دما و رطوبت معادل با مقادیر اندازه گیری شده، ارسال می گردد.
برد آردوینو UNO
هسته پردازشی این پروژه، برد آردوینو است. این برد که از میکروکنترلر AVR-ATMEGA328P بهره می برد، قادر به اجرای برنامه ها به زبان C++ است. به کمک این برد دما را از سنسور DHT11 می خوانیم. سپس با تشخیص تماس تلفنی از طریق کدهای اجرا شده، حین تماس با ارسال فرمان به ماژول DF، فایل صوتی معادل با دما و رطوبت پخش خواهد شد.
ماژول کاهنده ولتاژ LM2596
ماژول SIM800L دارای ولتاژ کاری ۳٫۴ الی ۴٫۴ است. از آنجاییکه آداپتوری با این مشخصات ولتاژ وجود ندارد، بنابراین به کمک ماژول کاهنده ولتاژ LM2596 می توانیم ولتاژ آداپتور را کاسته و به مقدار مد نظر خود برسانیم. بر روی این ماژول مولتی ترن(ولوم) ابی رنگ جهت تنظیم ولتاژ خروجی تعبیه شده است. به چرخاندن این ولوم، ولتاژ ورودی کاسته شده و به مقدار مد نظر در خروجی تبدیل خواهد شد.
توجه۱: خروجی این ماژول جهت عملکرد صحیح و مناسب، باید روی ۴٫۲ ولت تنظیم گردد.
توجه ۲: پیش از اتصال خروجی این ماژول به مصرف کنند(ماژول SIM800L) حتما ابتدا ولتاژ خروجی را تنظیم کنید و بعد اتصال را برقرار سازید.
شماتیک و اتصالات پروژه دماسنج سخنگو
پس از بررسی قطعات، نوبت به بررسی شماتیک و اتصالات پروژه دماسنج سخنگو با تماس تلفنی می رسد. تصویر زیر فرم کلی اتصالات را نمایش می دهد.
مطابق تصویر فوق، اتصالات قسمت های مختلف را اجرا می کنیم.
اتصالات ماژول DF PLAYER MINI
- اتصال پایه VCC ماژول به پایه خروجی مثبت کاهنده LM2596
- اتصال پایه GND ماژول به پایه خروجی منفی کاهنده LM2596
- اتصال پایه TX به کمک یک مقاومت یک کیلو اهمی به صورت سری به پایه ۱۰ آردوینو
- اتصال پایه RX به کمک یک مقاومت یک کیلو اهمی به صورت سری به پایه ۱۱ آردوینو
اتصالات ماژول SIM800L
- اتصال پایه VCC به خروجی مثبت ماژول کاهنده ولتاژ
- اتصال پایه GND به پایه خروجی منفی ماژول کاهنده ولتاژ
- اتصال پایه TX به پایه RX آردوینو
- اتصال پایه TX آردوینو به کمک تقسیم مقاومتی به پایه RX ماژول سیم کارت
- اتصالات سنسور DHT11
- اتصال پایه VCC سنسور به پایه ۵ ولت آردوینو
- اتصال پایه GND سسنور به پایه GND آردوینو
- اتصال پایه دیتا سنسور به پایه شماره ۲ آردوینو
توجه: در این پروژه برد آردوینو از طریق کابل USB و ماژول های SIM800L و DF PLAYER به کمک ماژول کاهنده ولتاژ تغذیه می شوند. به ورودی کاهنده ولتاژ آداپتوری مجزا متصل است. این آداپتور باید در رنج ۵ الی ۳۶ ولت باشد. مناسب ترین گزینه آداپتور ۱۲ ولت ۵ آمپر است.
نصب کتابخانه های مورد نیاز
در پروژه سیستم اعلام صوتی دما و رطوبت از ماژول DF PLAYER جهت پخش صوتی میزان دما و رطوبت استفاده می کنیم. بنابراین نیاز است تا در ابتدا، کتابخانه مربوط به این ماژول را در نرم افزار آردویینو، نصب نماییم. برای نصب کتابخانه، ابتدا در نرم افزار آردویینو، مطابق تصویر زیر و با توجه به فلش های قرمز رنگ، بر روی منوی Tools و سپس Manage Libraries کلیک کنید.
در قدم بعدی، در منوی ظاهر شده، در کادر جستجو، عبارت DFPlayer_Mini را جستجو کرده و در میان کتابخانه های ظاهر شده، کتابخانه مشخص شده با کادر قرمز رنگ در تصویر زیر را نصب نمایید.
کدهای پروژه دماسنج سخنگو با تماس تلفنی
در این مرحله کدهای پروژه را مشاهده می کنید. این کدها را روی برد آردینو UNO خود آپلود کنید.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
اجرای پروژه دماسنج سخنگو با تماس تلفنی
پس از آپلود برنامه، نوبت به اجرای پروژه می رسد. برای اجرای پروژه، نیاز به ذخیره سازی فایل های صوتی است. بنابراین در کارت SD، دو فولدر به نام های ۱۷ و ۱۸ ایجاد کنید. در فولدر ۱۷، یک فایل صوتی با صدای”دما” به نام ۰۰۱٫mp3 و فایل دیگری با صدای “رطوبت” با نام ۰۰۲٫mp3 ایجاد کنید. دقت داشته باشید که این دو فایل حتما با فرمت MP3 ذخیره گردند. سپس در فولدر ۱۸، فایل های صوتی از ۱ الی ۹۰ ایجاد کنید. این فایل ها به صورت سه رقمی باید نام گذاری گردند. یعنی فایل شماره ۱ به صورت ۰۰۱، فایل شماره ۲ به صورت ۰۰۲ و…. ذخیره شوند. فایل های که اعداد ۱۰ به بیشتر را شامل می شوند، به صورت ۰۱۰، ۰۱۱، ۰۱۲، ۰۱۳ و… ذخیره خواهند شد. در انتهای نام عبارت mp3 را قرار دهید. به عنوان مثال فایل شماره ۱ به صورت ۰۰۱٫mp3 ذخیره خواهد شد. درون این فایل ها، صداهای از ۱ الی ۹۰ باید ذخیره گردند. به عبارت دیگر، فایل شماره ۱ صدای عدد ۱، فایل شماره ۲ صدای عدد ۲ و به همین ترتیب صداها باید ذخیره گردند.
برای اجرای پروژه پس از برقراری اتصالات، منظر اتصال ماژول SIM800L به شبکه بمانید. اتصال ماژول زمانی رخ می دهد می دهد که LED ماژول هر سه ثانیه یکبار چشمک بزند. پس از این مورد، با شماره تماس سیم کارت داخل ماژول تماس بگیرید. پس از برقرای تماس، تماس از طرف ماژول قبول شده و دما و رطوبت به صورت صوتی پخش خواهند شد. تصویر زیر روال کار در سریال مانیتور را نمایش می دهد.
در این پروژه هر شماره تماسی می تواند با سیم کارت درون ماژول تاس گرفته و صدای دما و رطوبت را بشنود. همچنین این تماس محدود به شماره تلفن ثابت یا همراه نیست.
تحلیل کدهای پروژه دماسنج سخنگو
پس از بررسی اجرای پروژه، نوبت به تحلیل کدهای آن می رسد. توجه داشته باشید که درکدهای پروژه به صورت خط به خط کامنت(توضیح) درج شده است. در اینجا نیز به صورت خلاصه به شرح کدهای به کار رفته می پردازیم. جدول زیر شرح توابع کلیدی و کاربردی را نمایش می دهد.
شرح | تابع |
کنترل اتصال ماژول مخابراتی به شبکه، تا زمانیکه ماژول به شبکه متصل نشده برنامه منتظر باقی می ماند. | check_connect() |
این تابع وظیفه مدیریت تماس و پخش صدا را برعهده دارد. | call_handler |
این تابع وظیفه خواندن دما را بر عهده دارد. | readTemperature() |
این تابع وظیفه خواندن رطوبت را بر عهده دارد. | readHumidity() |
این تابع وظیفه پخش آهنگ درون یک فولدر را بر عهده دارد. | playFolder |
لوازم مورد نیاز
- مقاومت یک کیلو اهمی
- ماژول MP3 PLAYER از نوع DF MINI
- برد آردوینو UNO
- ماژول SIM00L
- ماژول کاهنده ولتاژ LM2596
- آداپتور ۱۲ ولت ۵ آمپر
- فیش مادگی آداپتور
- سنسور دما و رطوبت DHT11
جمع بندی
در این پروژه به طراحی و پیاده سازی سیستم پخش صوتی دما و رطوبت محیط، از طریق تماس تلفنی پرداختیم. به کمک این سیستم شما می توانید میزان دما و رطوبت محیط را طی تماس تلفنی، بشنوید. بدین ترتیب از راه درو و بدون هیچ محدودیت فاصله ای، می توانید میزان دما و رطوبت محیط را بسنجید. در این آموزش به کمک ماژول سیم کارت تماس تلفنی را برقرار می کنیم. سپس به کمک ماژول DF PLAYER حین تماس صوتی، دما و رطوبت خوانده شده از سنسور DHT را پخش خواهیم کرد. برد آردوینو UNO نیز به عنوان هسته پردازشی در این پروژه به کار رفته است.
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
سلام مهندس پروژه بسیار عالی است
ممنونم از لطف و همراهی شما
سلام ممنون بابت پروژه و اینکه من دقیقا این دماسنج رو میخواهم با این تفاوت که تماس نگیره واز طریق بلندگو پخش کنه
سلام و خواهش می کنم
لطفا روی این لینک کلیک کرده و آموزش مشابه را مطالعه کنید.
سلام اون پروژه فاصله سنج هست من دماسنج سخنگو میخواهم
درست هست
شما می توانید از قسمت سخنگو این پروزه استفاده کنید. از خلاقیت خودتان باید استفاده کنید!
سلام وقت بخیر
بنده این پروژه روانجام دادم اما یه مشکلی دارم اونم اینه ک تماس پاسخ داده نمیشه و فقط بوق میخوره
احتمالا ارتباط سریال بین مازول سیم کارت و میکزوکنترلر به درستی برقرار نشده است
مشکل قبلی حل شداما الان بعد از هر بار خاموش شدن برد نیازه دوباره برنامه آپلود بشه و برنامه داخل رم نمیمونه
پس گویا آردوینو مشکلی دارد. لطفا برو را تعویض و تست کنید