Pio IX 6ºTecnica - Integrantes: Facundo Carmona, Facundo Sussini - Desactivacion de bomba

Dependencies:   mbed

Committer:
Susso
Date:
Tue Jun 04 12:15:06 2019 +0000
Revision:
0:30355a2492cd
thg

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Susso 0:30355a2492cd 1 #include "mbed.h"
Susso 0:30355a2492cd 2 #include <stdio.h>
Susso 0:30355a2492cd 3 #include <stdlib.h>
Susso 0:30355a2492cd 4
Susso 0:30355a2492cd 5 #define CERO 0b1111110
Susso 0:30355a2492cd 6 #define UNO 0b0110000
Susso 0:30355a2492cd 7 #define DOS 0b1101101
Susso 0:30355a2492cd 8 #define TRES 0b1111001
Susso 0:30355a2492cd 9 #define CUATRO 0b0110011
Susso 0:30355a2492cd 10 #define CINCO 0b1011011
Susso 0:30355a2492cd 11 #define SEIS 0b1011111
Susso 0:30355a2492cd 12 #define SIETE 0b1110000
Susso 0:30355a2492cd 13 #define OCHO 0b1111111
Susso 0:30355a2492cd 14 #define NUEVE 0b1110011
Susso 0:30355a2492cd 15
Susso 0:30355a2492cd 16 #define inicio 0
Susso 0:30355a2492cd 17 #define rendam 1
Susso 0:30355a2492cd 18 #define seleccion 2
Susso 0:30355a2492cd 19 #define verificacion 3
Susso 0:30355a2492cd 20
Susso 0:30355a2492cd 21 #define bomba0 0
Susso 0:30355a2492cd 22 #define bomba1 1
Susso 0:30355a2492cd 23 #define bomba2 2
Susso 0:30355a2492cd 24 #define bomba3 3
Susso 0:30355a2492cd 25
Susso 0:30355a2492cd 26 /* defino mis patas de bus de datos que voy a utilizar para manejar los displays */
Susso 0:30355a2492cd 27 BusOut displays(D2,D3,D4,D5,D6,D7,D8); // G-F-E-D-C-B-A
Susso 0:30355a2492cd 28
Susso 0:30355a2492cd 29 /* defino mis variables, ticker y las funciones para los displays-------- ademas defino 2 salidas para la conmutacion de los 2 displays */
Susso 0:30355a2492cd 30 char regresivo=0, parar=1,variable=0,conmutador=0;
Susso 0:30355a2492cd 31 int cuentaregre=0, unidad=0, decena=0;
Susso 0:30355a2492cd 32 Ticker ti;
Susso 0:30355a2492cd 33 void cuentaregresiva();
Susso 0:30355a2492cd 34 void cuentitaregresiva();
Susso 0:30355a2492cd 35 DigitalOut unida(D9,0);
Susso 0:30355a2492cd 36 DigitalOut decen(D10,0);
Susso 0:30355a2492cd 37
Susso 0:30355a2492cd 38 /* defino el led rojo y verde ,y las inicializo en "OFF" */
Susso 0:30355a2492cd 39 DigitalOut rojo(LED_RED,1);
Susso 0:30355a2492cd 40 DigitalOut verde(LED_GREEN,1);
Susso 0:30355a2492cd 41
Susso 0:30355a2492cd 42 /* defino mi pulsador de inicio y reseteo */
Susso 0:30355a2492cd 43 void contador1();
Susso 0:30355a2492cd 44 void pulsadorsito1();
Susso 0:30355a2492cd 45 char salida1=0,cuenta1=0, PIN1=0;
Susso 0:30355a2492cd 46 Ticker ti1;
Susso 0:30355a2492cd 47 DigitalIn pin1(A0,PullUp);
Susso 0:30355a2492cd 48
Susso 0:30355a2492cd 49 /* defino mi "pulsador" de la bomba0 */
Susso 0:30355a2492cd 50 void contador2();
Susso 0:30355a2492cd 51 void pulsadorsito2();
Susso 0:30355a2492cd 52 char salida2=0,cuenta2=0, PIN2=0;
Susso 0:30355a2492cd 53 Ticker ti2;
Susso 0:30355a2492cd 54 DigitalIn pin2(A2,PullUp);
Susso 0:30355a2492cd 55
Susso 0:30355a2492cd 56 /* defino mi "pulsador" de la bomba1 */
Susso 0:30355a2492cd 57 void contador3();
Susso 0:30355a2492cd 58 void pulsadorsito3();
Susso 0:30355a2492cd 59 char salida3=0,cuenta3=0, PIN3=0;
Susso 0:30355a2492cd 60 Ticker ti3;
Susso 0:30355a2492cd 61 DigitalIn pin3(A3,PullUp);
Susso 0:30355a2492cd 62
Susso 0:30355a2492cd 63 /* defino mi "pulsador" de la bomba2 */
Susso 0:30355a2492cd 64 void contador4();
Susso 0:30355a2492cd 65 void pulsadorsito4();
Susso 0:30355a2492cd 66 char salida4=0,cuenta4=0, PIN4=0;
Susso 0:30355a2492cd 67 Ticker ti4;
Susso 0:30355a2492cd 68 DigitalIn pin4(A4,PullUp);
Susso 0:30355a2492cd 69
Susso 0:30355a2492cd 70 /* defino mi "pulsador" de la bomba3 */
Susso 0:30355a2492cd 71 void contador5();
Susso 0:30355a2492cd 72 void pulsadorsito5();
Susso 0:30355a2492cd 73 char salida5=0,cuenta5=0, PIN5=0;
Susso 0:30355a2492cd 74 Ticker ti5;
Susso 0:30355a2492cd 75 DigitalIn pin5(A5,PullUp);
Susso 0:30355a2492cd 76
Susso 0:30355a2492cd 77 /* defino mis variables a utilizar en la funcion principal */
Susso 0:30355a2492cd 78 void bombucha();
Susso 0:30355a2492cd 79 char estado=0, reseteo=0, bloqueo0=0, bloqueo1=0, bloqueo2=0, bloqueo3=0,rondom[4],i=0,ruedam=0, bombuchita=0, desactivacion=0,x=0, bumba=0;
Susso 0:30355a2492cd 80
Susso 0:30355a2492cd 81 /* ticker random */
Susso 0:30355a2492cd 82 Ticker ran;
Susso 0:30355a2492cd 83 int ramd=0;
Susso 0:30355a2492cd 84 void randoma();
Susso 0:30355a2492cd 85
Susso 0:30355a2492cd 86 int main()
Susso 0:30355a2492cd 87 {
Susso 0:30355a2492cd 88 /* inicializo los numeros random */
Susso 0:30355a2492cd 89 srand(ramd);
Susso 0:30355a2492cd 90 ran.attach(&randoma,0.0001);
Susso 0:30355a2492cd 91
Susso 0:30355a2492cd 92 /* inicializo el ticker del pulsador de inicio */
Susso 0:30355a2492cd 93 ti1.attach(&contador1, 0.001);
Susso 0:30355a2492cd 94
Susso 0:30355a2492cd 95 /* inicializo los tickers de las bombas */
Susso 0:30355a2492cd 96 ti2.attach(&contador2, 0.001);
Susso 0:30355a2492cd 97 ti3.attach(&contador3, 0.001);
Susso 0:30355a2492cd 98 ti4.attach(&contador4, 0.001);
Susso 0:30355a2492cd 99 ti5.attach(&contador5, 0.001);
Susso 0:30355a2492cd 100
Susso 0:30355a2492cd 101 /* inicializo el ticker de la cuenta regresiva */
Susso 0:30355a2492cd 102 ti.attach(&cuentaregresiva, 0.001);
Susso 0:30355a2492cd 103
Susso 0:30355a2492cd 104 while(1) {
Susso 0:30355a2492cd 105 /* llamo a las funciones */
Susso 0:30355a2492cd 106 pulsadorsito1();
Susso 0:30355a2492cd 107 pulsadorsito2();
Susso 0:30355a2492cd 108 pulsadorsito3();
Susso 0:30355a2492cd 109 pulsadorsito4();
Susso 0:30355a2492cd 110 pulsadorsito5();
Susso 0:30355a2492cd 111 bombucha();
Susso 0:30355a2492cd 112 cuentitaregresiva();
Susso 0:30355a2492cd 113 }
Susso 0:30355a2492cd 114 }
Susso 0:30355a2492cd 115 /* funcion principal------------------------------------------------------------ */
Susso 0:30355a2492cd 116 void bombucha()
Susso 0:30355a2492cd 117 {
Susso 0:30355a2492cd 118 switch(estado) {
Susso 0:30355a2492cd 119 /* cuando apreto el pulsador se inicia el juego y reseteo mis variables */
Susso 0:30355a2492cd 120 case inicio:
Susso 0:30355a2492cd 121 if(salida1==1 && reseteo==0 ) {
Susso 0:30355a2492cd 122 reseteo=1;
Susso 0:30355a2492cd 123 estado = rendam;
Susso 0:30355a2492cd 124 printf("inicio \r\n");
Susso 0:30355a2492cd 125 i=0;
Susso 0:30355a2492cd 126 bloqueo0=0;
Susso 0:30355a2492cd 127 bloqueo1=0;
Susso 0:30355a2492cd 128 bloqueo2=0;
Susso 0:30355a2492cd 129 bloqueo3=0;
Susso 0:30355a2492cd 130 rojo=1;
Susso 0:30355a2492cd 131 verde=1;
Susso 0:30355a2492cd 132 }
Susso 0:30355a2492cd 133 break;
Susso 0:30355a2492cd 134
Susso 0:30355a2492cd 135 /* defino en un vector el orden de desconexion de las bombas */
Susso 0:30355a2492cd 136 case rendam:
Susso 0:30355a2492cd 137 if(i<4) {
Susso 0:30355a2492cd 138 /* mientras que aun no haya seleccionado todas las bombas */
Susso 0:30355a2492cd 139 ruedam=rand()%4;
Susso 0:30355a2492cd 140 /* est el bloqueo para asi de esta forma evito que me elija la misma bomba 2 o mas veces */
Susso 0:30355a2492cd 141 if(ruedam==0 && bloqueo0==0) {
Susso 0:30355a2492cd 142 bloqueo0=1;
Susso 0:30355a2492cd 143 rondom[i]= bomba0;
Susso 0:30355a2492cd 144 printf("bomba0 \r\n");
Susso 0:30355a2492cd 145 i++;
Susso 0:30355a2492cd 146 } else if(ruedam==1 && bloqueo1==0) {
Susso 0:30355a2492cd 147 bloqueo1=1;
Susso 0:30355a2492cd 148 rondom[i]= bomba1;
Susso 0:30355a2492cd 149 printf("bomba1 \r\n");
Susso 0:30355a2492cd 150 i++;
Susso 0:30355a2492cd 151 } else if(ruedam==2 && bloqueo2==0) {
Susso 0:30355a2492cd 152 bloqueo2=1;
Susso 0:30355a2492cd 153 rondom[i]= bomba2;
Susso 0:30355a2492cd 154 printf("bomba2 \r\n");
Susso 0:30355a2492cd 155 i++;
Susso 0:30355a2492cd 156 } else if(ruedam==3 && bloqueo3==0) {
Susso 0:30355a2492cd 157 bloqueo3=1;
Susso 0:30355a2492cd 158 rondom[i]= bomba3;
Susso 0:30355a2492cd 159 printf("bomba3 \r\n");
Susso 0:30355a2492cd 160 i++;
Susso 0:30355a2492cd 161 }
Susso 0:30355a2492cd 162 } else {
Susso 0:30355a2492cd 163 /* cuando termino el orden de las bombas */
Susso 0:30355a2492cd 164 i=0;
Susso 0:30355a2492cd 165 estado=seleccion;
Susso 0:30355a2492cd 166 printf("lista la bomba \r\n");
Susso 0:30355a2492cd 167 bloqueo0=0;
Susso 0:30355a2492cd 168 bloqueo1=0;
Susso 0:30355a2492cd 169 bloqueo2=0;
Susso 0:30355a2492cd 170 bloqueo3=0;
Susso 0:30355a2492cd 171 parar=0;
Susso 0:30355a2492cd 172 unidad=1;
Susso 0:30355a2492cd 173 decena=3;
Susso 0:30355a2492cd 174 }
Susso 0:30355a2492cd 175 break;
Susso 0:30355a2492cd 176
Susso 0:30355a2492cd 177 /* mientras que este a tiempo podre desconectar los cables de sus respectivas bombas */
Susso 0:30355a2492cd 178 case seleccion:
Susso 0:30355a2492cd 179 if(parar==0) {
Susso 0:30355a2492cd 180 if(salida2==1 && bloqueo0==0) {
Susso 0:30355a2492cd 181 bloqueo0=1;
Susso 0:30355a2492cd 182 estado=verificacion;
Susso 0:30355a2492cd 183 desactivacion=bomba0;
Susso 0:30355a2492cd 184 } else if(salida3==1 && bloqueo1==0) {
Susso 0:30355a2492cd 185 bloqueo1=1;
Susso 0:30355a2492cd 186 estado=verificacion;
Susso 0:30355a2492cd 187 desactivacion=bomba1;
Susso 0:30355a2492cd 188 } else if(salida4==1 && bloqueo2==0) {
Susso 0:30355a2492cd 189 bloqueo2=1;
Susso 0:30355a2492cd 190 estado=verificacion;
Susso 0:30355a2492cd 191 desactivacion=bomba2;
Susso 0:30355a2492cd 192 } else if(salida5==1 && bloqueo3==0) {
Susso 0:30355a2492cd 193 bloqueo3=1;
Susso 0:30355a2492cd 194 estado=verificacion;
Susso 0:30355a2492cd 195 desactivacion=bomba3;
Susso 0:30355a2492cd 196 } else if(salida1==1 && reseteo==1) {
Susso 0:30355a2492cd 197 /* si deseo resetear el programa , para poder iniciar de nuevo hay que volver a presionar el mismo boton otra vez */
Susso 0:30355a2492cd 198 estado=inicio;
Susso 0:30355a2492cd 199 i=0;
Susso 0:30355a2492cd 200 x=0;
Susso 0:30355a2492cd 201 printf("reseteate \r\n");
Susso 0:30355a2492cd 202 reseteo=0;
Susso 0:30355a2492cd 203 decena=0;
Susso 0:30355a2492cd 204 unidad=0;
Susso 0:30355a2492cd 205 parar=1;
Susso 0:30355a2492cd 206 }
Susso 0:30355a2492cd 207 } else if(parar==1) {
Susso 0:30355a2492cd 208 /* si se agota el tiempo vuel al inicio y explota la bomba*/
Susso 0:30355a2492cd 209 estado=inicio;
Susso 0:30355a2492cd 210 printf("ala hack bar \r\n");
Susso 0:30355a2492cd 211 x=0;
Susso 0:30355a2492cd 212 reseteo=0;
Susso 0:30355a2492cd 213 rojo=0;
Susso 0:30355a2492cd 214 parar=1;
Susso 0:30355a2492cd 215 unidad=0;
Susso 0:30355a2492cd 216 decena=0;
Susso 0:30355a2492cd 217 }
Susso 0:30355a2492cd 218 break;
Susso 0:30355a2492cd 219
Susso 0:30355a2492cd 220 case verificacion:
Susso 0:30355a2492cd 221 bumba=rondom[x];
Susso 0:30355a2492cd 222 if(bumba==desactivacion) {
Susso 0:30355a2492cd 223 /* si desconecte correctamente el cable */
Susso 0:30355a2492cd 224 x++;
Susso 0:30355a2492cd 225 if(x==4) {
Susso 0:30355a2492cd 226 /* en el caso que desconecte correctamente todos los cables */
Susso 0:30355a2492cd 227 estado=inicio;
Susso 0:30355a2492cd 228 x=0;
Susso 0:30355a2492cd 229 reseteo=0;
Susso 0:30355a2492cd 230 printf("Bien hecho agente Haunt, salvaste al mundo otra vez \r\n");
Susso 0:30355a2492cd 231 verde=0;
Susso 0:30355a2492cd 232 parar=1;
Susso 0:30355a2492cd 233 } else if(x<4) {
Susso 0:30355a2492cd 234 /* si aun no desconecte todos los cables */
Susso 0:30355a2492cd 235 estado=seleccion;
Susso 0:30355a2492cd 236 printf("un cable menos \r\n");
Susso 0:30355a2492cd 237 }
Susso 0:30355a2492cd 238
Susso 0:30355a2492cd 239 } else {
Susso 0:30355a2492cd 240 /* en el caso que me equivoque de cable , pierdo directamente */
Susso 0:30355a2492cd 241 estado=inicio;
Susso 0:30355a2492cd 242 printf("ala hack bar \r\n");
Susso 0:30355a2492cd 243 x=0;
Susso 0:30355a2492cd 244 reseteo=0;
Susso 0:30355a2492cd 245 rojo=0;
Susso 0:30355a2492cd 246 parar=1;
Susso 0:30355a2492cd 247 unidad=0;
Susso 0:30355a2492cd 248 decena=0;
Susso 0:30355a2492cd 249 }
Susso 0:30355a2492cd 250 break;
Susso 0:30355a2492cd 251 }
Susso 0:30355a2492cd 252 }
Susso 0:30355a2492cd 253 /* funcion ticker random */
Susso 0:30355a2492cd 254 void randoma()
Susso 0:30355a2492cd 255 {
Susso 0:30355a2492cd 256 ramd++;
Susso 0:30355a2492cd 257 srand(ramd);
Susso 0:30355a2492cd 258 }
Susso 0:30355a2492cd 259 /* funcion cuenta regresiva de los displays------------------------------------------------ */
Susso 0:30355a2492cd 260 void cuentitaregresiva()
Susso 0:30355a2492cd 261 {
Susso 0:30355a2492cd 262 /* se setea la cuenta de los displays y se va disminuyendo hasta que llegue a cero */
Susso 0:30355a2492cd 263 if(cuentaregre==0 && parar==0 ) {
Susso 0:30355a2492cd 264 /* se varia entre un display y otro 1000 veces por segundo ---- cuando se llega a 1000 , se cumple un segundo*/
Susso 0:30355a2492cd 265 cuentaregre=1000;
Susso 0:30355a2492cd 266 unidad--;
Susso 0:30355a2492cd 267 if(unidad<0) {
Susso 0:30355a2492cd 268 decena--;
Susso 0:30355a2492cd 269 unidad=9;
Susso 0:30355a2492cd 270 }
Susso 0:30355a2492cd 271 if(decena<0)
Susso 0:30355a2492cd 272 decena=9;
Susso 0:30355a2492cd 273 if(unidad==9 && decena==9) {
Susso 0:30355a2492cd 274 parar=1;
Susso 0:30355a2492cd 275 unidad=0;
Susso 0:30355a2492cd 276 decena=0;
Susso 0:30355a2492cd 277 }
Susso 0:30355a2492cd 278 }
Susso 0:30355a2492cd 279
Susso 0:30355a2492cd 280 /* se invierten las salidas de las referencias de los displays */
Susso 0:30355a2492cd 281 if(conmutador==0) {
Susso 0:30355a2492cd 282 unida=1;
Susso 0:30355a2492cd 283 decen=0;
Susso 0:30355a2492cd 284 variable=unidad;
Susso 0:30355a2492cd 285 } else {
Susso 0:30355a2492cd 286 unida=0;
Susso 0:30355a2492cd 287 decen=1;
Susso 0:30355a2492cd 288 variable=decena;
Susso 0:30355a2492cd 289 }
Susso 0:30355a2492cd 290
Susso 0:30355a2492cd 291 /* cada vez que cambio las referencias , tambien cambio la muestra de unidad y/o decena */
Susso 0:30355a2492cd 292 switch(variable) {
Susso 0:30355a2492cd 293 default:
Susso 0:30355a2492cd 294 case 0:
Susso 0:30355a2492cd 295 displays=CERO;
Susso 0:30355a2492cd 296 break;
Susso 0:30355a2492cd 297 case 1:
Susso 0:30355a2492cd 298 displays=UNO;
Susso 0:30355a2492cd 299 break;
Susso 0:30355a2492cd 300 case 2:
Susso 0:30355a2492cd 301 displays=DOS;
Susso 0:30355a2492cd 302 break;
Susso 0:30355a2492cd 303 case 3:
Susso 0:30355a2492cd 304 displays=TRES;
Susso 0:30355a2492cd 305 break;
Susso 0:30355a2492cd 306 case 4:
Susso 0:30355a2492cd 307 displays=CUATRO;
Susso 0:30355a2492cd 308 break;
Susso 0:30355a2492cd 309 case 5:
Susso 0:30355a2492cd 310 displays=CINCO;
Susso 0:30355a2492cd 311 break;
Susso 0:30355a2492cd 312 case 6:
Susso 0:30355a2492cd 313 displays=SEIS;
Susso 0:30355a2492cd 314 break;
Susso 0:30355a2492cd 315 case 7:
Susso 0:30355a2492cd 316 displays=SIETE;
Susso 0:30355a2492cd 317 break;
Susso 0:30355a2492cd 318 case 8:
Susso 0:30355a2492cd 319 displays=OCHO;
Susso 0:30355a2492cd 320 break;
Susso 0:30355a2492cd 321 case 9:
Susso 0:30355a2492cd 322 displays=NUEVE;
Susso 0:30355a2492cd 323 break;
Susso 0:30355a2492cd 324 }
Susso 0:30355a2492cd 325 }
Susso 0:30355a2492cd 326
Susso 0:30355a2492cd 327 /* ticker de la cuenta regresiva, cada vez que se entra se invierte la salida de las referencias de los displys */
Susso 0:30355a2492cd 328 void cuentaregresiva()
Susso 0:30355a2492cd 329 {
Susso 0:30355a2492cd 330 conmutador=!conmutador;
Susso 0:30355a2492cd 331 if(cuentaregre)
Susso 0:30355a2492cd 332 cuentaregre--;
Susso 0:30355a2492cd 333 }
Susso 0:30355a2492cd 334
Susso 0:30355a2492cd 335 //-----------funcion del pulsador de inicio-------------------------------------------------------------------
Susso 0:30355a2492cd 336 void pulsadorsito1()
Susso 0:30355a2492cd 337 {
Susso 0:30355a2492cd 338 switch(PIN1) {
Susso 0:30355a2492cd 339 default:
Susso 0:30355a2492cd 340 case 0:
Susso 0:30355a2492cd 341 if(pin1==1) {
Susso 0:30355a2492cd 342 salida1=0;
Susso 0:30355a2492cd 343 cuenta1=0;
Susso 0:30355a2492cd 344 } else if(pin1==0) {
Susso 0:30355a2492cd 345 PIN1=1;
Susso 0:30355a2492cd 346 cuenta1=100;
Susso 0:30355a2492cd 347 }
Susso 0:30355a2492cd 348 break;
Susso 0:30355a2492cd 349
Susso 0:30355a2492cd 350 case 1:
Susso 0:30355a2492cd 351 if(cuenta1==0 && pin1==1) {
Susso 0:30355a2492cd 352 salida1=1;
Susso 0:30355a2492cd 353 PIN1=0;
Susso 0:30355a2492cd 354 } else if( pin1==1 && cuenta1>0) {
Susso 0:30355a2492cd 355 PIN1=0;
Susso 0:30355a2492cd 356 }
Susso 0:30355a2492cd 357 break;
Susso 0:30355a2492cd 358 }
Susso 0:30355a2492cd 359 }
Susso 0:30355a2492cd 360
Susso 0:30355a2492cd 361 void contador1()
Susso 0:30355a2492cd 362 {
Susso 0:30355a2492cd 363 if(cuenta1)
Susso 0:30355a2492cd 364 cuenta1--;
Susso 0:30355a2492cd 365 }
Susso 0:30355a2492cd 366
Susso 0:30355a2492cd 367 //--------------funciones de los "pulsadores" de las bombas----------------------------------------------------------------
Susso 0:30355a2492cd 368 void pulsadorsito2()
Susso 0:30355a2492cd 369 {
Susso 0:30355a2492cd 370 switch(PIN2) {
Susso 0:30355a2492cd 371 default:
Susso 0:30355a2492cd 372 case 0:
Susso 0:30355a2492cd 373 if(pin2==1) {
Susso 0:30355a2492cd 374 salida2=0;
Susso 0:30355a2492cd 375 cuenta2=0;
Susso 0:30355a2492cd 376 } else if(pin2==0) {
Susso 0:30355a2492cd 377 PIN2=1;
Susso 0:30355a2492cd 378 cuenta2=100;
Susso 0:30355a2492cd 379 }
Susso 0:30355a2492cd 380 break;
Susso 0:30355a2492cd 381
Susso 0:30355a2492cd 382 case 1:
Susso 0:30355a2492cd 383 if(cuenta2==0 && pin2==1) {
Susso 0:30355a2492cd 384 salida2=1;
Susso 0:30355a2492cd 385 PIN2=0;
Susso 0:30355a2492cd 386 } else if( pin2==1 && cuenta2>0) {
Susso 0:30355a2492cd 387 PIN1=0;
Susso 0:30355a2492cd 388 }
Susso 0:30355a2492cd 389 break;
Susso 0:30355a2492cd 390 }
Susso 0:30355a2492cd 391 }
Susso 0:30355a2492cd 392
Susso 0:30355a2492cd 393 void contador2()
Susso 0:30355a2492cd 394 {
Susso 0:30355a2492cd 395 if(cuenta2)
Susso 0:30355a2492cd 396 cuenta2--;
Susso 0:30355a2492cd 397 }
Susso 0:30355a2492cd 398 //------------------------------------------------------------------------------
Susso 0:30355a2492cd 399 void pulsadorsito3()
Susso 0:30355a2492cd 400 {
Susso 0:30355a2492cd 401 switch(PIN3) {
Susso 0:30355a2492cd 402 default:
Susso 0:30355a2492cd 403 case 0:
Susso 0:30355a2492cd 404 if(pin3==1) {
Susso 0:30355a2492cd 405 salida3=0;
Susso 0:30355a2492cd 406 cuenta3=0;
Susso 0:30355a2492cd 407 } else if(pin3==0) {
Susso 0:30355a2492cd 408 PIN3=1;
Susso 0:30355a2492cd 409 cuenta3=100;
Susso 0:30355a2492cd 410 }
Susso 0:30355a2492cd 411 break;
Susso 0:30355a2492cd 412
Susso 0:30355a2492cd 413 case 1:
Susso 0:30355a2492cd 414 if(cuenta3==0 && pin3==1) {
Susso 0:30355a2492cd 415 salida3=1;
Susso 0:30355a2492cd 416 PIN3=0;
Susso 0:30355a2492cd 417 } else if( pin3==1 && cuenta3>0) {
Susso 0:30355a2492cd 418 PIN3=0;
Susso 0:30355a2492cd 419 }
Susso 0:30355a2492cd 420 break;
Susso 0:30355a2492cd 421 }
Susso 0:30355a2492cd 422 }
Susso 0:30355a2492cd 423
Susso 0:30355a2492cd 424 void contador3()
Susso 0:30355a2492cd 425 {
Susso 0:30355a2492cd 426 if(cuenta3)
Susso 0:30355a2492cd 427 cuenta3--;
Susso 0:30355a2492cd 428 }
Susso 0:30355a2492cd 429 //------------------------------------------------------------------------------
Susso 0:30355a2492cd 430 void pulsadorsito4()
Susso 0:30355a2492cd 431 {
Susso 0:30355a2492cd 432 switch(PIN4) {
Susso 0:30355a2492cd 433 default:
Susso 0:30355a2492cd 434 case 0:
Susso 0:30355a2492cd 435 if(pin4==1) {
Susso 0:30355a2492cd 436 salida4=0;
Susso 0:30355a2492cd 437 cuenta4=0;
Susso 0:30355a2492cd 438 } else if(pin4==0) {
Susso 0:30355a2492cd 439 PIN4=1;
Susso 0:30355a2492cd 440 cuenta4=100;
Susso 0:30355a2492cd 441 }
Susso 0:30355a2492cd 442 break;
Susso 0:30355a2492cd 443
Susso 0:30355a2492cd 444 case 1:
Susso 0:30355a2492cd 445 if(cuenta4==0 && pin4==1) {
Susso 0:30355a2492cd 446 salida4=1;
Susso 0:30355a2492cd 447 PIN4=0;
Susso 0:30355a2492cd 448 } else if( pin4==1 && cuenta4>0) {
Susso 0:30355a2492cd 449 PIN4=0;
Susso 0:30355a2492cd 450 }
Susso 0:30355a2492cd 451 break;
Susso 0:30355a2492cd 452 }
Susso 0:30355a2492cd 453 }
Susso 0:30355a2492cd 454
Susso 0:30355a2492cd 455 void contador4()
Susso 0:30355a2492cd 456 {
Susso 0:30355a2492cd 457 if(cuenta4)
Susso 0:30355a2492cd 458 cuenta4--;
Susso 0:30355a2492cd 459 }
Susso 0:30355a2492cd 460 //------------------------------------------------------------------------------
Susso 0:30355a2492cd 461 void pulsadorsito5()
Susso 0:30355a2492cd 462 {
Susso 0:30355a2492cd 463 switch(PIN5) {
Susso 0:30355a2492cd 464 default:
Susso 0:30355a2492cd 465 case 0:
Susso 0:30355a2492cd 466 if(pin5==1) {
Susso 0:30355a2492cd 467 salida5=0;
Susso 0:30355a2492cd 468 cuenta5=0;
Susso 0:30355a2492cd 469 } else if(pin5==0) {
Susso 0:30355a2492cd 470 PIN5=1;
Susso 0:30355a2492cd 471 cuenta5=100;
Susso 0:30355a2492cd 472 }
Susso 0:30355a2492cd 473 break;
Susso 0:30355a2492cd 474
Susso 0:30355a2492cd 475 case 1:
Susso 0:30355a2492cd 476 if(cuenta5==0 && pin5==1) {
Susso 0:30355a2492cd 477 salida5=1;
Susso 0:30355a2492cd 478 PIN5=0;
Susso 0:30355a2492cd 479 } else if( pin5==1 && cuenta5>0) {
Susso 0:30355a2492cd 480 PIN5=0;
Susso 0:30355a2492cd 481 }
Susso 0:30355a2492cd 482 break;
Susso 0:30355a2492cd 483 }
Susso 0:30355a2492cd 484 }
Susso 0:30355a2492cd 485
Susso 0:30355a2492cd 486 void contador5()
Susso 0:30355a2492cd 487 {
Susso 0:30355a2492cd 488 if(cuenta5)
Susso 0:30355a2492cd 489 cuenta5--;
Susso 0:30355a2492cd 490 }