Proyecto emprendetronika
Dependencies: freetronicsLCDShield mbed
Fork of prototipo by
main.cpp@3:06e5ccad7fea, 2014-05-29 (annotated)
- Committer:
- davroina
- Date:
- Thu May 29 23:11:38 2014 +0000
- Revision:
- 3:06e5ccad7fea
- Parent:
- 2:196bf6ff7eff
Proyecto con el algoritmo terminado para emprendetronika :D
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
hite222008 | 0:c7f387fc3773 | 1 | #include "mbed.h" |
hite222008 | 0:c7f387fc3773 | 2 | #include "freetronicsLCDShield.h" |
hite222008 | 0:c7f387fc3773 | 3 | |
hite222008 | 0:c7f387fc3773 | 4 | freetronicsLCDShield lcd(D8, D9, D4, D5, D6, D7, D3, A0); |
hite222008 | 0:c7f387fc3773 | 5 | DigitalOut valvula1(PTC12); |
hite222008 | 0:c7f387fc3773 | 6 | DigitalOut valvula2(PTC13); |
hite222008 | 0:c7f387fc3773 | 7 | DigitalOut valvula3(PTC16); |
hite222008 | 0:c7f387fc3773 | 8 | DigitalOut valvula4(PTC17); |
hite222008 | 0:c7f387fc3773 | 9 | DigitalIn switch1(PTB8); |
hite222008 | 0:c7f387fc3773 | 10 | DigitalIn switch2(PTB9); |
hite222008 | 0:c7f387fc3773 | 11 | DigitalIn switch3(PTB10); |
hite222008 | 0:c7f387fc3773 | 12 | DigitalIn switch4(PTB11); |
hite222008 | 1:5372d7ce92ff | 13 | DigitalIn start(PTE2); |
davroina | 3:06e5ccad7fea | 14 | DigitalIn paralelo(PTE3); |
hite222008 | 0:c7f387fc3773 | 15 | AnalogIn pot1(PTB0); |
hite222008 | 0:c7f387fc3773 | 16 | AnalogIn pot2(PTB1); |
hite222008 | 0:c7f387fc3773 | 17 | AnalogIn pot3(PTB2); |
hite222008 | 0:c7f387fc3773 | 18 | AnalogIn pot4(PTB3); |
davroina | 3:06e5ccad7fea | 19 | Timer t; |
hite222008 | 1:5372d7ce92ff | 20 | Timer t1; |
hite222008 | 1:5372d7ce92ff | 21 | Timer t2; |
hite222008 | 1:5372d7ce92ff | 22 | Timer t3; |
hite222008 | 1:5372d7ce92ff | 23 | Timer t4; |
hite222008 | 0:c7f387fc3773 | 24 | |
hite222008 | 1:5372d7ce92ff | 25 | float tiempo1, tiempo2, tiempo3, tiempo4; |
davroina | 3:06e5ccad7fea | 26 | int bandera, bandera1, bandera2, bandera3, bandera4, banderaS; |
hite222008 | 1:5372d7ce92ff | 27 | |
hite222008 | 1:5372d7ce92ff | 28 | float pot11; |
hite222008 | 1:5372d7ce92ff | 29 | float pot22; |
hite222008 | 1:5372d7ce92ff | 30 | float pot33; |
hite222008 | 1:5372d7ce92ff | 31 | float pot44; |
hite222008 | 1:5372d7ce92ff | 32 | |
hite222008 | 1:5372d7ce92ff | 33 | |
hite222008 | 0:c7f387fc3773 | 34 | int main() { |
hite222008 | 1:5372d7ce92ff | 35 | |
hite222008 | 1:5372d7ce92ff | 36 | while(1){ |
hite222008 | 1:5372d7ce92ff | 37 | |
hite222008 | 1:5372d7ce92ff | 38 | if(start==0){ |
hite222008 | 1:5372d7ce92ff | 39 | bandera=1; |
davroina | 3:06e5ccad7fea | 40 | banderaS=1; |
hite222008 | 1:5372d7ce92ff | 41 | valvula1=0; |
hite222008 | 1:5372d7ce92ff | 42 | valvula2=0; |
hite222008 | 1:5372d7ce92ff | 43 | valvula3=0; |
hite222008 | 1:5372d7ce92ff | 44 | valvula4=0; |
hite222008 | 1:5372d7ce92ff | 45 | |
hite222008 | 1:5372d7ce92ff | 46 | lcd.setCursorPosition(0, 0); |
hite222008 | 1:5372d7ce92ff | 47 | if(switch1==1){ |
hite222008 | 1:5372d7ce92ff | 48 | lcd.printf("ON "); |
hite222008 | 1:5372d7ce92ff | 49 | lcd.setCursorPosition(1, 0); |
hite222008 | 1:5372d7ce92ff | 50 | pot11=pot1.read(); |
hite222008 | 1:5372d7ce92ff | 51 | lcd.printf("%0.1f",pot11); |
hite222008 | 1:5372d7ce92ff | 52 | } |
hite222008 | 1:5372d7ce92ff | 53 | else { |
hite222008 | 1:5372d7ce92ff | 54 | lcd.printf("OFF"); |
hite222008 | 1:5372d7ce92ff | 55 | lcd.setCursorPosition(1, 0); |
hite222008 | 2:196bf6ff7eff | 56 | lcd.printf("0.0 "); |
hite222008 | 1:5372d7ce92ff | 57 | } |
hite222008 | 1:5372d7ce92ff | 58 | |
hite222008 | 1:5372d7ce92ff | 59 | lcd.setCursorPosition(0, 4); |
hite222008 | 1:5372d7ce92ff | 60 | if(switch2==1){ |
hite222008 | 1:5372d7ce92ff | 61 | lcd.printf("ON "); |
hite222008 | 1:5372d7ce92ff | 62 | lcd.setCursorPosition(1, 4); |
hite222008 | 1:5372d7ce92ff | 63 | pot22=pot2.read(); |
hite222008 | 1:5372d7ce92ff | 64 | lcd.printf("%0.1f",pot22); |
hite222008 | 1:5372d7ce92ff | 65 | } |
hite222008 | 1:5372d7ce92ff | 66 | else { |
hite222008 | 1:5372d7ce92ff | 67 | lcd.printf("OFF"); |
hite222008 | 1:5372d7ce92ff | 68 | lcd.setCursorPosition(1, 4); |
hite222008 | 1:5372d7ce92ff | 69 | lcd.printf("0.0 "); |
hite222008 | 1:5372d7ce92ff | 70 | } |
hite222008 | 1:5372d7ce92ff | 71 | |
hite222008 | 1:5372d7ce92ff | 72 | lcd.setCursorPosition(0, 8); |
hite222008 | 1:5372d7ce92ff | 73 | if(switch3==1){ |
hite222008 | 1:5372d7ce92ff | 74 | lcd.printf("ON "); |
hite222008 | 1:5372d7ce92ff | 75 | lcd.setCursorPosition(1, 8); |
hite222008 | 1:5372d7ce92ff | 76 | pot33=pot3.read(); |
hite222008 | 1:5372d7ce92ff | 77 | lcd.printf("%0.1f",pot33); |
hite222008 | 1:5372d7ce92ff | 78 | } |
hite222008 | 1:5372d7ce92ff | 79 | else { |
hite222008 | 1:5372d7ce92ff | 80 | lcd.printf("OFF"); |
hite222008 | 1:5372d7ce92ff | 81 | lcd.setCursorPosition(1, 8); |
hite222008 | 1:5372d7ce92ff | 82 | lcd.printf("0.0 "); |
hite222008 | 1:5372d7ce92ff | 83 | } |
hite222008 | 1:5372d7ce92ff | 84 | |
hite222008 | 1:5372d7ce92ff | 85 | lcd.setCursorPosition(0, 12); |
hite222008 | 1:5372d7ce92ff | 86 | if(switch4==1){ |
hite222008 | 1:5372d7ce92ff | 87 | lcd.printf("ON "); |
hite222008 | 1:5372d7ce92ff | 88 | lcd.setCursorPosition(1, 12); |
hite222008 | 1:5372d7ce92ff | 89 | pot44=pot4.read(); |
hite222008 | 1:5372d7ce92ff | 90 | lcd.printf("%0.1f",pot44); |
hite222008 | 1:5372d7ce92ff | 91 | } |
hite222008 | 1:5372d7ce92ff | 92 | else { |
hite222008 | 1:5372d7ce92ff | 93 | lcd.printf("OFF"); |
hite222008 | 1:5372d7ce92ff | 94 | lcd.setCursorPosition(1, 12); |
hite222008 | 1:5372d7ce92ff | 95 | lcd.printf("0.0 "); |
hite222008 | 1:5372d7ce92ff | 96 | } |
hite222008 | 1:5372d7ce92ff | 97 | |
hite222008 | 1:5372d7ce92ff | 98 | }else{ |
hite222008 | 1:5372d7ce92ff | 99 | if(bandera==1){ |
hite222008 | 1:5372d7ce92ff | 100 | tiempo1=pot11*60; |
hite222008 | 1:5372d7ce92ff | 101 | tiempo2=pot22*60; |
hite222008 | 1:5372d7ce92ff | 102 | tiempo3=pot33*60; |
hite222008 | 1:5372d7ce92ff | 103 | tiempo4=pot44*60; |
hite222008 | 1:5372d7ce92ff | 104 | bandera1=switch1; |
hite222008 | 1:5372d7ce92ff | 105 | bandera2=switch2; |
hite222008 | 1:5372d7ce92ff | 106 | bandera3=switch3; |
hite222008 | 1:5372d7ce92ff | 107 | bandera4=switch4; |
hite222008 | 1:5372d7ce92ff | 108 | bandera=0; |
hite222008 | 1:5372d7ce92ff | 109 | } |
davroina | 3:06e5ccad7fea | 110 | if(paralelo==1){ |
davroina | 3:06e5ccad7fea | 111 | |
hite222008 | 1:5372d7ce92ff | 112 | if(bandera1==1){ |
hite222008 | 1:5372d7ce92ff | 113 | bandera1=0; |
hite222008 | 1:5372d7ce92ff | 114 | valvula1=1; |
hite222008 | 1:5372d7ce92ff | 115 | t1.start(); |
hite222008 | 1:5372d7ce92ff | 116 | } |
hite222008 | 1:5372d7ce92ff | 117 | if(t1>=tiempo1){ |
hite222008 | 1:5372d7ce92ff | 118 | t1.stop(); |
hite222008 | 1:5372d7ce92ff | 119 | t1.reset(); |
hite222008 | 1:5372d7ce92ff | 120 | valvula1=0; |
hite222008 | 1:5372d7ce92ff | 121 | } |
hite222008 | 1:5372d7ce92ff | 122 | |
hite222008 | 1:5372d7ce92ff | 123 | if(bandera2==1){ |
hite222008 | 1:5372d7ce92ff | 124 | bandera2=0; |
hite222008 | 1:5372d7ce92ff | 125 | valvula2=1; |
hite222008 | 1:5372d7ce92ff | 126 | t2.start(); |
hite222008 | 1:5372d7ce92ff | 127 | } |
hite222008 | 1:5372d7ce92ff | 128 | if(t2>=tiempo2){ |
hite222008 | 1:5372d7ce92ff | 129 | t2.stop(); |
hite222008 | 1:5372d7ce92ff | 130 | t2.reset(); |
hite222008 | 1:5372d7ce92ff | 131 | valvula2=0; |
hite222008 | 1:5372d7ce92ff | 132 | } |
hite222008 | 1:5372d7ce92ff | 133 | |
hite222008 | 1:5372d7ce92ff | 134 | if(bandera3==1){ |
hite222008 | 1:5372d7ce92ff | 135 | bandera3=0; |
hite222008 | 1:5372d7ce92ff | 136 | valvula3=1; |
hite222008 | 1:5372d7ce92ff | 137 | t3.start(); |
hite222008 | 1:5372d7ce92ff | 138 | } |
hite222008 | 1:5372d7ce92ff | 139 | if(t3>=tiempo3){ |
hite222008 | 1:5372d7ce92ff | 140 | t3.stop(); |
hite222008 | 1:5372d7ce92ff | 141 | t3.reset(); |
hite222008 | 1:5372d7ce92ff | 142 | valvula3=0; |
hite222008 | 1:5372d7ce92ff | 143 | } |
hite222008 | 1:5372d7ce92ff | 144 | |
hite222008 | 1:5372d7ce92ff | 145 | if(bandera4==1){ |
hite222008 | 1:5372d7ce92ff | 146 | bandera4=0; |
hite222008 | 1:5372d7ce92ff | 147 | valvula4=1; |
hite222008 | 1:5372d7ce92ff | 148 | t4.start(); |
hite222008 | 1:5372d7ce92ff | 149 | } |
hite222008 | 1:5372d7ce92ff | 150 | if(t4>=tiempo4){ |
hite222008 | 1:5372d7ce92ff | 151 | t4.stop(); |
hite222008 | 1:5372d7ce92ff | 152 | t4.reset(); |
hite222008 | 1:5372d7ce92ff | 153 | valvula4=0; |
hite222008 | 1:5372d7ce92ff | 154 | } |
hite222008 | 1:5372d7ce92ff | 155 | |
davroina | 3:06e5ccad7fea | 156 | }else{ |
davroina | 3:06e5ccad7fea | 157 | |
davroina | 3:06e5ccad7fea | 158 | //tiempo2=tiempo2+tiempo1; |
davroina | 3:06e5ccad7fea | 159 | //tiempo3=tiempo3+tiempo2; |
davroina | 3:06e5ccad7fea | 160 | //tiempo4=tiempo4+tiempo3; |
davroina | 3:06e5ccad7fea | 161 | if(banderaS==1){ |
davroina | 3:06e5ccad7fea | 162 | |
davroina | 3:06e5ccad7fea | 163 | if(switch1==1){ |
davroina | 3:06e5ccad7fea | 164 | t1.start(); |
davroina | 3:06e5ccad7fea | 165 | while(t1>=0 && t1<tiempo1){ |
davroina | 3:06e5ccad7fea | 166 | valvula1=1; |
davroina | 3:06e5ccad7fea | 167 | valvula2=0; |
davroina | 3:06e5ccad7fea | 168 | valvula3=0; |
davroina | 3:06e5ccad7fea | 169 | valvula4=0; |
davroina | 3:06e5ccad7fea | 170 | t2.start(); |
davroina | 3:06e5ccad7fea | 171 | t2.reset(); |
davroina | 3:06e5ccad7fea | 172 | |
davroina | 3:06e5ccad7fea | 173 | } |
davroina | 3:06e5ccad7fea | 174 | } |
davroina | 3:06e5ccad7fea | 175 | if(switch2==1){ |
davroina | 3:06e5ccad7fea | 176 | t2.start(); |
davroina | 3:06e5ccad7fea | 177 | while(t2>=0 && t2<tiempo2){ |
davroina | 3:06e5ccad7fea | 178 | valvula1=0; |
davroina | 3:06e5ccad7fea | 179 | valvula2=1; |
davroina | 3:06e5ccad7fea | 180 | valvula3=0; |
davroina | 3:06e5ccad7fea | 181 | valvula4=0; |
davroina | 3:06e5ccad7fea | 182 | t1.stop(); |
davroina | 3:06e5ccad7fea | 183 | t1.reset(); |
davroina | 3:06e5ccad7fea | 184 | t3.start(); |
davroina | 3:06e5ccad7fea | 185 | t3.reset(); |
davroina | 3:06e5ccad7fea | 186 | } |
davroina | 3:06e5ccad7fea | 187 | } |
davroina | 3:06e5ccad7fea | 188 | if(switch3==1){ |
davroina | 3:06e5ccad7fea | 189 | t3.start(); |
davroina | 3:06e5ccad7fea | 190 | while(t3>=0 && t3<tiempo3){ |
davroina | 3:06e5ccad7fea | 191 | valvula1=0; |
davroina | 3:06e5ccad7fea | 192 | valvula2=0; |
davroina | 3:06e5ccad7fea | 193 | valvula3=1; |
davroina | 3:06e5ccad7fea | 194 | valvula4=0; |
davroina | 3:06e5ccad7fea | 195 | t2.stop(); |
davroina | 3:06e5ccad7fea | 196 | t2.reset(); |
davroina | 3:06e5ccad7fea | 197 | t4.start(); |
davroina | 3:06e5ccad7fea | 198 | t4.reset(); |
davroina | 3:06e5ccad7fea | 199 | } |
davroina | 3:06e5ccad7fea | 200 | } |
davroina | 3:06e5ccad7fea | 201 | if(switch4==1){ |
davroina | 3:06e5ccad7fea | 202 | t4.start(); |
davroina | 3:06e5ccad7fea | 203 | while(t4>=0 && t4<tiempo4){ |
davroina | 3:06e5ccad7fea | 204 | valvula1=0; |
davroina | 3:06e5ccad7fea | 205 | valvula2=0; |
davroina | 3:06e5ccad7fea | 206 | valvula3=0; |
davroina | 3:06e5ccad7fea | 207 | valvula4=1; |
davroina | 3:06e5ccad7fea | 208 | t3.stop(); |
davroina | 3:06e5ccad7fea | 209 | t3.reset(); |
davroina | 3:06e5ccad7fea | 210 | } |
davroina | 3:06e5ccad7fea | 211 | } |
davroina | 3:06e5ccad7fea | 212 | if(t4>tiempo4){ |
davroina | 3:06e5ccad7fea | 213 | t4.stop(); |
davroina | 3:06e5ccad7fea | 214 | //t2.stop(); |
davroina | 3:06e5ccad7fea | 215 | //t3.stop(); |
davroina | 3:06e5ccad7fea | 216 | //t4.stop(); |
davroina | 3:06e5ccad7fea | 217 | t4.reset(); |
davroina | 3:06e5ccad7fea | 218 | //t2.reset(); |
davroina | 3:06e5ccad7fea | 219 | //t3.reset(); |
davroina | 3:06e5ccad7fea | 220 | //t4.reset(); |
davroina | 3:06e5ccad7fea | 221 | valvula1=0; |
davroina | 3:06e5ccad7fea | 222 | valvula2=0; |
davroina | 3:06e5ccad7fea | 223 | valvula3=0; |
davroina | 3:06e5ccad7fea | 224 | valvula4=0; |
davroina | 3:06e5ccad7fea | 225 | } |
davroina | 3:06e5ccad7fea | 226 | |
davroina | 3:06e5ccad7fea | 227 | } |
davroina | 3:06e5ccad7fea | 228 | banderaS=0; |
davroina | 3:06e5ccad7fea | 229 | |
davroina | 3:06e5ccad7fea | 230 | } |
hite222008 | 1:5372d7ce92ff | 231 | } |
hite222008 | 1:5372d7ce92ff | 232 | |
hite222008 | 1:5372d7ce92ff | 233 | } |
hite222008 | 1:5372d7ce92ff | 234 | } |
hite222008 | 1:5372d7ce92ff | 235 | |
hite222008 | 1:5372d7ce92ff | 236 | |
hite222008 | 1:5372d7ce92ff | 237 | /*lcd.printf("prototipo SR1"); |
hite222008 | 0:c7f387fc3773 | 238 | wait(3); |
hite222008 | 0:c7f387fc3773 | 239 | t.start(); |
hite222008 | 0:c7f387fc3773 | 240 | lcd.setCursorPosition(1, 0); |
hite222008 | 0:c7f387fc3773 | 241 | lcd.printf("counter"); |
hite222008 | 0:c7f387fc3773 | 242 | |
hite222008 | 0:c7f387fc3773 | 243 | while(1){ |
hite222008 | 0:c7f387fc3773 | 244 | tiempo=t.read(); |
hite222008 | 0:c7f387fc3773 | 245 | lcd.setCursorPosition(1, 8); |
hite222008 | 0:c7f387fc3773 | 246 | lcd.printf("%f", tiempo); |
hite222008 | 0:c7f387fc3773 | 247 | if(t>=0 && t<6){ |
hite222008 | 0:c7f387fc3773 | 248 | valvula1=1; |
hite222008 | 0:c7f387fc3773 | 249 | valvula2=0; |
hite222008 | 0:c7f387fc3773 | 250 | valvula3=0; |
hite222008 | 0:c7f387fc3773 | 251 | valvula4=0; |
hite222008 | 0:c7f387fc3773 | 252 | //lcd.printf("%d", t); |
hite222008 | 0:c7f387fc3773 | 253 | }else if(t>=6 && t<12){ |
hite222008 | 0:c7f387fc3773 | 254 | valvula1=0; |
hite222008 | 0:c7f387fc3773 | 255 | valvula2=1; |
hite222008 | 0:c7f387fc3773 | 256 | valvula3=0; |
hite222008 | 0:c7f387fc3773 | 257 | valvula4=0; |
hite222008 | 0:c7f387fc3773 | 258 | }else if(t>=12 && t<18){ |
hite222008 | 0:c7f387fc3773 | 259 | valvula1=0; |
hite222008 | 0:c7f387fc3773 | 260 | valvula2=0; |
hite222008 | 0:c7f387fc3773 | 261 | valvula3=1; |
hite222008 | 0:c7f387fc3773 | 262 | valvula4=0; |
hite222008 | 0:c7f387fc3773 | 263 | }else if(t>=18 && t<24){ |
hite222008 | 0:c7f387fc3773 | 264 | valvula1=0; |
hite222008 | 0:c7f387fc3773 | 265 | valvula2=0; |
hite222008 | 0:c7f387fc3773 | 266 | valvula3=0; |
hite222008 | 0:c7f387fc3773 | 267 | valvula4=1; |
hite222008 | 0:c7f387fc3773 | 268 | }else if(t>=24){ |
hite222008 | 0:c7f387fc3773 | 269 | t.reset(); |
hite222008 | 0:c7f387fc3773 | 270 | } |
hite222008 | 1:5372d7ce92ff | 271 | }*/ |