Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #define pines 3
  2. #define pot A0    
  3.  
  4. const int pinLatch = 2;  
  5. const int pinReloj = 3;  
  6. const int pinDato = 4;  
  7.  
  8. int led[pines] = {2,3,4};
  9.  
  10. // creamos una tabla para los numeros del 0 al 9
  11. int num1[1]={249};
  12. int num2[1]={164};
  13. int num3[1]={176};
  14. int num4[1]={153};
  15. int num5[1]={146};
  16. int num6[1]={131};
  17. int num7[1]={248};
  18. int num8[1]={128};
  19. int num9[1]={144};
  20. int num0[1]={192};
  21.  
  22.  
  23. void setup ()
  24. {
  25.   for (int i=0;i<pines;i++)
  26.   pinMode(led[i],OUTPUT);
  27. }
  28.  
  29.  
  30.  
  31. void loop()
  32. {
  33.   int valor = analogRead(pot);
  34.   int i=map(valor, 0, 1023, 0, 10);
  35.   rutina(i);                  
  36. }
  37.  
  38. void rutina(int i)
  39. {
  40.    switch(i)
  41.   {
  42.   case 0:
  43.     for(int j=0;j<1;j++)
  44.     {
  45.       activacion(num0[j]);
  46.       delay(60);
  47.     }
  48.     break;
  49.   case 1:
  50.     for(int j=0;j<1;j++)
  51.     {
  52.       activacion(num1[j]);
  53.       delay(60);
  54.     }
  55.     break;
  56.   case 2:
  57.     for(int j=0;j<1;j++)
  58.     {
  59.       activacion(num2[j]);
  60.       delay(60);
  61.     }
  62.     break;
  63.   case 3:
  64.     for(int j=0;j<1;j++)
  65.     {
  66.       activacion(num3[j]);
  67.       delay(60);
  68.     }
  69.     break;
  70.   case 4:
  71.     for(int j=0;j<1;j++)
  72.     {
  73.       activacion(num4[j]);
  74.       delay(100);
  75.     }
  76.     break;  
  77.   case 5:
  78.     for(int j=0;j<1;j++)
  79.     {
  80.       activacion(num5[j]);
  81.       delay(60);
  82.     }
  83.     break;  
  84.    case 6:
  85.     for(int j=0;j<1;j++)
  86.     {
  87.       activacion(num6[j]);
  88.       delay(60);
  89.     }
  90.     break;  
  91.     case 7:
  92.     for(int j=0;j<1;j++)
  93.     {
  94.       activacion(num7[j]);
  95.       delay(60);
  96.     }
  97.     break;  
  98.     case 8:
  99.     for(int j=0;j<1;j++)
  100.     {
  101.       activacion(num8[j]);
  102.       delay(60);
  103.     }
  104.     break;
  105.     case 9:
  106.     for(int j=0;j<1;j++)
  107.     {
  108.       activacion(num9[j]);
  109.       delay(60);
  110.     }
  111.     break;  
  112.   }
  113. }
  114.  
  115.  
  116. void activacion(int i)
  117. {
  118.   digitalWrite (pinLatch, LOW);
  119.   shiftOut (pinDato, pinReloj, MSBFIRST, i);  
  120.   digitalWrite (pinLatch, HIGH);  
  121.   delay(50);  
  122. }