Weather monitoring code

Dependencies:   TextLCD mbed

Committer:
nannanitinkumar
Date:
Sat Oct 26 10:46:10 2013 +0000
Revision:
0:edc11adb58de
yes

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nannanitinkumar 0:edc11adb58de 1 #include "mbed.h"
nannanitinkumar 0:edc11adb58de 2 #include "TextLCD.h"
nannanitinkumar 0:edc11adb58de 3 Serial GSM(p9, p10); // tx, rx
nannanitinkumar 0:edc11adb58de 4 char z=0x1A,e=0x22;
nannanitinkumar 0:edc11adb58de 5 char num1[] = "9742920934";
nannanitinkumar 0:edc11adb58de 6 char num[] = "7406660316";
nannanitinkumar 0:edc11adb58de 7 char c1[20]="Temp";
nannanitinkumar 0:edc11adb58de 8 char c2[20]="Humidity";
nannanitinkumar 0:edc11adb58de 9 char c3[20]="light";
nannanitinkumar 0:edc11adb58de 10 char c4[20]="Moisture";
nannanitinkumar 0:edc11adb58de 11 char c5[20]="Soil_Temp";
nannanitinkumar 0:edc11adb58de 12 DigitalOut led1(p28);
nannanitinkumar 0:edc11adb58de 13 DigitalOut led2(p27);
nannanitinkumar 0:edc11adb58de 14
nannanitinkumar 0:edc11adb58de 15 //char nun[] = "9739933223";
nannanitinkumar 0:edc11adb58de 16 Serial pc(USBTX, USBRX); // tx, rx
nannanitinkumar 0:edc11adb58de 17 TextLCD lcd(p21, p22, p23, p24, p25,p26);
nannanitinkumar 0:edc11adb58de 18 AnalogIn ain2(p19);//SM100
nannanitinkumar 0:edc11adb58de 19 AnalogIn ain3(p20); //HS220
nannanitinkumar 0:edc11adb58de 20 AnalogIn ain4(p18); //LM35
nannanitinkumar 0:edc11adb58de 21 AnalogIn ain5(p16); //PT100
nannanitinkumar 0:edc11adb58de 22 AnalogIn ain6(p17); //LDR
nannanitinkumar 0:edc11adb58de 23 char time_stamp[16];//as our lcd is of 16 character it is so
nannanitinkumar 0:edc11adb58de 24
nannanitinkumar 0:edc11adb58de 25 int main()
nannanitinkumar 0:edc11adb58de 26 {
nannanitinkumar 0:edc11adb58de 27 led2 = 0;
nannanitinkumar 0:edc11adb58de 28 led1 = 1;
nannanitinkumar 0:edc11adb58de 29 lcd.printf(" BMSCE_WSM ");
nannanitinkumar 0:edc11adb58de 30 //GSM.printf("AT\r\n");
nannanitinkumar 0:edc11adb58de 31 //wait(3);
nannanitinkumar 0:edc11adb58de 32 //GSM.printf("AT+CMGF=1\r\n");
nannanitinkumar 0:edc11adb58de 33 wait(3);
nannanitinkumar 0:edc11adb58de 34 //set_time(1361194897);
nannanitinkumar 0:edc11adb58de 35
nannanitinkumar 0:edc11adb58de 36 while (1)
nannanitinkumar 0:edc11adb58de 37 {
nannanitinkumar 0:edc11adb58de 38 float a,b,a1,a2,a3,a4,a5,t1,t2,t3,t4,t5,vcc;
nannanitinkumar 0:edc11adb58de 39 vcc = 3.25;
nannanitinkumar 0:edc11adb58de 40 // time_t seconds = time(NULL)+ 19800; // time(null) gives the GMT time .
nannanitinkumar 0:edc11adb58de 41 // strftime(time_stamp, 16, "%d%m%y%H%M%S", localtime(&seconds));
nannanitinkumar 0:edc11adb58de 42 //this converts the value in seconds obtained above to human readable format and assigns it to the timestamp
nannanitinkumar 0:edc11adb58de 43 // lcd.locate(0,0);//start displaying from zeroth column,zeroth row
nannanitinkumar 0:edc11adb58de 44 //lcd.printf("%s",time_stamp);//diplays the human readable time
nannanitinkumar 0:edc11adb58de 45 a = vcc-(ain6 * vcc);
nannanitinkumar 0:edc11adb58de 46 t1 = 46000*a/(vcc-a);
nannanitinkumar 0:edc11adb58de 47 b = vcc-(ain5*3.2);
nannanitinkumar 0:edc11adb58de 48 t2 = 219*b/(3.257-b);
nannanitinkumar 0:edc11adb58de 49 t3 = ain4*vcc;
nannanitinkumar 0:edc11adb58de 50 t4 = ain3*vcc;
nannanitinkumar 0:edc11adb58de 51 t5 = ain2*4096;
nannanitinkumar 0:edc11adb58de 52 a1 = 6000000*(powf(t1,-1.287));//LDR
nannanitinkumar 0:edc11adb58de 53 a2 = (t2 - 102)/0.3707;//PT100
nannanitinkumar 0:edc11adb58de 54 a3 = (t3 * 100)+1;//LM35
nannanitinkumar 0:edc11adb58de 55 a4 = (30.274*t4)+0.0402;//HS220
nannanitinkumar 0:edc11adb58de 56 a5 = 0.057 * t5 - 54.702;//SM100
nannanitinkumar 0:edc11adb58de 57 lcd.cls();
nannanitinkumar 0:edc11adb58de 58 lcd.locate(0,0);
nannanitinkumar 0:edc11adb58de 59 lcd.printf( "Light=%0.2fLUX", a1);
nannanitinkumar 0:edc11adb58de 60 lcd.locate(0,1 );
nannanitinkumar 0:edc11adb58de 61 lcd.printf( "Soil_T=%0.2fC", a2);
nannanitinkumar 0:edc11adb58de 62 wait(3);
nannanitinkumar 0:edc11adb58de 63 lcd.cls();
nannanitinkumar 0:edc11adb58de 64 lcd.locate(0,0);
nannanitinkumar 0:edc11adb58de 65 lcd.printf( "Temp= %0.2f C ", a3);
nannanitinkumar 0:edc11adb58de 66 lcd.locate( 0, 1 );
nannanitinkumar 0:edc11adb58de 67 lcd.printf( "SMois=%0.2f wc", a5);
nannanitinkumar 0:edc11adb58de 68 wait(3);
nannanitinkumar 0:edc11adb58de 69 lcd.cls();
nannanitinkumar 0:edc11adb58de 70 lcd.locate( 0, 0 );
nannanitinkumar 0:edc11adb58de 71 lcd.printf( "Humi=%0.2f %RH", a4);
nannanitinkumar 0:edc11adb58de 72 // pc.printf("%s",time_stamp);
nannanitinkumar 0:edc11adb58de 73 pc.printf("%f\r\n",a1);
nannanitinkumar 0:edc11adb58de 74 pc.printf("%f\r\n",a2);
nannanitinkumar 0:edc11adb58de 75 pc.printf("%f\r\n",a3);
nannanitinkumar 0:edc11adb58de 76 pc.printf("%f\r\n",a4);
nannanitinkumar 0:edc11adb58de 77 pc.printf("%f\r\n",a5);
nannanitinkumar 0:edc11adb58de 78 //GSM.printf("AT+CMGS=%c%s%c\r\n",e,num,e);
nannanitinkumar 0:edc11adb58de 79 // wait(3);
nannanitinkumar 0:edc11adb58de 80 GSM.printf("AT\r\n");
nannanitinkumar 0:edc11adb58de 81 wait(3);
nannanitinkumar 0:edc11adb58de 82 GSM.printf("AT+CMGF=1\r\n");
nannanitinkumar 0:edc11adb58de 83 wait(3);
nannanitinkumar 0:edc11adb58de 84 GSM.printf("AT+CMGS=%c%s%c\r\n",e,num1,e);
nannanitinkumar 0:edc11adb58de 85 wait(3);
nannanitinkumar 0:edc11adb58de 86
nannanitinkumar 0:edc11adb58de 87 GSM.printf("T%0.2f,H%0.2f,L%0.2f,P%0.2f@",a3,a4,a1,a5);
nannanitinkumar 0:edc11adb58de 88
nannanitinkumar 0:edc11adb58de 89
nannanitinkumar 0:edc11adb58de 90 /*GSM.printf("Degree=%0.2f\r\n",a3);
nannanitinkumar 0:edc11adb58de 91 GSM.printf("lumence=%0.2f\r\n",a1);
nannanitinkumar 0:edc11adb58de 92 GSM.printf("Humi=%0.2f\r\n",a4);
nannanitinkumar 0:edc11adb58de 93 GSM.printf("Soil_mois=%0.2f\r\n",a5);
nannanitinkumar 0:edc11adb58de 94 GSM.printf("Soil_temp=%0.2f",a2);*/
nannanitinkumar 0:edc11adb58de 95
nannanitinkumar 0:edc11adb58de 96 GSM.printf("%c",z);
nannanitinkumar 0:edc11adb58de 97 wait(1);
nannanitinkumar 0:edc11adb58de 98 GSM.printf("AT+CMGS=%c%s%c\r\n",e,num,e);
nannanitinkumar 0:edc11adb58de 99 GSM.printf("Temp=%0.2f,Humi=%0.2f,Light=%0.2f,SMois=%0.2f,Soil_T=%0.2fC@",a3,a4,a1,a5,a2);
nannanitinkumar 0:edc11adb58de 100 GSM.printf("%c",z);
nannanitinkumar 0:edc11adb58de 101 wait(3);
nannanitinkumar 0:edc11adb58de 102
nannanitinkumar 0:edc11adb58de 103 }
nannanitinkumar 0:edc11adb58de 104 }