Mini Project 10: Displaying stuff from day 7
Dependencies: DmTouch_UniGraphic UniGraphic mbed
temp_sensor.cpp@16:995c9920f14e, 2017-01-18 (annotated)
- Committer:
- swescott17
- Date:
- Wed Jan 18 01:48:47 2017 +0000
- Revision:
- 16:995c9920f14e
- Parent:
- 12:bd1d030d5c30
Reading every ten seconds
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
swescott17 | 0:1ebe73e062a7 | 1 | #include "temp_sensor.h" |
swescott17 | 0:1ebe73e062a7 | 2 | |
swescott17 | 0:1ebe73e062a7 | 3 | const int addr = 0x90; |
swescott17 | 0:1ebe73e062a7 | 4 | char config_t[3]; |
swescott17 | 0:1ebe73e062a7 | 5 | char temp_read[2]; |
swescott17 | 0:1ebe73e062a7 | 6 | float temp; |
swescott17 | 0:1ebe73e062a7 | 7 | |
swescott17 | 0:1ebe73e062a7 | 8 | void temperature_config(void)//configures the temperature sensor |
swescott17 | 0:1ebe73e062a7 | 9 | { |
swescott17 | 0:1ebe73e062a7 | 10 | config_t[0] = 0x01; //sets the array with the bytes |
swescott17 | 0:1ebe73e062a7 | 11 | config_t[1] = 0x60; |
swescott17 | 0:1ebe73e062a7 | 12 | config_t[2] = 0xA0; |
swescott17 | 0:1ebe73e062a7 | 13 | i2c_port.write(addr, config_t, 3); //sets up the sensor |
swescott17 | 0:1ebe73e062a7 | 14 | config_t[0] = 0x00; //sets a new value for the byte, the mode |
swescott17 | 0:1ebe73e062a7 | 15 | i2c_port.write(addr, config_t, 1); |
swescott17 | 0:1ebe73e062a7 | 16 | } |
swescott17 | 0:1ebe73e062a7 | 17 | |
swescott17 | 0:1ebe73e062a7 | 18 | float temperature() |
swescott17 | 0:1ebe73e062a7 | 19 | { |
swescott17 | 12:bd1d030d5c30 | 20 | float sum = 0; |
swescott17 | 12:bd1d030d5c30 | 21 | for (int i = 0; i < 5; i++) |
swescott17 | 12:bd1d030d5c30 | 22 | { |
swescott17 | 0:1ebe73e062a7 | 23 | i2c_port.read(addr, temp_read, 2); //reads in two temperature values from the sensor |
swescott17 | 0:1ebe73e062a7 | 24 | temp = 0.0625 * (((temp_read[0] << 8)+temp_read[1]) >> 4); //turns them into degrees C |
swescott17 | 12:bd1d030d5c30 | 25 | sum += temp; |
swescott17 | 12:bd1d030d5c30 | 26 | } |
swescott17 | 12:bd1d030d5c30 | 27 | sum= sum/5; |
swescott17 | 12:bd1d030d5c30 | 28 | return sum; |
swescott17 | 0:1ebe73e062a7 | 29 | } |
swescott17 | 0:1ebe73e062a7 | 30 |