program for temperature reading with mlx90615

Dependencies:   crc8

main.cpp

Committer:
glsfacom
Date:
2020-07-15
Revision:
1:c0d057b08394
Parent:
0:db513e91a2c9
Child:
2:c4552b8c47c0

File content as of revision 1:c0d057b08394:

#include "mbed.h"
#include "Mlx90615.h"


DigitalOut MLX_VCC(p26,1); 
DigitalInOut c(p30);                // Clock override pin
Serial pc(USBTX, USBRX);

float temp;

void setup()
{
    //Force SMBUS comm
    c = 0;                              // Setup override pin to pull clock low
    c.input();                          // Make it input to start with...
    c.mode(PullUp);                     // ...with pull up
    c.output();                         // Override clock pin low
    ThisThread::sleep_for(0.00005);                      // Pause for treq 39ms
    c.input();                          // Remove override...
    c.mode(PullUp);                     // ...with pull up
    ThisThread::sleep_for(0.00005);                      // Pause again
}

int main(){
    Mlx90615 mlx90615;
    setup();
    pc.printf("Hello World!\n");
    while(true){
      temp=mlx90615.read_temperature();
      pc.printf("%4.2f Celcius\r\n", temp);
      ThisThread::sleep_for(1);
    }
}