## Public projects 12

#### Measure Heart Rate and SpO2 with MAX30102

Project tutorial by SurtrTech

- 10,243 views
- 15 comments
- 77 respects

#### BMP280: Measure Temperature, Pressure and Altitude

Project tutorial by SurtrTech

- 6,132 views
- 6 comments
- 31 respects

## Toolbox 3

## Replicated projects 0

## Respected projects 10

## Comments 30

##### Measure Heart Rate and SpO2 with MAX30102 about 21 hours ago

##### Measure Any AC Voltage Up to 250V 4 days ago

Sorry I don't know about this, but first try to use the ADC alone with a test code to check if everything is working right then test it with the code, also don't forget about the library; the calucation there are for 10 bits ADC so try to adjust, and also for the sampling rate it's over there too...goodluck

##### Measure Any AC Voltage Up to 250V 6 days ago

Hi, no problem, the slope and intercept are just some basic algebra (y=ax+b) where "a" is the slope and "b" is the intercept.

(let's suppose that the calculations are done)

for x=0V as input you should have y=0V

but you'll find that "y" is different from 0

so you set "b=-y" and you get (if x=0 then y=0)

and for other known values you'll have "x", "y" and "b" are known and you look for "a" (the slope) it's like a linear calibration.

So this is done after, and what's done before is a bit difficult, and you should look for "standard deviation" and "average square value" and don't forget in the library they are just called not explained as well if you want to know how it's done inside the library you'll find yourself in some very deep things... so it's better to look for the statistics things I told you and more important to calculate the RMS of a signal by hand and use the formula that works with every signal not just the sinewave ones and you'll understand the deal

If you want to use two same sensors, I think it will be very tricky because they'll have the same i²c address (0x57), you should add an i²c multiplexer like "TCA9548A", now you'll find that address is also fixed on the library, I think you can set it from the code in the line:

particleSensor.begin(Wire, I2C_SPEED_FAST);

and make it

particleSensor.begin(Wire, I2C_SPEED_FAST, i2caddress1);

particleSensor2.begin(Wire, I2C_SPEED_FAST, i2caddress2);

Then make the double of the variables used and add a few lines to to the average,

For the nextion screen I think it should work just don't forget about the storage space in an Arduino UNO, this code alone takes 54% ...

Those are just suggestions I didn't try them.