Temperature and humidity example for NXP rapid IoT prototyping kit. Read more at https://www.hackster.io/marcomerli/riotwear-mbed-2b2011 .
Dependencies: AMS_ENS210_temp_humid_sensor
main.cpp@80:c455b645d802, 2019-12-03 (annotated)
- Committer:
- batman52
- Date:
- Tue Dec 03 18:50:24 2019 +0000
- Revision:
- 80:c455b645d802
- Parent:
- 79:0431b9fd3dc0
first example of temperature and humidity senor for NXP Rapid iot Prototyping kit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Jonathan Austin |
0:2757d7abb7d9 | 1 | #include "mbed.h" |
batman52 | 80:c455b645d802 | 2 | #include "AMS_ENS210.h" |
Jonathan Austin |
0:2757d7abb7d9 | 3 | |
batman52 | 80:c455b645d802 | 4 | #define WAIT() wait(0.2) |
batman52 | 79:0431b9fd3dc0 | 5 | |
batman52 | 80:c455b645d802 | 6 | AMS_ENS210 temphumid(I2C_SDA, I2C_SCL); |
batman52 | 79:0431b9fd3dc0 | 7 | |
batman52 | 80:c455b645d802 | 8 | void read_temperature(void) |
batman52 | 80:c455b645d802 | 9 | { |
batman52 | 80:c455b645d802 | 10 | temphumid.init(); |
batman52 | 80:c455b645d802 | 11 | WAIT(); |
batman52 | 80:c455b645d802 | 12 | temphumid.start(true); |
batman52 | 80:c455b645d802 | 13 | WAIT(); |
batman52 | 80:c455b645d802 | 14 | while(!temphumid.temp_has_data()); |
batman52 | 80:c455b645d802 | 15 | // printf("Wait for temperature read!\n\r"); |
batman52 | 80:c455b645d802 | 16 | temphumid.stop(true); |
batman52 | 80:c455b645d802 | 17 | WAIT(); |
batman52 | 80:c455b645d802 | 18 | printf("Temp: %d [C]\r\n", ((temphumid.temp_read() >> 6)-273) ); |
batman52 | 80:c455b645d802 | 19 | } |
batman52 | 80:c455b645d802 | 20 | |
batman52 | 80:c455b645d802 | 21 | void read_humidity(void) |
batman52 | 80:c455b645d802 | 22 | { |
batman52 | 80:c455b645d802 | 23 | temphumid.init(); |
batman52 | 80:c455b645d802 | 24 | WAIT(); |
batman52 | 80:c455b645d802 | 25 | temphumid.start(false,true); |
batman52 | 80:c455b645d802 | 26 | WAIT(); |
batman52 | 80:c455b645d802 | 27 | while(!temphumid.humid_has_data()); |
batman52 | 80:c455b645d802 | 28 | temphumid.stop(false,true); |
batman52 | 80:c455b645d802 | 29 | WAIT(); |
batman52 | 80:c455b645d802 | 30 | printf("Humidity: %d [%]\r\n", ( temphumid.humid_read() >> 9) ); |
batman52 | 79:0431b9fd3dc0 | 31 | } |
Jonathan Austin |
0:2757d7abb7d9 | 32 | |
Jonathan Austin |
1:846c97078558 | 33 | // main() runs in its own thread in the OS |
Jonathan Austin |
0:2757d7abb7d9 | 34 | int main() { |
Jonathan Austin |
0:2757d7abb7d9 | 35 | while (true) { |
batman52 | 80:c455b645d802 | 36 | read_temperature(); |
batman52 | 80:c455b645d802 | 37 | WAIT(); |
batman52 | 80:c455b645d802 | 38 | read_humidity(); |
batman52 | 80:c455b645d802 | 39 | WAIT(); |
Jonathan Austin |
0:2757d7abb7d9 | 40 | } |
batman52 | 79:0431b9fd3dc0 | 41 | } |