elrincondearni

Fototransistor mio mejorado

Jan 31st, 2014
745
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. 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!! */
Advertisement
Add Comment
Please, Sign In to add comment