Facundo Sussini
/
TP1_ejer3
Pio IX 6ºTecnica - Integrantes: Facundo Carmona, Facundo Sussini - Desactivacion de bomba
main.cpp@0:30355a2492cd, 2019-06-04 (annotated)
- Committer:
- Susso
- Date:
- Tue Jun 04 12:15:06 2019 +0000
- Revision:
- 0:30355a2492cd
thg
Who changed what in which revision?
User | Revision | Line number | New 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 | } |