LM74 temperature sensor testing, using PC serial and 20x2 text LCD

Dependencies:   TextLCD mbed

Committer:
atpolitis
Date:
Thu Mar 10 18:26:48 2011 +0000
Revision:
0:e43dcd4f2ed8
First attempt

Who changed what in which revision?

UserRevisionLine numberNew contents of line
atpolitis 0:e43dcd4f2ed8 1 // Hello World! for the TextLCD
atpolitis 0:e43dcd4f2ed8 2
atpolitis 0:e43dcd4f2ed8 3 #include "mbed.h"
atpolitis 0:e43dcd4f2ed8 4 #include "TextLCD.h"
atpolitis 0:e43dcd4f2ed8 5 #include "TmpLM74.h"
atpolitis 0:e43dcd4f2ed8 6
atpolitis 0:e43dcd4f2ed8 7 DigitalOut myled(LED1);
atpolitis 0:e43dcd4f2ed8 8
atpolitis 0:e43dcd4f2ed8 9 //TextLCD lcd(p15, p16, p17, p18, p19, p20, TextLCD::LCD20x4); // rs, e, d4-d7
atpolitis 0:e43dcd4f2ed8 10 //TextLCD lcd(p15, p16, p17, p18, p19, p20, TextLCD::LCD16x2); // rs, e, d4-d7
atpolitis 0:e43dcd4f2ed8 11 TextLCD lcd(p15, p16, p17, p18, p19, p20, TextLCD::LCD20x2); // rs, e, d4-d7
atpolitis 0:e43dcd4f2ed8 12 Serial pc(USBTX, USBRX); // tx, rx
atpolitis 0:e43dcd4f2ed8 13
atpolitis 0:e43dcd4f2ed8 14 TmpLM74 Temp74(p5, p6, p7, p8); // LM74 connected on: mosi, miso, sclk, csLM74
atpolitis 0:e43dcd4f2ed8 15
atpolitis 0:e43dcd4f2ed8 16 void showTemp74(void);
atpolitis 0:e43dcd4f2ed8 17
atpolitis 0:e43dcd4f2ed8 18 int main() {
atpolitis 0:e43dcd4f2ed8 19
atpolitis 0:e43dcd4f2ed8 20 lcd.cls();
atpolitis 0:e43dcd4f2ed8 21
atpolitis 0:e43dcd4f2ed8 22 wait(2);
atpolitis 0:e43dcd4f2ed8 23 lcd.locate(0,0);
atpolitis 0:e43dcd4f2ed8 24 // lcd.printf("Hello World12345678!");
atpolitis 0:e43dcd4f2ed8 25 lcd.printf("Hello World!");
atpolitis 0:e43dcd4f2ed8 26
atpolitis 0:e43dcd4f2ed8 27
atpolitis 0:e43dcd4f2ed8 28 pc.printf("HELLO!, testing LM74 temperature sensor ...\n\r");
atpolitis 0:e43dcd4f2ed8 29 wait(2);
atpolitis 0:e43dcd4f2ed8 30
atpolitis 0:e43dcd4f2ed8 31 lcd.locate(0,0); // locate(column,row)
atpolitis 0:e43dcd4f2ed8 32 lcd.printf("test LM74 tmp sensor");
atpolitis 0:e43dcd4f2ed8 33 lcd.locate(0,1);
atpolitis 0:e43dcd4f2ed8 34 lcd.printf("LM74temp = 110.8 *C ");
atpolitis 0:e43dcd4f2ed8 35
atpolitis 0:e43dcd4f2ed8 36 wait(1);
atpolitis 0:e43dcd4f2ed8 37
atpolitis 0:e43dcd4f2ed8 38 while(1) {
atpolitis 0:e43dcd4f2ed8 39
atpolitis 0:e43dcd4f2ed8 40 myled = !myled;
atpolitis 0:e43dcd4f2ed8 41 showTemp74();
atpolitis 0:e43dcd4f2ed8 42 wait(2);
atpolitis 0:e43dcd4f2ed8 43 /*
atpolitis 0:e43dcd4f2ed8 44 myled = !myled;
atpolitis 0:e43dcd4f2ed8 45 showTemp74();
atpolitis 0:e43dcd4f2ed8 46 Temp74.shutLM74down();
atpolitis 0:e43dcd4f2ed8 47 wait(1);
atpolitis 0:e43dcd4f2ed8 48 */
atpolitis 0:e43dcd4f2ed8 49 }
atpolitis 0:e43dcd4f2ed8 50 }
atpolitis 0:e43dcd4f2ed8 51 // ******************************************************************
atpolitis 0:e43dcd4f2ed8 52 // ******************************************************************
atpolitis 0:e43dcd4f2ed8 53
atpolitis 0:e43dcd4f2ed8 54 void showTemp74(void){
atpolitis 0:e43dcd4f2ed8 55
atpolitis 0:e43dcd4f2ed8 56 float TempC = Temp74.readTemp();
atpolitis 0:e43dcd4f2ed8 57 lcd.locate(11,1);
atpolitis 0:e43dcd4f2ed8 58 lcd.printf(" ");
atpolitis 0:e43dcd4f2ed8 59 lcd.locate(11,1);
atpolitis 0:e43dcd4f2ed8 60
atpolitis 0:e43dcd4f2ed8 61 pc.printf("Temperature = ");
atpolitis 0:e43dcd4f2ed8 62 if(TempC > MAX_LM74_TEMP) {
atpolitis 0:e43dcd4f2ed8 63 pc.printf(" ? *C\n", TempC);
atpolitis 0:e43dcd4f2ed8 64 lcd.printf(" ? *C", TempC);
atpolitis 0:e43dcd4f2ed8 65 } else {
atpolitis 0:e43dcd4f2ed8 66 pc.printf("%3.1f *C\n", TempC);
atpolitis 0:e43dcd4f2ed8 67 lcd.printf("%3.1f *C", TempC);
atpolitis 0:e43dcd4f2ed8 68 }
atpolitis 0:e43dcd4f2ed8 69 }
atpolitis 0:e43dcd4f2ed8 70 // ******************************************************************