پروژه الکترونیکپروژه های 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 کیلو اهم
[irp posts=”5628″ name=”مشاهده ظرفیت باقی مانده منبع در اینترنت با 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

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

برای دانلود فایل ها باید عضو آیرنکس باشید، تنها چند ثانیه زمان لازم است.

ورود / ثبت نام

[lrm_form default_tab=”register” logged_in_message=””]

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

محمد رحیمی

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

10 نظر

    1. سلام جناب. در انتهای مطلب در بالای قسمت ستاره های امتیاز دهی قرار گرفته است.

      1. ممنونم ،انجام دادم ،ولی نمیدونم چجوری باید به ماژول وای فای وصل بشم .

        1. منظورتون رو توضیح بدید، از چی به ماژول وایفای وصل بشید؟

          1. بعد از پروگرم کردن بالاخره باید یجوری ماژول به یه جایی وصل بشه ،من با گوشی میتونم بهش وصل بشم و اینکه کلا این ماژول وای فای برنامه جدایی میخواد یا با برنامه نویسی آردیونو برای این پروژه کار میکنه ؟

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

  1. سلام ،چجوری باید به وای فای این ماژول وصل بشیم ‌ . کدهارو پروگرم کردم .

    1. سلام جناب. ماژول رو باید به وای فای (مودم یا هات اسپات گوشی) متصل کنید. نام و رمز وای فای خودتون رو در برنامه تعریف کنید تا با راه اندازی مدار به صورت خودکار به وای فای شما متصل بشه.

      1. ببخشید ولی همینکه کجا اسم وای فای خودمو وارد کنمو دقیقا نمیدونم . کدوم خط باید اونو وارد کنم و مثلا اسم وای فای من (shah)باشه با رمز (۱۲۳۴۵۶۷۸۹)اینو کجای برنامه باید وارد کنم .

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

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

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