Proyecto emprendetronika

Dependencies:   freetronicsLCDShield mbed

Fork of prototipo by Hector Tangarife

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?

UserRevisionLine numberNew 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 }*/