آردوینو پروژه های آردوینو

پروژه کیت ضربان قلب بر پایه آردوینو با سنسور APDS-9008 و OLED

create-heartbeat-measure-machine-with-apds-9008-arduino-and-oled-digispark
نوشته شده توسط پریسا پوربلورچیان

سنسور ضربان قلب به صورت پالسی است و با قرار دادن انگشت نبض بر روی سنسور پالس ارسال می‌کند. سنسور ضربان قلب به صورت آنالوگ عمل می‌کند. روش نمایش پالس به صورت خطی توسط تابع های کتابخانه OLED است که با تغییر عدد پالس به صورت آنالوگ خط ها تغییر خواهد کرد. در ادامه روش ساخت کیت ضربان قلب با سنسور APDS-9008 به همراه کد نویسی را بررسی خواهیم کرد. در ادامه با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

پروژه ضربان سنج با سنسور APDS-9008 و آردوینو - دیجی اسپارک

 


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


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

بررسی سخت افزاری سنسور قلب

سنسور APDS-9008 - دیجی اسپارک

 

بر روی سنسور، یک عدد سنسور LIGHT PHOTO قرار دارد که مشابه همان سنسورهایی است که در ساخت موبایل و گجت های هوشمند استفاده می‌شود.  عملکرد سنسور APDS-9008 به صورت خروجی آنالوگ است و برای راه اندازی با میکروکنترلرها به پایه آنالوگ نیاز خواهیم داشت. تغذیه سنسور ۱٫۶ تا ۵٫۵ ولت است. خروجی سنسور به صورت خطی است.

 

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

جزئیات سنسور ضربان قلب APDS-9008 - دیجی اسپارک

 


نمایشگر OLED SSD1306


محبوب ترین ماژول OLED که در حال حاضر در صنعت الکترونیک و بردهای توسعه میکروکنترلر استفاده می‌شود، نمایشگر OLED با درایور قدرتمند SSD1306 است که در ظاهرهای مختلف به بازار ارائه شده است. چیپ SSD1306 یک کنترل کننده درایور قدرتمند CMOS است. این درایور از پروتکل های ارتباطی I2C و SPI پشتیبانی میکند و با توجه به اینکه در پروتکل I2C تنها با دو پایه برای اتصال نیاز دارد، برای اتصال OLED به میکروکنترلرها از این پروتکل بیشتر استفاده خواهیم کرد. ولتاژ کاری نمایشگر ۳٫۳ و ۵ ولت است و از هر دو پایه های تعذیه میکروکنترلر میتوانید استفاده کنید. زاویه دید نمایشگر ۱۶۰ درجه است و ابعاد آن ۰٫۹۶ اینچ است. نمایشگر دارای ۸ سطر و ۱۲۸ ستون است.

نصب کتابخانه Adafuit ssd1306

 

نصب کتابخانه Adafruit_GFX

 


استفاده از بردهای خانواده آردوینو ARDUINO


برای تست این برنامه از بردهای آردوینو مانند برد آردوینو UNO , NANO, MEGA2560 استفاده کنید. پروتکل ارتباطی سنسور ضربان قلب به صورت آنالوگ است و فقط یک پایه آنالوگ کافی است. اما برای استفاده از نمایشگر OLED به دو پایه SDA, SCL نیاز داریم که به ترتیب پایه A4 , A5 می‌شوند که تمامی بردهای معرفی شده از پروتکل I2C پشتیبانی می‌کنند. در این آموزش از برد آردوینو مدل ARDUINO UNO استفاده شده است.

آموزش پروژه ضربان قلب با نمایشگر OLED برد آردوینو - دیجی اسپارک

 


استفاده از نرم افزار آردوینو ARDUINO IDE 2


اگر ویندوز شما ۱۰ و یا بالاتر است، پیشنهاد می‌کنیم نرم افزار به روزرسانی شده Arduino IDE2 را نصب کنید. رفع عیب، دیباگ آنلاین، دسترسی ساده به انتخاب بردها و اضافه کردن سریع کتابخانه ها از ویژگی های این نرم افزار است که کار را برای همه آسان کرده است. اما در نهایت در سال ۲۰۲۱ در ماه دسامبر کمپانی آردوینو جدیدترین IDE را تحت عنوان Arduino IDE 2.0 معرفی کرد. طبق گفته ی آردوینو، این نرم افزار Arduino IDE 2 یک محیط برنامه نویسی پویا تر، جذاب و حرفه ای را ایجاد کرده و دسترسی سریعتری برای استفاده از ویژگی های نرم افزار در اختیار کاربران قرار داده است. یک ادیتور مدرن در کنار آپشن های مورد نیاز با رابط کاربری متفاوت یک محیط حرفه ای را فراهم کرده است تا بتوانیم سرعت کدنویسی را افزایش دهیم. کد نوشته شده در قسمت بعدی را کپی و به نرم افزار آردوینو انتقال دهید.

 


کد آردوینو ضربان قلب با نمایش پالس


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

 

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

 

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

 

پس از آپلود کد بر روی برد آردوینو، اتصالات را انجام دهید. سپس انگشت را بر روی سنسور قرار دهید. پالس به صورت خطی بر روی نمایشگر oled نمایان شده و عدد ضربان قلب با BMP نمایش داده می‌شود. دقت داشته باشید سنسور بسیار حساسی است و روش قرار گیری سنسور در سطح ثابت بدون نویز و حرکت دست در نمایش داده ی دقیق تاثیر گذار خواهد بود. حتما برای ۱۰ ثانیه انگشت را بر روی سنسور نگه دارید تا کالیبره شود. سپس عدد خروجی را بخوانید.

برای کدنویسی در ابندا به فراخوانی کتابخانه نمایشگر OLED و کلاس آن داریم.

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

 

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

 

در قدم بعدی برای دریافت داده از سنسور به صورت آنالوگ در بازه زمانی دقیق و به روز رسانی داده ها با هر بار تغییر نیاز به فراخوانی millis داریم. تابع millis() در آردوینو مدت زمان شروع به کار را محاسبه کرده و عدد را بر حسب میکروثانیه برمیگرداند. از زمانی که برق به آردوینو متصل شده است تا زمانیکه قطع ارتباط شود، این زمان محاسبه شده و در نهایت پس از ۴۹ روز سرریز Overflow خواهد شد. تا این مرحله برای ایجاد تاخیر در برنامه از این اصطلاح استفاده شده است که یک مدت زمان مشخص تاخیر ایجاد شود میتوانیم از چه مدت زمان سپری شده است استفاده کنیم تا برنامه ها را در سطح حرفه ای تری اجرا کنیم.

 

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

 

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

پروژه ضربان سنج قلب با سنسور APDS-9008 - دیجی اسپارک

 


اتصال سنسور قلب به آردوینو


برای اجرای این پروژه به سنسور قلب، نمایشگر oled و بیزر نیاز داریم. اتصالات را به صورت زیر انجام دهید.

 

اتصالات پروژه ضربان سنج قلب با سنسور APDS-9008 آردوینو - دیجی اسپارک

 


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


برد آردوینو Arduino

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

نمایشگر OLED SSD1306

بیزر Buzzer

کابل فلت

 

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

 

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

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

۱۷ دیدگاه

  • سلام
    مهندس ببخشید این مدار رو میشه با آردینو مگا اجرا کرد ؟
    و اینکه آیا امکان استفاده از ال سی دی در ابعاد بزرگتر وجود داره یا خیر؟
    و سوال آخر اینکه امکانش هست مدار و ماژول سطح هوشیاری فرد رو با این مدار ادغام کرد
    ممنون از لطفتون

    • با سلام
      بله از برد آردوینو mega میتوانید استفاده کنید.
      اگر ال سی دی تغییر کند؛ باید درایور آن همخوانی داشته باشد.
      سوال آخر با اطمینان نمیتوان پاسخ داد.

  • سلام. وقت بخیر آیا میشه شرطی سازی کرد مثلا گفت اگر ضربان قلب از حد aبیشتر و یا از حد b کمتر شد هشدار بده
    و همچنین میشه هم زمان ماژول دما و… رو راه اندازی کرد؟

    • با سلام
      بله محدودیتی در کدنویسی و شرط نویسی برای پارامترهای سنسور وجود ندارد.
      بله میتوانید سنسورهای دیگر هم اضافه کنید.

    • با سلام
      کاربر گرامی این مورد امکان پذیر است اما بایستی از C++استفاده کنید که کاملا بی ارتباط با این پروژه است.

  • سلام وقتتون بخیر ممنون بابت آموزش
    من ی سوال دارم
    میشه به یک آردوینو برنامه های متفاوتی داد ؟؟ یعنی چندبار ازش استفاده کرد و کد نوشت ؟؟

    • با سلام
      هر بار میتوانید یک برنامه جدید روی برد آپلود کنید. محدودیتی وجود ندارد.

  • سلام تو رو خدا کد رو رایگان کنید لطفاااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااا