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

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

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

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

در این پروژه آردوینو ما میخواهیم با استفاده از برد 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 آردوینو

کلید 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 هستند اما اگر می خواهید آن را در پین های دیگر فعال کنید که باید از کتابخانه ارتباط سریال UART استفاده کنید. سپس کتابخانه کریستال مایع (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; 
      ... ....
       ...... ..

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

مطلب پیشنهادی:  آموزش پروژه قدم شمار با آردوینو و شتاب سنج

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

دانلود فایل های پروژه

میخواهید برنامه نویسی STM32 را یاد بگیرید؟

دوره آموزش STM32

میخواهید الکترونیک را یاد بگیرید؟

دوره آموزش الکترونیک
دوره آموزش آردوینو

میخواهید آردوینو را به صورت پروژه محور یاد بگیرید؟ برای مشاهده توضیحات روی دوره مورد نظر کلیک کنید

محمد رحیمی

محمد رحیمی

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

2 نظر

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

    1. سلام، قطعات مورد نیاز در تصویر شماتیک و قسمت قطعات مورد نیاز نوشته شده.

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

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