naveen

Dependencies:   GPS TextLCD mbed

Fork of AnalogIn-HelloWorld by Mbed

Committer:
sathguru
Date:
Sun Apr 19 11:01:15 2015 +0000
Revision:
2:f1a2f4029bd6
Parent:
0:101a12a915c6
6 sensor

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sam_grove 0:101a12a915c6 1 /* mbed Example Program
sam_grove 0:101a12a915c6 2 * Copyright (c) 2006-2014 ARM Limited
sam_grove 0:101a12a915c6 3 *
sam_grove 0:101a12a915c6 4 * Licensed under the Apache License, Version 2.0 (the "License");
sam_grove 0:101a12a915c6 5 * you may not use this file except in compliance with the License.
sam_grove 0:101a12a915c6 6 * You may obtain a copy of the License at
sam_grove 0:101a12a915c6 7 *
sam_grove 0:101a12a915c6 8 * http://www.apache.org/licenses/LICENSE-2.0
sam_grove 0:101a12a915c6 9 *
sam_grove 0:101a12a915c6 10 * Unless required by applicable law or agreed to in writing, software
sam_grove 0:101a12a915c6 11 * distributed under the License is distributed on an "AS IS" BASIS,
sam_grove 0:101a12a915c6 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
sam_grove 0:101a12a915c6 13 * See the License for the specific language governing permissions and
sam_grove 0:101a12a915c6 14 * limitations under the License.
sam_grove 0:101a12a915c6 15 */
sam_grove 0:101a12a915c6 16
sam_grove 0:101a12a915c6 17 #include "mbed.h"
sam_grove 0:101a12a915c6 18
sam_grove 0:101a12a915c6 19 // Initialize a pins to perform analog input and digital output fucntions
sathguru 2:f1a2f4029bd6 20 AnalogIn ph(A0);
sathguru 2:f1a2f4029bd6 21 AnalogIn CuAm(A1);
sathguru 2:f1a2f4029bd6 22 AnalogIn Na(A2);
sathguru 2:f1a2f4029bd6 23 AnalogIn Cutemp(A3);
sathguru 2:f1a2f4029bd6 24 AnalogIn Disoxy(A4);
sathguru 2:f1a2f4029bd6 25 AnalogIn flu(A5);
sathguru 2:f1a2f4029bd6 26 Serial uart(p28, p27); //Pin 28 TX, pin 27 RX.
sathguru 2:f1a2f4029bd6 27
sathguru 2:f1a2f4029bd6 28 char a;
sathguru 2:f1a2f4029bd6 29
sam_grove 0:101a12a915c6 30 DigitalOut dout(LED1);
sathguru 2:f1a2f4029bd6 31 #include "TextLCD.h"
sathguru 2:f1a2f4029bd6 32 DigitalOut myled(LED1);
sathguru 2:f1a2f4029bd6 33 DigitalOut myled1(LED2);
sathguru 2:f1a2f4029bd6 34 DigitalOut myled2(LED3);
sathguru 2:f1a2f4029bd6 35 DigitalOut myled3(LED4);
sathguru 2:f1a2f4029bd6 36 TextLCD lcd(p26, p25, p24, p23, p22, p21); // rs, e, d4-d7
sam_grove 0:101a12a915c6 37
sathguru 2:f1a2f4029bd6 38 float ph1,Am,Ni1,temp,Do,Sod,fl;
sathguru 2:f1a2f4029bd6 39 float CuAm1;
sathguru 2:f1a2f4029bd6 40
sathguru 2:f1a2f4029bd6 41 void send_ph(unsigned int s)
sathguru 2:f1a2f4029bd6 42 {
sathguru 2:f1a2f4029bd6 43 unsigned int a;
sathguru 2:f1a2f4029bd6 44 unsigned char b,c,d,e,f;
sathguru 2:f1a2f4029bd6 45 a=s/10;
sathguru 2:f1a2f4029bd6 46 b=s%10;
sathguru 2:f1a2f4029bd6 47 c=a%10;
sathguru 2:f1a2f4029bd6 48 d=a/10;
sathguru 2:f1a2f4029bd6 49 e=d%10;
sathguru 2:f1a2f4029bd6 50 f=d/10;
sathguru 2:f1a2f4029bd6 51 putchar(f+0x30);
sathguru 2:f1a2f4029bd6 52 putchar(e+0x30);
sathguru 2:f1a2f4029bd6 53 putchar(c+0x30);
sathguru 2:f1a2f4029bd6 54 putchar(b+0x30);
sathguru 2:f1a2f4029bd6 55 putchar(0x0A);
sathguru 2:f1a2f4029bd6 56 }
sathguru 2:f1a2f4029bd6 57
sathguru 2:f1a2f4029bd6 58
sathguru 2:f1a2f4029bd6 59 float map(float x, float in_min, float in_max, float out_min, float out_max)
sathguru 2:f1a2f4029bd6 60 {
sathguru 2:f1a2f4029bd6 61 return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
sathguru 2:f1a2f4029bd6 62 }
sam_grove 0:101a12a915c6 63 int main(void)
sam_grove 0:101a12a915c6 64 {
sathguru 2:f1a2f4029bd6 65 lcd.locate(0,0);
sathguru 2:f1a2f4029bd6 66 lcd.printf(" Sensor \n");
sathguru 2:f1a2f4029bd6 67 lcd.locate(0,1);
sathguru 2:f1a2f4029bd6 68 lcd.printf(" Monitoring1 \n");
sathguru 2:f1a2f4029bd6 69 wait(1);
sathguru 2:f1a2f4029bd6 70 myled = 1;
sathguru 2:f1a2f4029bd6 71 myled1=1;
sathguru 2:f1a2f4029bd6 72 myled3=1;
sathguru 2:f1a2f4029bd6 73 myled2=1;
sathguru 2:f1a2f4029bd6 74 wait(0.5);
sathguru 2:f1a2f4029bd6 75 myled = 0;
sathguru 2:f1a2f4029bd6 76 myled = 0;
sathguru 2:f1a2f4029bd6 77 myled1=0;
sathguru 2:f1a2f4029bd6 78 myled3=0;
sathguru 2:f1a2f4029bd6 79 myled2=0;
sathguru 2:f1a2f4029bd6 80
sathguru 2:f1a2f4029bd6 81 wait(0.5);
sathguru 2:f1a2f4029bd6 82 lcd.cls();
sam_grove 0:101a12a915c6 83 while (1) {
sam_grove 0:101a12a915c6 84 // test the voltage on the initialized analog pin
sam_grove 0:101a12a915c6 85 // and if greater than 0.3 * VCC set the digital pin
sam_grove 0:101a12a915c6 86 // to a logic 1 otherwise a logic 0
sathguru 2:f1a2f4029bd6 87 //if(ain > 0.3f) {
sathguru 2:f1a2f4029bd6 88 // dout = 1;
sathguru 2:f1a2f4029bd6 89 //} else {
sathguru 2:f1a2f4029bd6 90 // dout = 0;
sathguru 2:f1a2f4029bd6 91 // }/
sam_grove 0:101a12a915c6 92
sam_grove 0:101a12a915c6 93 // print the percentage and 16 bit normalized values
sathguru 2:f1a2f4029bd6 94
sathguru 2:f1a2f4029bd6 95 //lcd.printf(" Temperature \n");
sathguru 2:f1a2f4029bd6 96 ////////////////////////////////ph/////////////////////////////////
sathguru 2:f1a2f4029bd6 97 lcd.locate(0,0);
sathguru 2:f1a2f4029bd6 98
sathguru 2:f1a2f4029bd6 99
sathguru 2:f1a2f4029bd6 100 ph1=ph.read()*100;
sathguru 2:f1a2f4029bd6 101 ph1=map(ph1,0,100,0,14);
sathguru 2:f1a2f4029bd6 102 lcd.printf("PH:%2.0f",ph1);
sathguru 2:f1a2f4029bd6 103 lcd.locate(0,0);
sathguru 2:f1a2f4029bd6 104
sathguru 2:f1a2f4029bd6 105 lcd.locate(6,0);
sathguru 2:f1a2f4029bd6 106 Am=CuAm.read()*100;
sathguru 2:f1a2f4029bd6 107
sathguru 2:f1a2f4029bd6 108 Am=map(Am,0,100,0.05,0);
sathguru 2:f1a2f4029bd6 109 if(Am<0.02)
sathguru 2:f1a2f4029bd6 110 {
sathguru 2:f1a2f4029bd6 111 lcd.printf("A:%2.3f", Am);
sathguru 2:f1a2f4029bd6 112 }
sathguru 2:f1a2f4029bd6 113 else
sathguru 2:f1a2f4029bd6 114 {
sathguru 2:f1a2f4029bd6 115 Am=0;
sathguru 2:f1a2f4029bd6 116 lcd.printf("A:%2.3f", Am);
sam_grove 0:101a12a915c6 117 }
sathguru 2:f1a2f4029bd6 118
sathguru 2:f1a2f4029bd6 119
sathguru 2:f1a2f4029bd6 120
sathguru 2:f1a2f4029bd6 121 /////////////////
sathguru 2:f1a2f4029bd6 122
sathguru 2:f1a2f4029bd6 123
sathguru 2:f1a2f4029bd6 124
sathguru 2:f1a2f4029bd6 125
sathguru 2:f1a2f4029bd6 126 lcd.locate(0,1);
sathguru 2:f1a2f4029bd6 127 Sod=Na.read()*100;
sathguru 2:f1a2f4029bd6 128
sathguru 2:f1a2f4029bd6 129 Sod=map(Sod,0,100,0,1);
sathguru 2:f1a2f4029bd6 130 if(Sod<0.75)
sathguru 2:f1a2f4029bd6 131 {
sathguru 2:f1a2f4029bd6 132 lcd.printf("S:%2.1f", Sod);
sam_grove 0:101a12a915c6 133 }
sathguru 2:f1a2f4029bd6 134 else
sathguru 2:f1a2f4029bd6 135 {
sathguru 2:f1a2f4029bd6 136 Sod=0;
sathguru 2:f1a2f4029bd6 137 lcd.printf("S:%2.1f", Sod);
sathguru 2:f1a2f4029bd6 138 }
sathguru 2:f1a2f4029bd6 139
sathguru 2:f1a2f4029bd6 140
sathguru 2:f1a2f4029bd6 141
sathguru 2:f1a2f4029bd6 142 ////////////////////////ni///////////////////////
sathguru 2:f1a2f4029bd6 143 Do=Disoxy.read()*100;
sathguru 2:f1a2f4029bd6 144 Do=map(Do,0,200,0,1);
sathguru 2:f1a2f4029bd6 145
sathguru 2:f1a2f4029bd6 146 printf("%2.0f", Do);
sathguru 2:f1a2f4029bd6 147
sathguru 2:f1a2f4029bd6 148 ///////////////////////////////////////
sathguru 2:f1a2f4029bd6 149
sathguru 2:f1a2f4029bd6 150 lcd.locate(5,1);
sathguru 2:f1a2f4029bd6 151 temp=Cutemp.read()*100;
sathguru 2:f1a2f4029bd6 152 temp=map(temp,0,100,0,300);
sathguru 2:f1a2f4029bd6 153 lcd.printf(" T:%2.0f", temp);
sathguru 2:f1a2f4029bd6 154
sathguru 2:f1a2f4029bd6 155
sathguru 2:f1a2f4029bd6 156
sathguru 2:f1a2f4029bd6 157
sathguru 2:f1a2f4029bd6 158 fl=flu.read()*100;
sathguru 2:f1a2f4029bd6 159 fl=map(fl,0,100,0,2);
sathguru 2:f1a2f4029bd6 160 if(fl<0.46)
sathguru 2:f1a2f4029bd6 161 {
sathguru 2:f1a2f4029bd6 162 lcd.locate(13,0);
sathguru 2:f1a2f4029bd6 163 lcd.printf("Flu");
sathguru 2:f1a2f4029bd6 164 lcd.locate(11,1);
sathguru 2:f1a2f4029bd6 165 lcd.printf("%2.2f", fl);
sathguru 2:f1a2f4029bd6 166
sathguru 2:f1a2f4029bd6 167 }
sathguru 2:f1a2f4029bd6 168 else
sathguru 2:f1a2f4029bd6 169 {
sathguru 2:f1a2f4029bd6 170 fl=0;
sathguru 2:f1a2f4029bd6 171 lcd.locate(13,0);
sathguru 2:f1a2f4029bd6 172 lcd.printf("Flu");
sathguru 2:f1a2f4029bd6 173 lcd.locate(11,1);
sathguru 2:f1a2f4029bd6 174 lcd.printf(" %2.2f", fl);
sathguru 2:f1a2f4029bd6 175 }
sathguru 2:f1a2f4029bd6 176
sathguru 2:f1a2f4029bd6 177
sathguru 2:f1a2f4029bd6 178
sathguru 2:f1a2f4029bd6 179 a=uart.getc();
sathguru 2:f1a2f4029bd6 180 if (a=='A')
sathguru 2:f1a2f4029bd6 181 {
sathguru 2:f1a2f4029bd6 182 uart.printf("%2.1f", ph1);
sathguru 2:f1a2f4029bd6 183 uart.printf("\n");
sathguru 2:f1a2f4029bd6 184 }
sathguru 2:f1a2f4029bd6 185
sathguru 2:f1a2f4029bd6 186 else if (a=='B')
sathguru 2:f1a2f4029bd6 187 {
sathguru 2:f1a2f4029bd6 188 uart.printf("%2.3f", Am);
sathguru 2:f1a2f4029bd6 189 uart.printf("\n");
sathguru 2:f1a2f4029bd6 190 }
sathguru 2:f1a2f4029bd6 191 /////////////////////////////////////////////////////////////////
sathguru 2:f1a2f4029bd6 192 else if (a=='C')
sathguru 2:f1a2f4029bd6 193 {
sathguru 2:f1a2f4029bd6 194 uart.printf("%2.1f", Sod);
sathguru 2:f1a2f4029bd6 195 uart.printf("\n");
sathguru 2:f1a2f4029bd6 196 }
sathguru 2:f1a2f4029bd6 197
sathguru 2:f1a2f4029bd6 198 else if (a=='D')
sathguru 2:f1a2f4029bd6 199 {
sathguru 2:f1a2f4029bd6 200 uart.printf("%2.0f",temp );
sathguru 2:f1a2f4029bd6 201 uart.printf("\n");
sathguru 2:f1a2f4029bd6 202 }
sathguru 2:f1a2f4029bd6 203 else if (a=='E')
sathguru 2:f1a2f4029bd6 204 {
sathguru 2:f1a2f4029bd6 205 uart.printf("%2.0f",Do );
sathguru 2:f1a2f4029bd6 206 uart.printf("\n");
sathguru 2:f1a2f4029bd6 207 }
sathguru 2:f1a2f4029bd6 208 else if (a=='F')
sathguru 2:f1a2f4029bd6 209 {
sathguru 2:f1a2f4029bd6 210 uart.printf("%2.2f",fl );
sathguru 2:f1a2f4029bd6 211 uart.printf("\n");
sathguru 2:f1a2f4029bd6 212 }
sathguru 2:f1a2f4029bd6 213
sathguru 2:f1a2f4029bd6 214
sathguru 2:f1a2f4029bd6 215
sathguru 2:f1a2f4029bd6 216
sathguru 2:f1a2f4029bd6 217
sathguru 2:f1a2f4029bd6 218 }
sathguru 2:f1a2f4029bd6 219 }