program for temperature reading with mlx90615

Dependencies:   crc8

Committer:
glsfacom
Date:
Wed Jul 15 18:55:10 2020 +0000
Revision:
1:c0d057b08394
Parent:
0:db513e91a2c9
Child:
2:c4552b8c47c0
mbed os5;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
glsfacom 0:db513e91a2c9 1 #include "mbed.h"
glsfacom 0:db513e91a2c9 2 #include "Mlx90615.h"
glsfacom 0:db513e91a2c9 3
glsfacom 0:db513e91a2c9 4
glsfacom 0:db513e91a2c9 5 DigitalOut MLX_VCC(p26,1);
glsfacom 0:db513e91a2c9 6 DigitalInOut c(p30); // Clock override pin
glsfacom 0:db513e91a2c9 7 Serial pc(USBTX, USBRX);
glsfacom 0:db513e91a2c9 8
glsfacom 0:db513e91a2c9 9 float temp;
glsfacom 0:db513e91a2c9 10
glsfacom 0:db513e91a2c9 11 void setup()
glsfacom 0:db513e91a2c9 12 {
glsfacom 0:db513e91a2c9 13 //Force SMBUS comm
glsfacom 0:db513e91a2c9 14 c = 0; // Setup override pin to pull clock low
glsfacom 0:db513e91a2c9 15 c.input(); // Make it input to start with...
glsfacom 0:db513e91a2c9 16 c.mode(PullUp); // ...with pull up
glsfacom 0:db513e91a2c9 17 c.output(); // Override clock pin low
glsfacom 1:c0d057b08394 18 ThisThread::sleep_for(0.00005); // Pause for treq 39ms
glsfacom 0:db513e91a2c9 19 c.input(); // Remove override...
glsfacom 0:db513e91a2c9 20 c.mode(PullUp); // ...with pull up
glsfacom 1:c0d057b08394 21 ThisThread::sleep_for(0.00005); // Pause again
glsfacom 0:db513e91a2c9 22 }
glsfacom 0:db513e91a2c9 23
glsfacom 0:db513e91a2c9 24 int main(){
glsfacom 0:db513e91a2c9 25 Mlx90615 mlx90615;
glsfacom 0:db513e91a2c9 26 setup();
glsfacom 0:db513e91a2c9 27 pc.printf("Hello World!\n");
glsfacom 0:db513e91a2c9 28 while(true){
glsfacom 0:db513e91a2c9 29 temp=mlx90615.read_temperature();
glsfacom 0:db513e91a2c9 30 pc.printf("%4.2f Celcius\r\n", temp);
glsfacom 1:c0d057b08394 31 ThisThread::sleep_for(1);
glsfacom 0:db513e91a2c9 32 }
glsfacom 0:db513e91a2c9 33 }