مروری بر سنسور MAX30101

MAX30101 یک سنسور پالس اکسیمتری و مانیتورینگ ضربان قلب است که شامل LED های داخلی، فوتودیود ، عناصر نوری و لوازم الکترونیکی کم نویز میباشد.
سنسور MAX30101 با ولتاژ 1.8 ولتی کار کرده و ولتاژ LED های داخلی آن توسط یک منبع جداگانه 5 ولتی تامین می شود. ارتباط آن از طریق پروتکل I2C بوده و برای صرفه جویی در مصرف انرژی می توان به صورت نرم افزاری سنسور را خاموش کرد.
از این سنسور میتوان در ساخت دستگاههای نظارت بر تناسب اندام، گوشیهای هوشمند، تبلتها
و دستگاههای پوشیدنی بهره برد.
مشخصات فنی
- Output Type: Digital – I2C
- Wavelength Range: IR: 870nm to 900nm RED: 650nm to 670 Green: 530nm to 545nm
- Wavelength Peak: IR: 880nm RED: 660nm Green: 537nm
- ADC Resolution: 18 Bit
- Number of LEDs: 3
- Number of PDs: 1
کاربردها
- Wearable Devices
- Fitness Assistant Devices
- Smartphones
- Tablets
ماژول GebraBit MAX30101

- با توجه به اینکه دسترسی به پایههای سنسور دشوار است، کاربران برای توسعه سختافزاری و نرمافزاری این سنسور به یک برد ابتدایی (starter board) و درایور نیاز دارند. برای راحتی کاربران، GebraMS برد ماژول ضربان قلب و پالس اکسیمتر GebraBit MAX30101 را طراحی کرده است. کاربران میتوانند به کمک این برد، به مهمترین پایههای سنسور بهراحتی دسترسی پیدا کنند.
- کافی است برد ماژول ضربان قلب و پالس اکسیمتر GebraBit MAX30101 را روی برد (Breadboard) قرار دهید و سپس با یکی از بردهای Arduino، Raspberry Pi یا Discovery و با اعمال ولتاژ مناسب، آن را راهاندازی کنید.
- ما بهویژه استفاده از Gebra STM32F303 را توصیه میکنیم؛ چرا که این برد دارای رگولاتور داخلی ۳.۳ ولت است و ترتیب پایههای آن با تمامی ماژولهای Gebra هماهنگ است (استاندارد GEBRABUS)، بنابراین میتوانید برد ماژول ضربان قلب و پالس اکسیمتر GebraBit MAX30101 را مستقیماً به سوکت مربوطه متصل کرده و بدون نیاز به سیمکشی، برنامهنویسی را آغاز کنید.
Gebra MAX30101، یک ماژول Pulse Oximeter و Heart Rate Monitoring یکپارچه است. این ماژول بهلطف رگولاتور داخلی “1V8”، سنسور MAX30101 را در وضعیت ON قرار میدهد.
کاربران میتوانند برای دریافت دادهها و پیکربندی سنسور، از طریق I2C protocol با Gebra MAX30101 ارتباط برقرار کنند.
ویژگیهای ماژول GebraBit MAX30101
- User-selectable module logic level voltage
- User-selectable MAX30101 LED Anode Supply Voltage
- 1V8 Voltage Regulator
- 1V8 Output Voltage
- On Board, ON/OFF LED indicator
- Pin Compatible with GEBRABUS
- I2C protocol to get data and configure the sensor
- It can be used as a daughter board of GEBRABIT MCU Modules
- Featuring Castellated pad (Assembled as SMD Part)
- Separatable screw parts to reduce the size of the board
- Package: GebraBit small (36.29mm x 32.72mm)
معرفی بخش های ماژول

سنسور MAX30101
ای سی اصلی این ماژول بوده که در بالای ماژول قرار گرفته و مدار ان طراحی شده است.
جامپرVIO SEL
با توجه به وضعیت مقاومت 0R این جامپر ، سطح منطق (Logic Level) ارتباط دیجیتالI2C سنسور و سایر پینهای دیجیتال از بین 5V و 3V3 انتخاب می شود.
جامپر سلکتور ولتاژ LED (VLED SEL)
با توجه به وضعیت مقاومت 0R جامپر “VLED SEL” ولتاژ تغذیه آند LED بین “5V” یا “3V3” تعیین میشود.
رگولاتور 1.8V XC6206P182MR-G
سنسور MAX30101 ماژول GebraBit MAX30101 ، توسط رگولاتور 1.8 ولتی XC6206P182MR-G تغذیه میشود. خروجی این رگولاتور از طریق پین 1V8 در دسترس است.
تغذیهLED
با توجه به وضعیت جامپرها و اعمال ولتاژ به ماژول توسط پین مربوطه، LED ماژول روشن می شود.
پین های ماژول

پین های تغذیه
- 5V و 3V3 و 1V8 : این پینها می توانند با توجه به وضعیت Jumper Selector های VDIO و VLED، تغذیه اصلی سنسور و LED ها را تامین کنند.
- GND : این پین زمین مشترک برای تغذیه ماژول است.
پینهای I2C
- SDA : این پین، پین دیتای ارتباط I2C می باشد، که به پین دیتای متناظر در میکروکنترلر(پردازنده) ، متصل می شود.با توجه به وضعیت جامپر VIO SEL ، میتوانید از سطح منطق(Logic Level) با ولتاژ 1V8 یا 3V3 استفاده کنید.این پین با یک مقاومت پول آپ (Pull Up) شده است.
- SCL : این پین، پین کلاک ارتباط I2C می باشد، که به پین کلاک متناظر در میکروکنترلر(پردازنده) ، متصل می شود.با توجه به وضعیت جامپر VIO SEL، میتوانید از سطح منطق(Logic Level) با ولتاژ 1V8 یا 3V3 استفاده کنید.این پین با یک مقاومت پول آپ (Pull Up) شده است.
دیگر پین ها
- INT : پین وقفه سنسورMAX30101 بوده که active-low میباشد و توسط یک مقاومت pull-up به یک ولتاژ خارجی وصل شده و با توجه به دیتاشیت سنسور، کاربر می تواند شرایط وقوع وقفه،حالات و روش های وقوع وقفه و … را تنظیم کند.
اتصال به پردازنده
اتصال I2C با GebraBit STM32F303
برای اتصال I2C ماژول GebraBit MAX30101 به ماژول میکروکنترلرGebraBit STM32F303 بعد از تعریف کردن SDA و SCL رو پین های PB9 و PB8 (برای راحتی کار در STMCUBEMX)مراحل زیر را دنبال کنید:
- پین 3V3 ماژول MAX30101 را به پین 3V3 خروجی ماژول میکروکنترلر متصل کنید.(سیم قرمز)
- پین GND ماژول MAX30101 را به پین GND ماژول میکروکنترلر متصل کنید.(سیم سیاه)
- پین SCL ماژول MAX30101 را به پین PB8 ماژول میکروکنترلر (SCL) متصل کنید.(سیم آبی)
- پین SDA ماژول MAX30101 را به پین PB9 ماژول میکروکنترلر (SDA) متصل کنید.(سیم زرد)

توجه: با توجه به اینکه پین PA14 ماژول میکروکنترلرGebraBit STM32F303 برای پروگرام کردن میکروکنترلر استفاده میشود،تنظیم I2C بر روی پین های PA14 و PA15 در این ورژن مقدور نمی باشد،لذا در اتصال I2C به ماژول میکروکنترلرGebraBit STM32F303 در این ورژن ، ماژول GebraBit MAX30101 نمی تواند به صورت Pin to Pin بر روی آن قرار گیرد.
اتصال I2C با GebraBit ATMEGA32A
با توجه به اینکه پین های I2C میکروکنترلر ATMEGA32A بر اساس استاندارد GEBRABUS متناظر با پین های I2C دیگر ماژول های GEBRABIT می باشد، ماژول GebraBit MAX30101 را به صورت Pin to Pin به راحتی بر روی ماژول GebraBit ATMEGA32A قرار داده و با ماژول GebraBit MAX30101 از طریق I2C ارتباط برقرار کنید:
توجه: در صورت استفاده از ماژولهای میکروکنترلری GebraBit توجه داشته باشید که جامپر سلکتورهای تغذیه ماژول GebraBit MAX30101 روی 3V3 باشد تا راحت تر بتوانید ولتاژ3V3 را از ماژول میکروکنترلری گرفته و ماژول را فعال کنید.
اتصال I2C با ARDUINO UNO
ابتدا اطمینان حاصل کنید که پروتکل I2C با استفاده از جامپر های روی برد انتخاب شده است، سپس برای اتصال I2C ماژول GebraBit MAX30101 به ARDUINO UNO مراحل زیر را دنبال کنید:
- پین 3V3 ماژول MAX30101 را به پین 3V3 خروجی برد ARDUINO UNO متصل کنید.(سیم قرمز)
- پین GND ماژول MAX30101 را به پین GND برد ARDUINO UNO متصل کنید.(سیم سیاه)
- پین SCL ماژول MAX30101 را به پین A5 برد ARDUINO UNOمتصل کنید.(سیم آبی)
- پین SDA ماژول MAX30101 را به پین A4 برد ARDUINO UNOمتصل کنید.(سیم نارنجی)
