View difference between Paste ID: rNGhKFfL and viupEQ55
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!! */