Craig Evans
/
1620_App_Board_Temperature_Sensor
TMP36
main.cpp@0:99902f3f1508, 2017-02-28 (annotated)
- Committer:
- eencae
- Date:
- Tue Feb 28 19:28:00 2017 +0000
- Revision:
- 0:99902f3f1508
- Child:
- 1:b5c4ca3bf074
Initial commit.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
eencae | 0:99902f3f1508 | 1 | /* ELEC1620 Application Board Example |
eencae | 0:99902f3f1508 | 2 | |
eencae | 0:99902f3f1508 | 3 | TMP36 |
eencae | 0:99902f3f1508 | 4 | |
eencae | 0:99902f3f1508 | 5 | (c) Dr Craig A. Evans, University of Leeds, Feb 2017 |
eencae | 0:99902f3f1508 | 6 | |
eencae | 0:99902f3f1508 | 7 | */ |
eencae | 0:99902f3f1508 | 8 | |
eencae | 0:99902f3f1508 | 9 | #include "mbed.h" |
eencae | 0:99902f3f1508 | 10 | #include "N5110.h" |
eencae | 0:99902f3f1508 | 11 | |
eencae | 0:99902f3f1508 | 12 | // JP1 on board must be in 2-3 position |
eencae | 0:99902f3f1508 | 13 | N5110 lcd(p8,p9,p10,p11,p13,p21); |
eencae | 0:99902f3f1508 | 14 | |
eencae | 0:99902f3f1508 | 15 | // Temperature sensor connected to ADC pin |
eencae | 0:99902f3f1508 | 16 | AnalogIn tmp36(p16); |
eencae | 0:99902f3f1508 | 17 | |
eencae | 0:99902f3f1508 | 18 | int main() { |
eencae | 0:99902f3f1508 | 19 | |
eencae | 0:99902f3f1508 | 20 | lcd.init(); // need to initialise the LCD |
eencae | 0:99902f3f1508 | 21 | |
eencae | 0:99902f3f1508 | 22 | while(1) { |
eencae | 0:99902f3f1508 | 23 | |
eencae | 0:99902f3f1508 | 24 | // read in the ADC value and convert to voltage |
eencae | 0:99902f3f1508 | 25 | float voltage = 3.3f * tmp36.read(); |
eencae | 0:99902f3f1508 | 26 | |
eencae | 0:99902f3f1508 | 27 | // T = 100V - 50 |
eencae | 0:99902f3f1508 | 28 | // convert voltage to temperature |
eencae | 0:99902f3f1508 | 29 | float temperature = 100.0f*voltage - 50.0f; |
eencae | 0:99902f3f1508 | 30 | |
eencae | 0:99902f3f1508 | 31 | // we need an array of chars to store the message |
eencae | 0:99902f3f1508 | 32 | char buffer[14]; // max screen witdth is 14 |
eencae | 0:99902f3f1508 | 33 | // print message to buffer |
eencae | 0:99902f3f1508 | 34 | sprintf(buffer,"T=%.2f C",temperature); |
eencae | 0:99902f3f1508 | 35 | // print to screen (x pixel, line number) |
eencae | 0:99902f3f1508 | 36 | lcd.printString(buffer,0,0); |
eencae | 0:99902f3f1508 | 37 | // update the LCD |
eencae | 0:99902f3f1508 | 38 | lcd.refresh(); |
eencae | 0:99902f3f1508 | 39 | |
eencae | 0:99902f3f1508 | 40 | // small delay between readings |
eencae | 0:99902f3f1508 | 41 | wait(1.0); |
eencae | 0:99902f3f1508 | 42 | |
eencae | 0:99902f3f1508 | 43 | } |
eencae | 0:99902f3f1508 | 44 | } |