آردوینو برد ESP8266 سیم کارت GSM - GPRS موقعیت یاب GPS پروژه های آردوینو

پروژه کیت پالس اکسیمتر گزارش گیری و موقعیت یابی بیمار از راه دور

puslse-oximeter-health-kit-with-esp8266-max30102-sensor-gsm-and-gps-module-digispark
نوشته شده توسط معین صابری

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

 


قابلیت ها و ویژگی های کیت سلامت 


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

  • دارای GPS جهت تعیین دریافت موقعیت دقیق بیمار از طریق پیامک
  • قابلیت اندازه گیری ضربان قلب، دمای بدن و اکسیژن خون و ارسال از طریق پیامک
  • قابلیت اندازه گیری و نمایش ضربان قلب، دمای بدن و اکسیژن خون بر روی نمایشگر OLED
  • قابلیت پرتابل بودن دستگاه به لطف تغذیه از طریق باتری لیتیمی
  • دارای چیپ شارژر جهت شارژ آسان باتری از طریق شارژرهای تلفن های همراه

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

 


سنسور MAX30102


سنسور پالس اکسیمتر MAX30102، یک سنسور جهت سنجش میزان اکسیژن خون و میزان ضربان قلب کاربر است. این سنسور که از پروتکل I2C پشتیبانی می کند، قادر است تا میزان ضربان قلب و اکسیژن خون را اندازه گیری نماید. از دیگر قابلیت های این سنسور می توان به اندازه گیری دما نیز اشاره نمود. بدین ترتیب به کمک این سنسور، سه پارامتر حیاتی و مهم دمای بدن، میزان ضربان قلب و مقدار اکسیژن خون را می توانید اندازه گیری نمایید. به عبارت دیگر، به کمک این سنسور، می توان سلامت افراد در مقابل بیماری کرونا را کنترل نمود. در سایر موارد، نظیر تست های ورزشی و ساخت گجت های هوشمند نیز، می توان از این سنسور، بهره برد. برای راه اندازی و کار با این سنسور، کتابخانه های مختلفی تحت آردوینو توسعه یافته که در این آموزش از کتابخانه DF ROBOT استفاده خواهیم کرد.

سنسور پالس اکسی متر max30102 - دیجی اسپارک

 

سنسور پالس اکسیمتر MAX30102، یک سنسور با قابلیت راه اندازی از طریق بردهای آردوینو و ESP است. اما جهت راه اندازی و کار با این سنسور، دو مورد زیر حائز اهمیت است.

  • این سنسور با ولتاژ ۵ آردوینو راه اندازی شد، اما طبق بررسی به عمل آمده، با کاهش ولتاژ تغذیه آن به مقدار ۲٫۶ ولت و اتصال به برد ESP8266، مقادیر خروجی آن دقیق تر شدند.
  • کتابخانه مورد استفاده سنسور، در برد آردوینو UNO تا ۷۰ درصد حجم حافظه را اشغال می کند. لذا ماژول ESP8266 جهت راه اندازی و کار با این سنسور، به دلیل حجم حافظه بالا(۴مگابایت)، انتخاب مناسبی برای کار با این سنسور به شمار می رود.

 


ماژول ESP8266 تعریف و مزایا


ماژول ESP8266، یک برد فوق العاده قدرتمند است. این ماژول که از پردازنده XTENSA بر روی خود بهره می برد، دارای حافظه فلش با حجم ۴ مگابایت است. این پردازنده می تواند تا ۱۶۰ مگاهرتز سرعت کلاک پردازنده داشته باشد. در کنار این، این پردازنده دارای ارتباط وای فای است. به کمک این قابلیت می توانید این برد را به مودم ها متصل کرده و داده های خود را در بستر اینترنت، ارسال و دریافت کنید. همچنین این برد از سیستم عامل FREE RTOS، جهت اجرای Task های شبکه و کاربر، استفاده می کند.

پروژه ساخت portable pulse oximeter اکسی متر - دیجی اسپارک

 

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

  • اندازه کوچک، قیمت مقرون به صرفه
  • قابلیت ایجاد شبکه وای فای به صورت لوکال
  • فرکانس کاری ۱۶۰ مگاهرتزی، حافظه ۴ مگابایتی
  • قابلیت اتصال به اینترنت از طریق مودم و بدون نیاز به هیچ تجهیز جانبی

 


ماژول SIM800L


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

  • ولتاژ کاری بین ۳٫۴ الی ۴٫۴
  • قابلیت کار در فرکانس های ۸۵۰/۹۰۰/۱۸۰۰/۱۹۰۰
  • قابلیت برقراری تماس صوتی دو طرفه
  • قابلیت ارسال و دریافت پیامک
  • قابلیت اتصال به اینترنت و ارسال و دریافت داده
  • پشتیبانی از پروتکل های FTP،HTTP،SMTP و….

ماژول Sim800L برای ساخت دوربین سیم کارتی - دیجی اسپارک

 

در این پروژه ما از این ماژول جهت ارسال پیامک حاوی اطلاعات بیمار به کاربر استفاده می کنیم. از آنجاییکه ولتاژ کاری این ماژول بین ۳٫۴ الی ۴٫۲ قرار می گیرد، لذا از طریق باتری لیتیمی به صورت مستقیم و بدون واسط می توانیم این ماژول را تغذیه نماییم. برای راه اندازی و کار با این ماژول کاربردی سلسله آموزشی طی ۱۱ مرحله منتشر شده که با کلیک بر روی این لینک می توانید این آموزش ها را دنبال و مطالعه کنید.

 


نمایشگر OLED


نمایشگرهای OLED نسل جدید از نمایشگرها در حوزه الکترونیک و کامپیوتر هستند. این نمایشگر ها در اندازه های ۳۲*۱۲۸ و یا بزرگتر ساخته می شوند. از این نمایشگر ها در ساعت های هوشمند، گجت های پوشیدنی و… به وفور استفاده می گردد. در این آموزش ما هم از این نمایشگر برای نمایش اطلاعات مربوط به میزان ضربان قلب و اکسیژن خون کاربر، استفاده می نماییم. برای راه اندازی و نحوه کار با این نمایشگر، پیشنهاد می کنم آموزش های منتشر شده در دیجی اسپارک(لینک آموزش ها، کلیک کنید) را به طور کامل مطالعه نمایید.

نمایشگر OLED پالس اکسی متر Pulse Oximeter - دیجی اسپارک

 

در این آموزش از یک نمایشگر OLED با اندازه ۱۲۸X32 استفاده نموده ایم. به کمک این نمایشگر، مقادیر ضربان قلب و اکسیژن خون کاربر را نمایش می دهیم. از آنجاییکه این نمایشگرها به نور پس زمینه نیازی ندارند، بنابراین توان مصرفی آن ها بسیار کم بوده و برای پروژه های قابل حمل و گجت های هوشمند، انتخاب مناسبی به شمار می روند.

 


ماژول GPS از نوع NEO6M


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

ماژول GPS از نوع NEO6M - دیجی اسپارک

 

جهت دریافت موقعیت از ماهواره ها، نیازمند ماژول های گیرنده GP0S هستیم. یکی از این ماژول ها، ماژول های UBLOX هستند. این ماژول ها یکی از پایدارترین و پرکاربردترین گیرنده های GPS بوده که به سادگی با بردهای آردوینو، ESP و سایر میکروکنترلرها راه اندازی می گردد. به کمک این ماژول می توانیم موقعیت دقیق خود را همراه با اطلاعات جانبی نظیر ارتفاع، سرعت، ساعت و تاریخ و… بدست آوریم. در این پروژه از این ماژول جهت تعیین موقعیت دقیق بیمار استفاده می کنیم. به کمک این ماژول موقعیت مکانی دقیق را بدست آورده و به وسیله ماژول SIM800L، اطلاعات بیمار به همراه موقعیت مکانی به کاربر پیامک گردد.

 


ماژول کاهنده ولتاژ LM2596


مبدل کاهنده LM2596، یک مبدل ولتاژ DC به DC است. به کمک این مبدل می توانید ولتاژ ورودی خود را به ولتاژ دلخواه خود در خروجی، تبدیل نمایید. با توجه به وجود یک مولتی ترن(ولوم) جهت تنظیم ولتاژ، می توان ولتاژ خروجی را بر مبنای نیاز خود، روی ولتاژ های ۳٫۳، ۵، ۳، ۱٫۸ و به طور کلی هر ولتاژی که مد نظر شماست، تنظیم نمایید. راه اندازی و کار با این ماژول بسیار ساده بوده و کافیست در ورودی تغذیه را متصل کرده و با ولوم، خروجی را تنظیم نمایید. این ماژول می تواند تا ۳ آمپر جریان به خروجی، بار دهد.

مبدل کاهنده ولتاژ lm2596 در ساخت دستگاه پالس اکسی متر - دیجی اسپارک

 

در رابطه با تغذیه ماژول ESP از طریق باتری، باید توجه داشت که این ولتاژ بیشینه برای تغذیه این ماژول، ۳٫۶ ولت است. از طرف دیگر، ولتاژ باتری های لیتیم پلیمری، در بازه ۳٫۴ به ازای تخلیه کامل تا ۴٫۲ در حالت فول شارژ، قرار می گیرند. با توجه به اینکه ولتآژ مورد نیاز جهت دریافت مقادیر صحیح از سنسور پالس اکسیمتر ۲٫۶ ولت است، بنابراین، جهت تامین تغذیه برد ESP و سایر تجهیزات، به کمک ماژول کاهنده ولتاژ LM2596، ولتاژ باتری را کاهش داده و به ۲٫۶ که مناسب سیستم است، می رسانیم.

 


باتری لیتیم پلیمر


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

باتری لیتیوم پلیمر Li-Po برای دستگاه پالس اکسی متر - دیجی اسپارک

 

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

تغذیه توسط باتری لیتیوم پلیمر و شارژ - دیجی اسپارک

 

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

 


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


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

  1. ابتدا فایل فشرده کتابخانه را با کلیک بر روی این لینک و انتخاب گزینه code->zip دانلود کنید.
  2. فایل را با گلیک و انتخاب گزینه extract here، از حالت فشرده خارج کنید.
  3. این فایل را در مسیر نصب آردوینو و در فولدر libraries، قرار دهید. مسیر نصب آردوینو معمولا در درایو C و در قسمت program files قرار دارد.

توجه: پس از خارج سازی فایل دانلود شده از حالت فشرده، با کلیک بر روی فولدر unzip شده، می بایست تصویر زیر مشاهده گردد.

نصب کتابخانه سنسور MAX30102 پروژه پالس اکسی متر - دیجی اسپارک

 

پس از نصب این کتابخانه، می بابست کتابخانه ماژول GPS را نصب کنیم. در این پروژه ما از کتابخانه TingGPS++ جهت دریافت داده از ماژول GPS استفاده می کنیم.  برای نصب این کتابخانه در آردوینو، می توان به صورت دستی و خودکار(از مخازن آردوینو) اقدام نمود. ما در اینجا از روش خودکار و با استفاده از نرم افزار آردوینو، به نصب کتابخانه ++TnyGps می پردازیم. برای این مورد، ابتدا در محیط نرم افزار آردوینو، بر روی گزینه Tools و سپس Manage Libraries مطابق فلش های تصویر کلیک کنید.

روش نصب کتابخانه در آردوینو - دیجی اسپارک

 

پس از کلیک بر روی گزینه Manage Libraries، با تصویر زیر رو به رو می شوید. این منو کتابخانه های در دسترس را به شما نمایش می دهد.

مراحل نصب کتابخانه آردوینو - دیجی اسپارک

 

در تصویر فوق کادر جستجوی کتابخانه ها با فلش قرمز رنگ مشخص شده است. در این کادر عبارت ++TnyGps را تایپ کنید. در مرحله بعدی، با تصویر زیر رو به رو خواهید شد. با کلیک بر روی گزینه install این کتابخانه را می توانید نصب کنید.

نصب کتابخانه ++TnyGps در آردوینو - دیجی اسپارک

 

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

نصب کتابخانه u8g2 در آردوینو - دیجی اسپارک

 

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

 


شماتیک و اتصالات پروژه


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

شماتیک و اتصالات پروژه کیت سلامت پالس اکسی متر - دیجی اسپارک

 

مطابق شماتیک فوق، اتصالات مدار را در پیش می گیریم. ابتدا نمایشگر OLED را به شکل زیر به ماژول ESP متصل کنید.

OLED ESP8266
VCC VCC
GND GND
۱۲ SCK
۱۳ SDA

 

پس از این مرحله، اتصالات بین سنسور پالس اکسیمتر MAX30102 را با ESP به شکل زیر انجام دهید.

MAX30102 ESP8266
VIN VCC
GND GND
GPIO4 SDA
GPIO5 SCL

 

در ادامه خروجی مثبت ماژول lm2596 به VCC ماژول ESP8266 و خروجی منفی آن به GND ماژول ESP8266 متصل می گردد. همچنین خروجی ولتاژ ماژول LM2596 را بر روی ۲٫۶ می بایست تنظیم نمایید. توجه داشته باشید که ورودی مثبت این ماژول به پایه مثبت باتری و ورودی منفی آن به پایه منفی باتری متصل می گردد. در ادامه، اتصالات ماژول SIM800L را به شکل زیر انجام دهید.

SIM800L ESP8266
TX RX
RX TX

 

همچنین پایه VCC ماژول SIM800L را به پایه مثبت باتری و پایه GND این ماژول را به پایه منفی باتری متصل نمایید. پس از این مرحله، اتصالات ماژول GPS را به صورت زیر انجام دهید.

  • اتصال پایه VCC ماژول GPS به پایه مثبت باتری
  • اتصال پایه GND ماژول GPS به پایه منفی باتری
  • اتصال پایه TX ماژول GPS به پایه GPIO14 ماژول ESP8266

در نهایت می توانید اتصال بین ماژول شارژر و باتری را به سادگی برقرار کنید. برای این مورد، پایه B+ ماژول شارژر به کابل مثبت باتری و پایه B- به کابل منفی باتری متصل می گردد.

توجه: پیش از اتصال ماژول خروجی ماژول کاهنده به قطعات، حتما ولتاژ آن را بر روی ۲٫۶ تنظیم کرده و سپس  اتصالات را برقرار سازید.

 


کدهای پروژه


در این قسمت کدهای پروژه را مشاهده می نمایید. این کدها برای پردازنده ESP8266 توسعه یافته اند. برای آپلود کدها روی این ماژول در منوی Tools و قسمت Boards، گزینه ESP8266 generic را انتخاب کرده و کدها را بر روی ماژول آپلود کنید.

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

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

 

 


اجرای پروژه


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

اجرای پروژه کیت پالس اکسیمتر سلامت با جی پی اس - دیجی اسپارک

 

در این لحظه با شماره سیم کارت درون ماژول تماس بگیرید. پس از برقراری تماس، چند لحظه صبر کنید. مشاهده می کنید که تماس از سوی ماژول قطع می شود. پس از چند لحظه پیامکی به شما ارسال می گردد. این پیامک حاوی اطلاعات بیمار و موقعیت مکانی وی است.

پروژه پالس اکسیمتر سلامت بیمار با SMS و GPS - دیجی اسپارک

 

در پیام فوق عبارت پس از SPO2 بیانگر میزان اکسیژن خون، عبارت پس از Heart Rate میزان ضربان قلب و عبارتی که بعد از Temp قرار گرفته، دمای بدن را نمایش می دهد. در ادامه لینکی را مشاهده می کنید. این لینک حاوی موقعیت مکانی بیمار است. روی آن کلیک نمایید تا موقعیت نمایش داده شود.

 


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


در این قسمت به تحلیل و برسی کدهای پروژه می پردازیم. توجه داشته باشید که در کدهای برنامه به ازای هر دستور، توضیح(کامنت) درج شده است. بنابراین با مطالعه کدها می توانید روال کار را دریابید. در اینجا اما به صورت مختصر به شرح روال کار می پردازیم. در این برنامه توابع زیر به طور کلی اجرای روند برنامه را بر عهده دارند.

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

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

 


لوازم مورد نیاز


کیت پالس اکسیمتر پرتابل با قابلیت گزارش گیری از وضعیت و موقعیت بیمار

 


جمع بندی


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

 

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

 

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

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه

۴۱ دیدگاه

      • به نظر من میتوان از قبل برای سیستم تعریف کرد که اگر اکسیژن و ضربان قلب و دما از یه حد بالاتر رفت سیستم با شماره از قبل تعیین شده تماس برقرار کند

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

  • سلام مهندس
    یه ایده بسیار عالی به ذهنم رسید
    با استفاده از ماژول
    سیم‌کارت و esp32cam و نمایشگر لمسی اردوینو یا شیلد نمایشگر اردوینو
    یه موبایل بسازیم که فقط تماس و پیامک و دوربین را داشته باشد حالا اگر فیلم و عکس هم بگیرد که واقعا خود موبایل میشه فقط اگه بشه سیستم عامل اندروید را هم روش بریزیم عالی تر میشه

    • سلام
      بسیار ایده جالبی است.
      اما سیستم عامل اندروید نیاز به پردازنده های قوی دارد. به عنوان مثال پردازنده بردهای رزبری برای این کار مناسب هستند.

        • رزبری پیکو گویا قابلیت نصب سیستم عامل ندارد.
          چندین ماژول ESP32 هم بسیار پیچیده خواهد شد.
          ارزانترین روش، استفاده از رزبری زیرو است.

  • سلام و وقت بخیر خدمت شما آقای مهندس صابری
    آیا سنسور باید به صورت مدام به بیمار متصل باشد یاخیر؟
    باتشکر

    • سلام و متشکرم از شما
      بله، سنسور باید دائما متصل باشد تا داده های بیمار مخابره شوند.

  • سلام . میشه بفرمایید موقع پروگرام کردن ESP8266 با مبدل usb ، نحوه ی اتصال پایه ها به مبدل چه جوری هست؟

  • سلام
    من وقتی میخوام کد هارو آپلود کنم با این ارر ها روبرو میشم
    Traceback (most recent call last):
    File “C:\Users\ali\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.1/tools/mkbuildoptglobals.py”, line 846, in
    sys.exit(main())
    File “C:\Users\ali\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.1/tools/mkbuildoptglobals.py”, line 843, in main
    handle_error(0) # commit print buffer
    File “C:\Users\ali\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.1/tools/mkbuildoptglobals.py”, line 262, in handle_error
    print(msg_print_buf, file=fd, end=”, flush=True)
    File “D:\obj\Windows-Release\37win32_Release\msi_python\zip_win32\cp720.py”, line 21, in encode
    UnicodeEncodeError: ‘charmap’ codec can’t encode character ‘\u06af’ in position 154: character maps to

    exit status 1

    Compilation error: exit status 1

    مشکل ازچیه؟

    • سلام
      یکبار دیگر کدها را کپی کرده و در پروژه قرار دهید. کدها کامل و درست کپی نشده اند.

  • سلام مهندس؛ خسته نباشید
    جسارتا راه ارتباطی هست که چند تا سوال و راهنمایی ازتون بگیرم!؟

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

          • سلام مهندس، تا زمانی که ماژول sim800l به شبکه متصل نشده، باقی مراحل انجام نمیشه!؟ (مثلا نمایشگر روشن نمیشه)!؟
            یا در صورت وصل ندشن به شبکه هم مانیتور روشن میشه!؟

  • همه مراحلو رفتم، بعد از آپلود اتصالات و برقرار کردم دوباره و منبع وصل کردم، ماژول پالس روشن میشه ماژل جی‌پی‌اس و سیمکارتم چشمک زن میشن ولی مثل اینکه ماژول سیم وصل نمیشه، و دیگه نمایشگر چیزی نمایش نمیده، ممنون میشم راهنمایی کنین، چند وقته درگیرشم

  • سلام خسته نباشید من مو به مو اموزش رو رفتم ماژول هارو به هم وصل کردم کد رو هم اپلود کردم ولی اولد و ماژول gps من خاموشن و اینکه وقتی زنگ میزنم میگه دستگاه مشترک مورد نظر خاموش است
    میشه بگید مشکل کجاست ممنون میشم

    • با سلام
      ماژول جی پی اس برای اتصال به ماهواره بایستی از آنتن اکتیو استفاده کند، با توجه به اینکه آنتن پیش فرض روی آن از نوع پسیو بوده طبیعی است که چراغ روی ماژول روشن نشود.

  • ,وقت بخیر ممنون از پروژهی خوبتون
    من وقتی کد ها رو می خوام اپلود کنم این ارور رو مینویسه
    default_encoding: cp1252
    Assume aggressive ‘core.a’ caching enabled.
    Note: optional global include file ‘C:\Users\HEMN\Desktop\\u0648\u0647 \u062a\u0645\u0627\u0646\u06cc\program\basicRead_copy_20240322124449\basicRead_copy_20240322124449.ino.globals.h’ does not exist.
    Read more at https://arduino-esp8266.readthedocs.io/en/latest/faq/a06-global-build-options.html

    *** Traceback (most recent call last):
    File “C:\Users\HEMN\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/mkbuildoptglobals.py”, line 824, in
    rc = main()
    File “C:\Users\HEMN\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/mkbuildoptglobals.py”, line 819, in main
    handle_error(0) # commit print buffer
    File “C:\Users\HEMN\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/mkbuildoptglobals.py”, line 274, in handle_error
    print(msg_print_buf, file=fd, end=”, flush=True)
    File “D:\obj\Windows-Release\37win32_Release\msi_python\zip_win32\cp437.py”, line 19, in encode
    UnicodeEncodeError: ‘charmap’ codec can’t encode characters in position 135-136: character maps to

    exit status 1

    Compilation error: exit status 1

  • من این پروژه رو برای ارائه تحویل دادم و چند روز بیشتر مهلت ندارم تکمیلش کنم همه بخش ها رو تست کردم درستن فقط کد های اصلی این ارور رو می نویسه و اپلود نمیشه

  • یکی کامنت ها رو دیدم که یه ارور شبیه این داشته که براتون فرستادم بره کد ها روچک کردم متاسفانه حل نشد

  • سلام وقت بخیر ، جسارتا من برای پروژه کیت پالس اکسیمتر همه قسمت ها روطبق راهنما انجام دادم ولی وقتی به شماره سیم کارتی که روی ماژول هست تماس میگیرم میگه خاموش می باشد. ممنون میشم که راهنمایی بفرمایید.

    • با سلام
      چنین موردی به این دلیل است که ماژول سیم کارت به درستی نصب نشده است. بایستی وضعیت تغذیه ماژول را بررسی کنید. همچنین چراغ روی آن بایستی به صورت سه ثانیه یکبار چشمک بزند تا به شبکه متصل شده باشد.