پروژه الکترونیکپروژه های Espپروژه های آردوینوپروژه های اینترنت اشیا

مشاهده وضعیت سطل زباله / منبع در اینترنت با آردوینو

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

مانیتورینگ وضعیت منبع مبتنی بر اینترنت اشیا و Arduino

در این پروژه آردوینو ما میخواهیم یک سیستم نظارت بر سطل زباله / منبع بسازیم که مبتنی بر اینترنت اشیا IOT است. ما میتوانیم در محیط اینترنت مشاهده کنیم آیا سطل آشغال خالی است یا پر است. شما میتوانید از هر نقطه جهان از طریق اینترنت بر منبع خود نظارت کنید. این پروژه برای نصب در سطل های عمومی موجود در شهر بسیار مفید است. در این پروژه اینترنت اشیا، ما از یک سنسور التراسونیک برای تشخیص میزان پر بودن سطل و منبع خود استفاده میکنیم.

سنسور التراسونیک در بالای سطل نصب میشود. فاصله محتویات تا سقت سطل را آردوینو به کمک ماژول التراسونیک محاسبه میکند. ما میتوانیم مقدار آستانه را با توجه به ابعاد منبع خود تنظیم کنیم. التراسونیک به طور پی در پی موج ارسال میکند و فاصله توسط Arduino محاسبه میشود، هنگامی که فاصله کمتر از مقدار آستانه باشد، پیام پر بودن سطل در صفحه وب نمایش داده میشود. و اگر فاصله بیشتر از آستانه باشد پیام خالی بودن منبع نمایش داده میشود. توجه داشته باشید میتوانید هر تعداد پیام و سطح تعریف کنید. در اینجا ما از ماژول وای فای Esp8266 برای اتصال برد آردوینو به وب سرور استفاده میکنیم.

Basket is Empty = سبد خالی است

Basket is Full = سبد پر است

توضیحات سنسور التراسونیک HC-SR04

ما باید یه اطلاعات کلی نسبت به سنسور التراسونیک داشته باشیم. ما میدانیم که ارتعاش صدا نمیتواند از طریق جامدات نفوذ کند. بنابراین وقتی یک منبع صدا باعث ایجاد ارتعاش شود ، آن ارتعاش از طریق هوا با سرعت 220 متر در هر ثانیه حرکت میکند. همانطور که گفتیم این ارتعاش ها نمیتوانند از طریق جامدات نفوذ کنند ، یعنی وقتی به یک سطح مثل دیوار برخورد کنند ، با همان سرعت برمیگردند به سمت سنسور ، این تکنیک اکو (ECHO) نامگذاری شده است.

پروژه التراسونیک آردوینو
پروژه التراسونیک آردوینو

سنسور التراسونیک HC-SR04 یک سیگنال خروجی متناسب با فاصله بر اساس اکو فراهم می کند. سنسور در اینجا یک لرزش صدا را در محدوده سنسور ایجاد می کند، و بعد از فرستادن یک ارتعاش ، برای بازگشت صدا منتظر می ماند.

نحوه کار سنسور التراسونیک HC-SR04

فرستنده یک موج التراسونیک را در فرکانس 40 هرتز ساطع می کند ، این موج از طریق هوا عبور می کند و هنگامی که یک جسم را حس می کند باز میگردد. امواج برگشتی توسط گیرنده مشاهده می شود. اکنون می دانیم زمان لازم برای بازتاب و بازگشت این موج گرفته شده است و سرعت موج التراسونیک 3400 سانتی متر در ثانیه است. با استفاده از این اطلاعات و فرمول زیر میتوان فاصله را حساب کرد [ فاصله = سرعت موج * زمان ]

ماژول وای فای ESP8266

ESP8266 یک ماژول Wi-Fi است که به پروژه های شما دسترسی به Wi-Fi یا اینترنت می دهد. این دستگاه بسیار ارزان است اما پروژه های شما را بسیار قدرتمند می کند. این ماژول وای فای می تواند با هر میکروکنترلری ارتباط برقرار کند و پروژه ها را بی سیم کند. جالب است بدانید این قطعه در لیست مهمترین دستگاه های موجود در سیستم عامل IOT قرار دارد. روی 3.3 ولت کار میکند و اگر به آن 5 ولت دهید ، آسیب می بیند.

ماژول وایفای ESP8266

ESP8266 دارای 8 پین است؛ VCC و CH-PD برای فعال کردن wifi به 3.3V وصل خواهند شد. پین های TX و RX مسئولیت ارتباط ESP8266 با آردوینو را بر عهده خواهند گرفت. پین RX بر روی 3.3 ولت کار می کند، بنابراین ما باید یک مدار تقسیم ولتاژ ایجاد کنیم.

توضیحات مدار پروژه

اول از همه ESP8266 را به Arduino متصل خواهیم کرد. ESP8266 روی 3.3 ولت اجرا می شود و اگر 5 ولت را از آردوینو به آن بدهید، به درستی کار نخواهد کرد و ممکن است آسیب ببیند. VCC و CH_PD را به پین ​​3.3V آردوینو وصل کنید. پین RX ESP8266 روی 3.3V کار می کند و هنگامی که مستقیماً به آردوینو وصل شود با Arduino ارتباط برقرار نخواهد کرد. بنابراین ، ما مجبور به ایجاد تقسیم ولتاژ برای آن هستیم. سه مقاومت 1 کیلو اهم  کارها را برای ما انجام می دهند. RX را به پین ​​11 آردوینو از طریق مقاومتها مطابق شکل زیر و همچنین TX به پین ​​10 آردوینو وصل کنید.

مانیتورینگ وضعیت منبع مبتنی بر اینترنت اشیا و Arduino

سپس زمان آن رسیده که سنسور التراسونیک HC-SR04 را به آردوینو متصل کنیم. اتصالات حسگر اولتراسونیک با Arduino بسیار ساده است. VCC و GND سنسور اولتراسونیک را به 5 ولت و GND آردوینو وصل کنید. سپس پین TRIG و ECHO سنسور اولتراسونیک را به ترتیب به پین ​​8 و 9 آردوینو وصل کنید.

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

  1. برد آردوینو Uno (یا هر برد آردوینوی دیگری)
  2. ماژول وای فای ESP8266
  3. سنسور التراسونیک HC-SR04
  4. مقاومت 1 کیلو اهم
حتما ببینید :  مشاهده ظرفیت باقی مانده منبع در اینترنت با ESP8266 + هشدار (پروژه اینترنت اشیا)

توضیح کد پروژه

قبل از آپلود کد ، اطمینان حاصل کنید که به Wi-Fi دستگاه ESP8266 خود وصل شده اید. کد کامل در انتهای صفحه در فایل دانلودی قرار داده شده است. در اینجا بعضی از قسمت های کد را توضیح میدهیم.

آردوینو ابتدا اطلاعات سنسور التراسونیک را دریافت میکند. هنگامی که ما پین TRIG را برای 10us فعال کنیم، یک سیگنال اولتراسونیک با سرعت صدا ارسال می شود. سیگنال پس از برخورد با اجسام، بر میگردد مدت زمان رفت و برگشت در یک متغیر ذخیره میشود. سپس فاصله را با استفاده از فرمول داده شده محاسبه میکنیم. و فاصله را در متغیر فاصله ذخیره میکنیم.

اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید.
digitalWrite(trigPin, LOW); // غیرفعال شدن پین تریگر
delayMicroseconds(2);
digitalWrite(trigPin, HIGH); // فعال شدن پین تریگر
delayMicroseconds(10);
digitalWrite(trigPin, LOW);   
duration = pulseIn(echoPin, HIGH); // دریافت پین اکو
distance= duration*0.034/2; // فرمول محاسبه فاصله و ذخیره در یک متغیر

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

  if(esp8266.available())
  {    
    if(esp8266.find("+IPD,"))
    {
     delay(1000);
     int connectionId = esp8266.read()-48; 
     String webpage = "<h1>IOT Garbage Monitoring System</h1>";
       webpage += "<p><h2>";   
       if (distance<5)
       {
        webpage+= " Trash can is Full";
        }
        else{
          webpage+= " Trash can is Empty";
          }
       webpage += "</h2></p></body>";

کد زیر داده ها را به صفحه وب ارسال و نشان می دهد. ESP8266 سپس کاراکتر را یک به یک از Command می خواند و آن را در صفحه وب چاپ می کند.

String sendData(String command, const int timeout, boolean debug)
{
    String response = "";   
    esp8266.print(command); 
    long int time = millis();
    while( (time+timeout) > millis())
    {
      while(esp8266.available())
      {
        char c = esp8266.read(); 
        response+=c;
      }  
    }
    if(debug)
    {
      Serial.print(response);
    }
    return response;
}

فیلم عملکرد پروژه و تست

پس از بارگذاری کد ، سریال مانیتور را باز کنید و آن مطابق شکل زیر یک آدرس IP به شما نشان می دهد.

پروژه IoT مشاهده وضعیت سطل در اینترنت با آردوینو

این آدرس IP را در مرورگر خود تایپ کنید ، همانطور که در شکل زیر میبینید ، وضعیت را نشان می دهد. اگر می خواهید دوباره ببینید که سطل آشغال خالی است یا خیر ، صفحه را رفرش کنید.

پروژه اینترنت اشیا نمایش وضعیت منبع

بنابراین اینطور ما یک سیستم مانیتورینگ وضعیت منبع مبتنی بر اینترنت اشیا و آردوینو میسازیم. فیلم زیر به شما در درک نحوه کار پروژه کمک میکند.

دانلود فیلم عملکرد پروژه مانیتورینگ وضعیت منبع IOT

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

برای دانلود فایل های پروژه ثبت نام کنید، تنها چند ثانیه زمان لازم است. از طریق فرم زیر اقدام کنید.

ایمیل خود را وارد کنید

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

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

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

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

دکمه بازگشت به بالا
بستن
بستن