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

پروژه دماسنج کرونا با موبایل اندروید و آردوینو (ثبت تصویر و خروجی اکسل)

بیماری کرونا دیگر نیازی به معرفی ندارد. امروزه در انواع اماکن عمومی غربالگری افراد از نظر درجه حرارت به عنوان یک اقدام پیشگیرانه برای بررسی تب انجام میشود. دستگاهی که برای این کار استفاده میشود دماسنج مادون قرمز است که بدون نیاز به تماس با بدن حرارت بدن را اندازه میگیرد. در این اوضاع تقاضای زیادی برای این محصول وجود دارد. ما در این پروژه یک دماسنج کم هزینه را میسازیم که بدون نیاز به تماس با فرد دمای بدن فرد مورد نظر را اندازه گیری میکند. همچنین این دماسنج تصویر افراد را نیز ذخیره میکند.

در حالت عادی برای راه اندازی این پروژه قطعات زیادی مورد نیاز است اما در اینجا ما از یک تلفن همراه استفاده میکنیم تا هزینه ها و قطعات کمتر شود. از تلفن همراه برای عکس برداری از افراد و ثبت دمای بدن آن ها استفاده میشود. ما برای این پروژه یک برنامه ساخته ایم و میتوانید آن را دانلود کنید. همچنین این نرم افزار متن باز است و میتوانید تغییرات دلخواه خود را در آن بوجود بیاورید. ما در این پروژه از سنسور TCRT5000 ، MLX90615  و آردوینو نانو استفاده میکنیم.

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

پروژه های دیگر در زمینه کرونا را هم مشاهده کنید : 

چرا TCRT5000 و آردوینو نانو برای تب سنج ؟

برای بسیاری از افراد ، این سؤال مطرح می شود. دلیل استفاده از سنسور TCRT5000 IR تشخیص موقعیت دماسنج و خواندن خودکار دما است. یعنی خواندن فقط در شرایطی صورت خواهد گرفت که سنسور در فاصله مناسب از فرد قرار داشته باشد ، بنابراین نگران خواندن اشتباه نیستیم.

دلیل استفاده از Arduino Nano این است که دارای رابط USB داخلی است که برای برقراری ارتباط بین کنترلر و تلفن از اهمیت بالایی برخوردار است. اگر برد آردوینو نانو در دسترس ندارید ، می توانید از Mega یا حتی UNO نیز استفاده کنید. اما در صورتی که میخواهید کمتر هزینه کنید ، شما حتی می توانید از میکروکنترلر بسیار کم قدرت مانند STM8S یا هر کنترلر دیگری که از I2C ، ADC و UART پشتیبانی می کند ، استفاده کنید.

مدار اتصال MLX90615 و TCRT5000 به آردوینو

مدار پروژه ما بسیار ساده است ، فقط باید سنسور MLX90615 و TCRT5000 را به برد آردوینو نانو وصل کنیم. شماتیک مدار برای دماسنج بدن بدون اتصال در زیر آورده شده است.

قطعات مورد نیاز را از فروشگاه قطعات آیرنکس تهیه کنید.

مدار اتصال MLX90615 و TCRT5000 به آردوینو

MLX90615 و TCRT500 به ترتیب در 3.3 ولت و 5 ولت کار می کنند ، بنابراین می توانیم بر این اساس به آن ها نیرو دهیم. پین های ارتباط I2C یعنی A4 (SDA) و A5 (SCL) برای ارتباط با سنسور MLX90615 استفاده می شوند. ما دیود مادون قرمز را به یک پین دیجیتالی و فتودیود را به یک پین آنالوگ متصل میکنیم تا تغییرات و میزان دما را متوجه شویم.

سنسور MLX90615
سنسور MLX90615

 

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

در این آموزش ما از کتابخانه سنسور MLX90615 استفاده میکنیم که کار ما را بسیار آسان میکند. کد کامل و کتابخانه مورد نیاز در فایل دانلودی انتهای صفحه قرار داده شده است. در اینجا بعضی از قسمت های کد را بررسی میکنیم.

کد نویسی را با فراخوانی کتابخانه مورد نیاز و اعلام متغیر ها شروع میکنیم. دو متغیر مهم در اینجا وجود دارد که یکی برای صحت اندازه گیری و دیگری برای مقدار حساسیت دامنه است. برای دریافت اندازه صحیح شما باید با آزمون و خطا با توجه به مدار خود عددی را بنویسید. در اینجا ما با آزمون و خطا عدد 3.2 را استفاده کردیم. مقدار حساسیت دامنه را میتوانید تغییر دهید تا دامنه عملکرد دماسنج خود را کم و زیاد کنید.

float calibration = 3.2; //مقدار کالیبراسیون
int Range_sensitivity = 200; //محدوده حسگر
#include <Wire.h>
#include "MLX90615.h"
MLX90615 mlx = MLX90615();

جلوگیری از تداخل نور خورشید در کار تب سنج

قسمت بعدی پروژه نحوه استفاده TCRT5000 در این پروژه است. در اینجا ما از این سنسور به عنوان سنسور موقعیت استفاده میکنیم. مشکل اینجاست که اگر نور خورشید به سنسور مادون قرمز برخورد کند، باعث ایجاد تداخل و مشکل در کار تب سنج میشود.

برای جلوگیری از این مشکل ، ما دو مقدار از سنسور TCRT5000 خود را همانطور که در مدار توضیح داده شده اندازه گیری می کنیم ، LED فرستنده سنسور IR به یک پین دیجیتالی متصل می شود و LED گیرنده به پین ​​آنالوگ متصل می شود. اکنون در برنامه ما دو مقدار از حسگر IR خود خواهیم خواند ، یکی نویز و دیگری نویز به علاوه سیگنال. ما باید مقدار نویز را از مقدار نویز+سیگنال کم کنیم تا مقدار دقیق را بدست آوردیم.

اگر در مورد این مطلب سوالی دارید در قسمت نظرات بپرسید
digitalWrite(2,HIGH);    // روشن کردن ال ای دی
delayMicroseconds(500);  // روشن کردن ال ای دی به مدت نیم ثانیه
Noise_P_Signal=analogRead(A7);      // خواندن مقدار نویز+سیگنال
digitalWrite(2,LOW);     // خاموش کردن ال ای دی
delayMicroseconds(500);  // روشن کردن ال ای دی
Noise=analogRead(A7);        // خواندن مقدار نویز
Signal = Noise - Noise_P_Signal; // تفریق و بدست آوردن مقدار سیگنال

هنگامی که مقدار Signal و Noise را بدانیم ، می توانیم آن را با مقدار Range_sensivity (محدوده حساسیت) خود مقایسه کنیم تا بررسی کنیم آیا سنسور در نزدیکی پوست قرار دارد یا خیر ، اگر بله ، می توانیم مقدار دما را از طریق ارتباط سریال بفرستیم در غیر این صورت ، ما فقط post_error را ارسال خواهیم کرد .اگر مقدار خروجی نویز بسیار زیاد باشد (در این حالت بیشتر از 500) ، به این معنی است که سنسور در معرض نور مستقیم خورشید قرار دارد و ما در این حالت دما را نخواهیم خواند زیرا در هنگام مواجهه با نور مستقیم خورشید مقادیر حسگر بسیار غیرقابل اطمینان میشوند. کد زیر برای جلوگیری از این اتفاق است.

if (Signal>Range_sensitivity && Noise >500) 
{
  if (trigger == true)
   Serial.println("start");
   digitalWrite(13,HIGH);
   temperature = (mlx.get_object_temp()) + error_correction;
  Serial.println(temperature,1);
  delay(100);
  trigger = false;
}
else
{
  delay(100);
  trigger = true;
  digitalWrite(13,LOW);
  Serial.println("position_error");
}

برنامه اندروید برای تشخیص کرونا با آردوینو

بهترین قسمت این پروژه نرم افزار اندروید Easy Scan Android است. پرونده نصب این برنامه در فایل دانلودی انتهای صفحه قرار داده شده است. توضیح دادن نحوه برنامه نویسی این نرم افزار از محدوده این پروژه خارج است اما فایل های سورس این اپلیکیشن در فایل دانلودی انتهای صفحه قرار داده شده است و میتوانید آن را ویرایش کنید.

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

برنامه اندروید برای تشخیص کرونا با آردوینو

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

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

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

سپس از آن از کانکتور OTG استفاده کرده و برد آردوینو خود را به تلفن همراه وصل کنید. اطمینان حاصل کنید که OTG را در تلفن همراه خود روشن کرده باشید.  پس از برقراری اتصال ، برنامه Easy Scan را نصب کنید و برنامه را راه اندازی کنید. دستگاه را در مقابل یک شی قرار دهید و اگر همه چیز مطابق آنچه انتظار می رود کار کند ، باید مقدار دما را در برنامه مشاهده کنید.

برنامه به شما امکان می دهد دمای آستانه را تنظیم کنید ، اگر درجه حرارت بیشتر از این مقدار آستانه باشد ، از شما می خواهد که عکس بگیرید. همه سوابق اسکن شده و با زمان و تاریخ در برنامه مشاهده می شوند و همچنین می توانند در قالب Excel برای حفظ سوابق به اشتراک گذاشته شوند.

موارد موجود در فایل : سورس کامل ، شماتیک ، نرم افزار اندروید ، کتابخانه مورد نیاز

5 (10 نفر)

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

محمد رحیمی

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

24 نظر

    1. جناب رحیمی من تایم زیادی برا ارائه پروژه ندارم خواهشمندم در تالار کمک کنین

    1. متن ارور و کدی که آپلود میکنید را به صورت کامل در انجمن قرار بدهید.

  1. سلام قسمت دوم کد پروژه ارور میده
    بعد از کد مربوط به سنسور mlx
    بقیه کد رو ارور میده و اینکه آیا توی فایل سورس ، کد به صورت کامل هست و همون باید کپی کرد توی برنامه ardoino ide ?

    1. سلام عزیز
      اروری که دریافت میکنید را ارسال کنید

  2. سلام خسته نباشید من در اجرای پروژه تو قسمت کد اردوینو سنسور TCRT5000 دچار مشکل شدم میخواستم بدونم کدی که گذاشتین درسته ؟

    1. سلام عزیز
      کد سالم هست
      در کدام قسمت به چه شکل دچار مشکل شده اید؟

  3. سلام خسته نباشید عیدتون مبارک باشه من اردوینو uno دارم و میخواستم بدونم دچار مشکل میشم تو پروژه یا خیر ؟

    1. سلام عزیز
      با آردوینو اونو هم قابل اجرا هست

  4. سلام
    برای ریختن برنامه مشکل دارم البته از آردوینو uno استفاده میکنم ولی تراشه ها با هم برابر برنامه کامپایل میکنم یکی از خط ها رو خطا میگیره ؟
    هر دوتا سنسور تهیه کردم (سنور دما خیلی گرون بود )
    میشه راهنمایی کنید
    کدوم فایل سورس برنامه ؟
    Source.txt
    یا
    Mlz90615.h

    1. سلام جناب. فایل Source کد پروژه هست و فایل .h کتابخانه سنسور دما است.

    2. مهندس جان فرق نمیکنه ادرینو مدل دیگه باشه
      فایل کتابخانه رو کجا باید بریزم
      چون فایل برنامه کپی میکنم خطا میگیره از یه خطش

  5. سلام
    میتونید قطعاتشو تهیه و ارسال کنید ؟
    یا یه پک امادش برام بفرستید
    هزینش تقدیم میکنم

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

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

  6. سلام
    میشه از آردوینو uno استفاده کرد؟به طور خلاصه چه تغییراتی لازم است ؟

    1. بله میشه از آردوینو یونو استفاده کرد و حقیقتا من با این دماسنج دارای یو اس بی کار نکردم نمیدونم دقیقا چه چیزهایی لازمه.

  7. سلام بر شما
    سه تا سوال داشتم،1-میشه به جای سنسور MLX90615 از MLX90614 استفاده کرد؟
    2-اگر از دماسنج مادون قرمز غیرتماسی MLX90615 دارای ارتباط USB استفاده کنم با نصب برنامه ایزی اسکن آیا این برنامه کار میکند؟دما را نشان می دهد؟در واقع حذف برد آردوینو.
    3-این سیستم و برنامه قابلیت تجاری سازی رو داره؟
    باتشکر از سایت خوبتون.موفق باشید،یاعلی

    1. سلام جناب. سوال اول : با اون سنسور دیگه تست نکردم مطمئن نیستم. در مورد سوال دوم هم من با اون مدل کار نکردم باید خودتون بررسی کنید و احتمال زیاد نیاز به تغییرات دارید. سوال سوم : بله باید بهینه ترین حالت رو پیدا کنید تا به بهترین شکل تجاری بشه.

    2. سلام وقت بخیر
      نرم افزار اندروید رو کجا و چطور باید دانلود کنیم

    3. سلام جناب. نرم افزار اندروید مورد نیاز در فایل دانلودی انتهای صفحه قرار داده شده است.

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

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