Grove Thermometer sensor dispalay

Dependencies:   DigitDisplay mbed

Committer:
mbedschool
Date:
Mon Feb 09 03:00:27 2015 +0000
Revision:
0:dc5ba9b9f28a
thermometer

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbedschool 0:dc5ba9b9f28a 1 /* Grove - Temprature Sensor demo v1.0
mbedschool 0:dc5ba9b9f28a 2 * This sensor detects the enviroment temprature,
mbedschool 0:dc5ba9b9f28a 3 * Uses a Arch-Pro board with Grove Base Shield
mbedschool 0:dc5ba9b9f28a 4 * Connect the Grove Temperature sensor to A0 and
mbedschool 0:dc5ba9b9f28a 5 * connect a Grove 4 digit LED display to the UART connector
mbedschool 0:dc5ba9b9f28a 6 * The temperature will be displayed in Celcius
mbedschool 0:dc5ba9b9f28a 7 * Modified by David Bottrill from the original Arduino code
mbedschool 0:dc5ba9b9f28a 8 * Reference: http://www.seeedstudio.com
mbedschool 0:dc5ba9b9f28a 9 */
mbedschool 0:dc5ba9b9f28a 10
mbedschool 0:dc5ba9b9f28a 11 #include "mbed.h"
mbedschool 0:dc5ba9b9f28a 12 #include "DigitDisplay.h"
mbedschool 0:dc5ba9b9f28a 13
mbedschool 0:dc5ba9b9f28a 14 DigitalOut myled(LED2);
mbedschool 0:dc5ba9b9f28a 15
mbedschool 0:dc5ba9b9f28a 16 DigitDisplay display(P4_29, P4_28);
mbedschool 0:dc5ba9b9f28a 17 AnalogIn ain(P0_23);
mbedschool 0:dc5ba9b9f28a 18
mbedschool 0:dc5ba9b9f28a 19 int a;
mbedschool 0:dc5ba9b9f28a 20 float temperature;
mbedschool 0:dc5ba9b9f28a 21 int B=3975; //B value of the thermistor
mbedschool 0:dc5ba9b9f28a 22 float resistance;
mbedschool 0:dc5ba9b9f28a 23
mbedschool 0:dc5ba9b9f28a 24 int main()
mbedschool 0:dc5ba9b9f28a 25 {
mbedschool 0:dc5ba9b9f28a 26 while(1) {
mbedschool 0:dc5ba9b9f28a 27 // multiply ain by 675 if the Grove shield is set to 5V or 1023 if set to 3.3V
mbedschool 0:dc5ba9b9f28a 28 a=ain*675;
mbedschool 0:dc5ba9b9f28a 29 resistance=(float)(1023-a)*10000/a; //get the resistance of the sensor;
mbedschool 0:dc5ba9b9f28a 30 temperature=1/(log(resistance/10000)/B+1/298.15)-273.15; //convert to temperature via datasheet ;
mbedschool 0:dc5ba9b9f28a 31 myled = 1;
mbedschool 0:dc5ba9b9f28a 32 wait(0.8);
mbedschool 0:dc5ba9b9f28a 33 myled = 0;
mbedschool 0:dc5ba9b9f28a 34 wait(0.8);
mbedschool 0:dc5ba9b9f28a 35 display.write(temperature);
mbedschool 0:dc5ba9b9f28a 36 }
mbedschool 0:dc5ba9b9f28a 37 }
mbedschool 0:dc5ba9b9f28a 38
mbedschool 0:dc5ba9b9f28a 39