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.

Files at this revision

API Documentation at this revision

Comitter:
EmreE
Date:
Thu Apr 19 17:28:32 2018 +0000
Child:
1:6f6aa317cbfd
Commit message:
First revision of MAX32630HSP3_IMU_Hello_World

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Apr 19 17:28:32 2018 +0000
@@ -0,0 +1,37 @@
+#include "mbed.h"
+#include "MAX30205.h"
+#include "max32630hsp.h"
+
+//PC serial connection:
+Serial pc(USBRX,USBTX);
+
+//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(P3_4, P3_5);
+
+//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);
+    }
+}