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

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

سلام. پروژه مشاهده ضربان قلب در اینترنت با آردوینو IoT را آماده کردیم.

پروژه مانیتورینگ ضربان قلب اینترنت اشیا و Arduino

در این پروژه آردوینو ما میخواهیم با استفاده از برد Arduino یک سیستم اندازه گیری ضربان قلب بسازیم. این پروژه از سنسور پالس برای حس کردن نبض استفاده میکند و Arduino ضربان قلب در دقیقه BPM را محاسبه و در ال سی دی کاراکتری نمایش میدهد. همچنین این داده ها با استفاده از ماژول وای فای esp 8266 به پلتفرم thingspeak ارسال میشوند. شما میتوانید این داده ها را در هر جای دنیا مشاهده کنید.

ما قبلا یک پروژه با آردوینو ساخته بودیم که با آن ضربان قلب را اندازه گیری (بدون قابلیت ارسال به محیط اینترنت) میکردیم : آموزش شمارش ضربان قلب با آردوینو (پروژه مانیتورینگ ضربان قلب با Arduino)

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

مشاهده ضربان قلب در اینترنت با آردوینو

چراغ LED متصل به پین ​​13 نیز مطابق با قلب ضربان نیز چشمک خواهد زد. ESP8266 سپس با Arduino ارتباط برقرار می کند و داده ها را به ThingSpeak ارسال می کند. ThingSpeak این داده ها را به صورت نمودار نشان میدهد. شما میتوانید از هر نقطه دنیا به این وبسایت رفته و اطلاعات را بررسی کنید. این ابزار برای دکتر های از راه دور بسیار مناسب است تا وضعیت بیماران خود را بررسی کنید.

راه اندازی ThingSpeak برای پروژه سنجش نبض

ThingSpeak ابزار بسیار مناسبی برای پروژه های مبتنی بر IoT است. با استفاده از سایت ThingSpeak، می توانیم با استفاده از کانالها و صفحات وب ارائه شده توسط ThingSpeak، داده های خود را کنترل کرده و سیستم خود را بر روی اینترنت کنترل کنیم. در اینجا ما به طور خلاصه توضیح می دهیم که چگونه از ThingSpeak برای این پروژه نظارت بر ضربان قلب IoT استفاده کنید.

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

راه اندازی ThingSpeak برای پروژه سنجش نبض

پس از ایجاد یک حساب کاربری، به Channels بروید و یک Channel جدید ایجاد کنید. حالا نام کانال و نام فیلدها را بنویسید. همچنین گزینه “Make Public” را فعال کنید و در آخر کانال را ذخیره کنید. اکنون کانال جدید شما ایجاد شده است.

حتما ببینید :  پروژه مکان یاب GPS با برد STM32 + آموزش کامل و فیلم

کلید API سایت ThingSpeak با آردوینو

پس از این به کلیدهای API بروید و کلید Writing API خود را کپی کنید. شما در کد آردوینو به این نیاز خواهید داشت. در پایان کد کامل را بررسی کنید.

ما قبلا پروژه دیگری را با استفاده از پلتفرم Thing Speak راه اندازی کردیم :

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

تصویر زیر شماتیک مدار این پروژه را نشان میدهد.

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

اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید.

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

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

ماژول Wi-Fi ESP8266 به پروژه های شما امکان دسترسی به Wi-Fi یا اینترنت را می دهد. این دستگاه بسیار ارزان است و پروژه های شما را بسیار قدرتمند می کند. این دستگاه می تواند با هر میکروکنترلری ارتباط برقرار کند و از مهمترین دستگاه های مربوط به اینترنت اشیا است.

سنسور ضربان قلب Pulse Sensor

سپس سنسور پالس را به آردوینو وصل کنید. اتصالات سنسور پالس بسیار آسان است. سنسور پالس دارای سه پین ​​است. 5V و پین GND سنسور پالس را به 5 ولت و GND  آردوینو و پین سیگنال را به A0 آردوینو وصل کنید.

سپس LED را به پین ​​13 آردوینو وصل کنید. لازم نیست یک مقاومت را به آن وصل کنید زیرا Arduino در پین 13 با مقاومت ساخته شده است.

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

  1. سنسور ضربان قلب Pulse Sensor
  2. ماژول وای فای  ESP8266
  3. برد آردوینو Uno
  4. ال سی دی کاراکتری 16*2
  5. پتانسیومتر 10 کیلو اهم
  6. مقاومت 1 کیلو اهم
  7. مقاومت 220 اهم
  8. ال ای دی

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

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

در ابتدای کد، کتابخانه های مورد نیاز را فراخوانی میکنیم. کتابخانه سریال برای فعال کردن RX و TX در پین 9 و پین 10 است. پین های پیش فرض RX و TX آردوینو پین 0 و 1 هستند اما اگر می خواهید آن را در پین های دیگر فعال کنید که باید از کتابخانه سریال استفاده کنید. سپس کتابخانه کریستال مایع (LiquidCrystal.h) را فراخوانی کنید و پین هایی را که LCD را به آن وصل کرده اید، اعلام کنید.

#include <SoftwareSerial.h> // کتابخانه ارتباط سریالی
#define DEBUG true
SoftwareSerial esp8266(9,10);  // تعریف پین های ماژول esp8266
#include <LiquidCrystal.h> // فراخوانی کتابخانه ال سی دی کاراکتری
#include <stdlib.h>
LiquidCrystal lcd(12,11,5,4,3,2); // تعریف پین های ال سی دی کاراکتری

نام Wi-Fi ، رمز عبور و آدرس IP  ماژولESP8266 را وارد کنید. سپس کلید API را از ThingSpeak که پیشترذخیره کرده اید وارد کنید.

#define SSID "Your Wifi Name" // نام وای فای شما
#define PASS "Your Wifi Password" // رمز وای فای شما
#define IP "184.106.153.149" // آیپی ماژول
String msg = "GET /update?key=9YS21NU0HY5YS1IKU"; // API سایت Thingspeak

کد زیر کار LCD را شروع می کند و میزان baud را تنظیم می کند. نرخ Baud را مطابق با ESP8266 خود وارد کنید. هر ESP8266 نرخ باود خودش را دارد. برخی دارای نرخ 9600 ، برخی از آنها 115200 یا … هستند.

void setup()
{
  lcd.begin(16, 2);
  lcd.print("circuitdigest.com");
  delay(100);
  lcd.setCursor(0,1);
  lcd.print("Connecting...");
  Serial.begin(9600); //or use default 115200.
  esp8266.begin(9600);
  Serial.println("AT");
  esp8266.println("AT");
  delay(5000);
  if(esp8266.find("OK")){
    connectWiFi();
  }
  interruptSetup(); 
}

تابع زیر void updatebeat () را در آدرس IP که وارد کرده ایم ارسال می کند و همچنین داده هایی را در زمینه تنظیم شده برای ضربان قلب تنظیم می کند.

void updatebeat(){
  String cmd = "AT+CIPSTART=\"TCP\",\"";
  cmd += IP;
  cmd += "\",80";
  Serial.println(cmd);
  esp8266.println(cmd);
  delay(2000);
  if(esp8266.find("Error")){
    return;
  }
  cmd = msg ;
  cmd += "&field1=";   
  cmd += BPM;
  ..... .....
  ...... .....

کد زیر ESP8266 را به شبکه Wi-Fi که قبلاً وارد آن شده اید متصل می کند و سپس از این شبکه برای ارسال داده به ThingSpeak استفاده می کند.

boolean connectWiFi(){
  Serial.println("AT+CWMODE=1");
  esp8266.println("AT+CWMODE=1");
  delay(2000);
  String cmd="AT+CWJAP=\"";
  cmd+=SSID;
  cmd+="\",\"";
  cmd+=PASS;
  cmd+="\"";
  .... .....
  ..... .....

کد زیر مقدار سنسور را خوانده و خروجی سنسور را به ضربان قلب در هر دقیقه (BPM) تبدیل می کند. همچنین چراغ LED متصل به پین ​​13 مطابق با BPM چشمک می زند.

ISR(TIMER2_COMPA_vect){
  cli();
  Signal = analogRead(pulsePin);
  sampleCounter += 2;
  int N = sampleCounter - lastBeatTime;
  if(Signal < thresh && N > (IBI/5)*3){
    if (Signal < T){
      T = Signal; 
      ... ....
       ...... ..

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

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

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

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

محمد رحیمی

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

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

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

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