-
Notifications
You must be signed in to change notification settings - Fork 7.6k
Adafruit_MLX90614 and MAX30102 Not working #4561
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
long post but no logs or good explanation of what "it didn't work" means. Enable debug, collect logs and screenshots and post a good explanation of the problem. |
[STALE_SET] This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. Thank you for your contributions. |
[STALE_DEL] This stale issue has been automatically closed. Thank you for your contributions. |
[STALE_CLR] This issue has been removed from the stale queue. Please ensure activity to keep it openin the future. |
Arduino Core 2.0.0 and PR #5664 may solve this issue. |
closed by #5683 |
Make your question, not a Statement, inclusive. Include all pertinent information:
What you are trying to do
I tried to use ESP32 wroom dev board and use Adafruit_MLX90614 and MAX30102 sensor on I2C communication. As you might know both works on I2C communication. but It did not work. Any piece of advice will be highly appreciated.
Describe your system (Hardware, computer, O/S, core version, environment)
ESP32 Wroom dev MLX90614 and MAX30102
Describe what is failing
MAX30102 provide the data but mlx does not. If I am using a separate-2 2 programs then It is working fine.Which is kind of indication that the wiring is correct.
/*
simple SpO2 plotter for MH-ET LIVE MAX30102 breakout board and ESP32 devkit-C
Using Sparkfun MAX3010X library
https://github.com/sparkfun/SparkFun_MAX3010x_Sensor_Library
ESP32_MAX30102_simple-SpO2_plotter.ino
by coniferconifer Copyright 2020
LICENSED under Apache License 2.0
Version 1.0
Shows SpO2 and the user's heart beat on Arduino's serial plotter.
No display hardware is required.
This program should not be used for medical purposes.
I wrote this to learn how SpO2 can be measured and pay tributes for the inventors.
Pulse oximetry was developed in 1972, by Takuo Aoyagi and Michio Kishi,
bioengineers, at Nihon Kohden in Japan.
https://ethw.org/Takuo_Aoyagi
Since MH-ET LIVE MAX30102 breakout board seems outputting IR and RED swapped.
red = particleSensor.getFIFOIR();
ir = particleSensor.getFIFORed();
is used in my code. If you have Sparkfun's MAX30105 breakout board , try to
use #define MAX30105
Tips:
SpO2 is calculated as R=((square root means or Red/Red average )/((square root means of IR)/IR average))
SpO2 = -23.3 * (R - 0.4) + 100;
// taken from a graph in https://ww1.microchip.com/downloads/jp/AppNotes/00001525B_JP.pdf
// https://ww1.microchip.com/downloads/en/Appnotes/00001525B.pdf
Instructions:
and attach sensor to your finger tip
Make sure the drop down is set to 115200 baud
the blips on Arduino's serial plotter
I recommend to place LED under the backside of nail and wrap you
finger and the sensor by rubber band softly.
100%,95%,90%,85% SpO2 lines are always drawn on the plotter
Hardware Connections (Breakoutboard to ESP32 Arduino):
-VIN = 3.3V
-GND = GND
-SDA = 21 (or SDA)
-SCL = 22 (or SCL)
-INT = Not connected
this script also works on Arduino nao
Hardware Connections (Breakoutboard to Arduino nano): experimental
-VIN = 3.3V
-GND = GND
-SDA = A4 (or SDA)
-SCL = A5 (or SCL)
-INT = Not connected
Trouble Shooting:
Make sure to solder jumper on 3V3 side.
if you forget this, I2C does not work and can not find MAX30102.
says "MAX30102 was not found. Please check wiring/power."
*/
The text was updated successfully, but these errors were encountered: