example program for Insporado. Using MTSAS DK board with SMC and Grove Sensor Shield. Communication with AT&T M2X platform

Dependencies:   mbed

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?

UserRevisionLine numberNew 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 }