Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1.  
  2. #include <Servo.h> //libreria para controlar el servo motor
  3. #include <Bounce.h>//libreria para eliminar el rebote
  4. Servo myservo; ;// crea el objeto para controlar el servo
  5.  
  6. int Adelante ; //variables para guardar el valor de el pulsador1
  7. int Atras;//variables para guardar el valor de el pulsador2
  8. int i=0;
  9. int nivel=0;
  10. int TLEDs=7; //numero maximo de leds
  11. int LEDs[] = {  4, 5, 6, 7, 8,9,10};// conjunto de pines a utilizar para los leds
  12. int Angulo[] = { 0, 30, 60, 90, 120, 150, 179};//conjunto de valores a tomar el servo motor
  13.  
  14. void setup() {
  15. myservo.attach(10);
  16. for (i=0; i<TLEDs; i++)
  17. {
  18. pinMode(LEDs[i], OUTPUT); // define el puerto i de salida, para los LEDs
  19. }
  20. for (i=11; i<=12; i++)
  21. {
  22. pinMode (i, INPUT) ;
  23. digitalWrite (i, HIGH); // activa el pull-up resistor de los botones
  24. }
  25. for (i=0; i<TLEDs; i++)
  26. Controled(i);
  27. }
  28.  
  29. void loop()
  30. {
  31. Adelante = digitalRead(11) ;
  32. Bounce Badelantar = Bounce( Adelante, 5);
  33. if (Adelante==LOW) // presionaron el boton (hay un pull-up)
  34. {
  35. nivel++;
  36. if (nivel>MAXLEDs-1){ nivel=TLEDs-1;} // no puede pasar de MAXLEDs-1, 6 en este caso
  37. }
  38. Atras = digitalRead(12) ;
  39. Bounce Batras = Bounce( Atras, 5);
  40. if (Atras==LOW) // presionaron el boton (hay un pull-up)
  41. {
  42. nivel--;
  43. if (nivel<0) nivel=0; // no puede pasar de 0
  44. }
  45. Controled(nivel);
  46. }
  47.  
  48. void Controled(int pos)
  49. {
  50. // apaga todos los LEDs
  51. for (i=0; i<TLEDs; i++)
  52. digitalWrite(LEDs[i], LOW);
  53. // prende el LED que se necesita
  54. digitalWrite(LEDs[pos], HIGH);
  55. // mueve el servo al angulo que se necesita
  56. myservo.write(Angulo[pos]);
  57. }