SHOW:
|
|
- or go back to the newest paste.
| 1 | int conta=0; /*Iniciacion de la variable que funcionará como contador*/ | |
| 2 | int leerdato(int pin); /*Declaramos la funcion que vamos a usar para el programa*/ | |
| 3 | ||
| 4 | void setup() { /* Configuración habitual de pines*/
| |
| 5 | pinMode(2, OUTPUT); | |
| 6 | pinMode(3, INPUT); | |
| 7 | } | |
| 8 | void loop() { /* Un void loop() muy sencillo, debido a que el cerebro del código está en la función*/
| |
| 9 | digitalWrite(2, leerdato(3)); | |
| 10 | delay(100); | |
| 11 | } | |
| 12 | ||
| 13 | int leerdato(int pin){ /*Aquí viene la chicha*/
| |
| 14 | - | while(digitalRead(pin)) conta++; /*Aquí se incrementa el contador (de valor inicial 0) en una unidad */ |
| 14 | + | if (conta>99) conta = 0; /*Para evitar salidas de rango */ |
| 15 | while(digitalRead(pin)) conta++; /*Aquí se incrementa el contador (de valor inicial 0) en una unidad */ | |
| 16 | /*Cada vez que se lee un valor alto de corriente(luz IR en el fototransistor)*/ | |
| 17 | /*Para que se encienda y apague con cada pulsación del mando*/ | |
| 18 | switch (conta%2) { /*Comprobamos si conta es par o impar*/
| |
| 19 | case 0: | |
| 20 | return 0; /*Si conta es par, apagamos el led*/ | |
| 21 | break; | |
| 22 | case 1: | |
| 23 | return 1; /*Si conta es impar, encendemos el led*/ | |
| 24 | break; | |
| 25 | } | |
| 26 | } | |
| 27 | ||
| 28 | /*Para cualquier duda, contactad con nosotros vía e-mail o en nuestra sección contacta de www.ingenieroaburrido.com | |
| 29 | Un saludo a todos, y hasta la semana que viene!! */ |