Grove Thermometer sensor dispalay
Dependencies: DigitDisplay mbed
main.cpp@0:dc5ba9b9f28a, 2015-02-09 (annotated)
- Committer:
- mbedschool
- Date:
- Mon Feb 09 03:00:27 2015 +0000
- Revision:
- 0:dc5ba9b9f28a
thermometer
Who changed what in which revision?
User | Revision | Line number | New 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 |