This program demonstrates the use of MAX32630HSP3 board with the MAX30205 sensor which provides accurate clinical body temperature with an accuracy of 0.1°C (37°C to 39°C).
Dependencies: MAX30205 max32630hsp3
Run the Code
- Import it into the mbed online compiler.
- Compile the program.
- It will automatically download the .bin file.
- Drag-drop or copy-paste the .bin file to the programmer drive. (PICO DAPLINK).
- Open a serial terminal (Putty, Tera Term, etc.)
- Find the COM port that the device is connected to and set that COM port in the terminal. Adjust the baudrate to 9600.
- Press the reset button on the microcontroller board.
- You should now see the temperature values on the terminal with 0.5-second intervals.
main.cpp
- Committer:
- Emre.Eken
- Date:
- 2018-07-09
- Revision:
- 7:9a0214badf2b
- Parent:
- 3:73a73c9ba847
File content as of revision 7:9a0214badf2b:
#include "mbed.h" #include "MAX30205.h" #include "max32630hsp.h" //PC serial connection: Serial pc(USBTX,USBRX); //Enable pin to convert 3V3 to 3V for MAX30205: DigitalOut max30205_LDO_EN(P7_1,1); //Board Initializations: (This also initializes PMIC) MAX32630HSP icarus(MAX32630HSP::VIO_3V3); //Get I2C instance I2C i2cBus(I2C1_SDA, I2C1_SCL); //Get temp sensor instance MAX30205 bodyTempSensor(i2cBus, (0x90 >> 1)); int main(void) { //use sensor uint16_t TemperatureValue; uint32_t ExpandTemperatureValue=0; float Celsius; while(1) { if(!bodyTempSensor.readTemperature(TemperatureValue)) { ExpandTemperatureValue = (uint32_t)TemperatureValue; Celsius = bodyTempSensor.toCelsius(ExpandTemperatureValue); pc.printf("The temperature is %f Celsius\r\n",Celsius); } wait(0.5); } }