example program for Insporado. Using MTSAS DK board with SMC and Grove Sensor Shield. Communication with AT&T M2X platform
main.cpp@1:251634b26859, 2015-01-27 (annotated)
- Committer:
- mfiore
- Date:
- Tue Jan 27 21:51:30 2015 +0000
- Revision:
- 1:251634b26859
- Parent:
- 0:93ce3fa57a5e
Add code to display temperature and turn on LED if lights are out
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mfiore | 0:93ce3fa57a5e | 1 | #include "mbed.h" |
mfiore | 0:93ce3fa57a5e | 2 | #include "mtsas.h" |
mfiore | 0:93ce3fa57a5e | 3 | |
mfiore | 1:251634b26859 | 4 | AnalogIn light(A0); |
mfiore | 1:251634b26859 | 5 | AnalogIn temp(A1); |
mfiore | 1:251634b26859 | 6 | DigitalOut led(D4); |
mfiore | 1:251634b26859 | 7 | |
mfiore | 1:251634b26859 | 8 | bool lights_on() { |
mfiore | 1:251634b26859 | 9 | float val = light.read(); |
mfiore | 1:251634b26859 | 10 | if (val > 0.4f) |
mfiore | 1:251634b26859 | 11 | return true; |
mfiore | 1:251634b26859 | 12 | return false; |
mfiore | 1:251634b26859 | 13 | } |
mfiore | 1:251634b26859 | 14 | |
mfiore | 1:251634b26859 | 15 | float get_temp_c() { |
mfiore | 1:251634b26859 | 16 | int beta = 3975; |
mfiore | 1:251634b26859 | 17 | int val = temp.read_u16(); |
mfiore | 1:251634b26859 | 18 | float res = (float) 10000.0 * ((65536.0 / val) - 1.0); |
mfiore | 1:251634b26859 | 19 | float temp_c = (1 / ((log(res / 5000.0) / beta) + (1.0 / 298.15))) - 273.15 - 7; |
mfiore | 1:251634b26859 | 20 | |
mfiore | 1:251634b26859 | 21 | return temp_c; |
mfiore | 1:251634b26859 | 22 | } |
mfiore | 1:251634b26859 | 23 | |
mfiore | 1:251634b26859 | 24 | float get_temp_f() { |
mfiore | 1:251634b26859 | 25 | float temp_f = get_temp_c() * 9 / 5 + 32; |
mfiore | 1:251634b26859 | 26 | |
mfiore | 1:251634b26859 | 27 | return temp_f; |
mfiore | 1:251634b26859 | 28 | } |
mfiore | 1:251634b26859 | 29 | |
mfiore | 1:251634b26859 | 30 | int main() { |
mfiore | 1:251634b26859 | 31 | while (true) { |
mfiore | 1:251634b26859 | 32 | printf("temp: %f C\t %f F\r\n", get_temp_c(), get_temp_f()); |
mfiore | 1:251634b26859 | 33 | if (lights_on()) { |
mfiore | 1:251634b26859 | 34 | printf("lights on!\r\n"); |
mfiore | 1:251634b26859 | 35 | led = 0; |
mfiore | 1:251634b26859 | 36 | } else { |
mfiore | 1:251634b26859 | 37 | printf("lights off!\r\n"); |
mfiore | 1:251634b26859 | 38 | led = 1; |
mfiore | 1:251634b26859 | 39 | } |
mfiore | 1:251634b26859 | 40 | wait(2); |
mfiore | 1:251634b26859 | 41 | } |
mfiore | 1:251634b26859 | 42 | |
mfiore | 0:93ce3fa57a5e | 43 | return 0; |
mfiore | 1:251634b26859 | 44 | } |