Demux con entradas analógicas

Demux con entradas analógicas


Solution:

  1. /*DEMULTIPLEXOR CO ENTRADAS ANALÓGICAS */
  2.  
  3. int sensorPin = A0;    // Selecciona el pinde entrada para el potenciómetro
  4. int ledPin = 13; // Led de la tarjeta.
  5. int led2Pin = 12; // Selecciona el pin para el LED
  6. int led3Pin = 11;
  7. int led4Pin = 10;
  8. int led5Pin = 9;
  9. int led6Pin = 8;
  10. int led7Pin = 7;
  11. int led8Pin = 6;
  12.  
  13. int sensorValue = 0;  // variable to store the value coming from the sensor
  14. ;
  15. void setup()
  16. {
  17.   // Declaración de ledPin como OUTPUT(salida):
  18.   pinMode(ledPin, OUTPUT);
  19.   pinMode(led2Pin, OUTPUT);
  20.   pinMode(led3Pin, OUTPUT);
  21.   pinMode(led4Pin, OUTPUT);
  22.   pinMode(led5Pin, OUTPUT);
  23.   pinMode(led6Pin, OUTPUT);
  24.   pinMode(led7Pin, OUTPUT);
  25.   pinMode(led8Pin, OUTPUT);
  26. }
  27. //-----1ra parte 'Demux' Todos los LED's en <LOW>-----
  28. void loop()
  29. {
  30.   sensorValue = analogRead(sensorPin);  // read the value from the sensor: //Lee una variable análoga
  31.  
  32.   digitalWrite(led8Pin, LOW);
  33.        
  34.   digitalWrite(led7Pin, LOW);
  35.    
  36.   digitalWrite(led6Pin, LOW);
  37.      
  38.   digitalWrite(led5Pin, LOW);
  39.      
  40.   digitalWrite(led4Pin, LOW);
  41.      
  42.   digitalWrite(led3Pin, LOW);
  43.      
  44.   digitalWrite(led2Pin, LOW);
  45.      
  46.   digitalWrite(ledPin, LOW);
  47. //-----2da Parte 'Demux' Cada LED en <HIGH> en forma secuenciada-------
  48.   digitalWrite(ledPin, HIGH); // turn the ledPin on //ledPin se pone en modo <HIGH>(encendido)
  49.     delay(sensorValue);// detiene el programa por milisegundos asignados a <sensorValue>:
  50.    
  51.   digitalWrite(ledPin, LOW);// turn the ledPin off //ledPin se pone en modo <LOW>(apagado)
  52.     delay(sensorValue);
  53.  
  54.   digitalWrite(led2Pin, HIGH);  
  55.     delay(sensorValue);
  56.  
  57.   digitalWrite(led2Pin, LOW);
  58.     delay(sensorValue);
  59.  
  60.   digitalWrite(led3Pin, HIGH);
  61.     delay(sensorValue);
  62.  
  63.   digitalWrite(led3Pin, LOW);
  64.     delay(sensorValue);
  65.  
  66.   digitalWrite(led4Pin, HIGH);
  67.     delay(sensorValue);
  68.  
  69.   digitalWrite(led4Pin, LOW);
  70.     delay(sensorValue);
  71.  
  72.   digitalWrite(led5Pin, HIGH);
  73.     delay(sensorValue);
  74.  
  75.   digitalWrite(led5Pin, LOW);
  76.     delay(sensorValue);
  77.  
  78.   digitalWrite(led6Pin, HIGH);
  79.     delay(sensorValue);
  80.  
  81.   digitalWrite(led6Pin, LOW);
  82.     delay(sensorValue);
  83.  
  84.   digitalWrite(led7Pin, HIGH);
  85.     delay(sensorValue);
  86.  
  87.   digitalWrite(led7Pin, LOW);
  88.     delay(sensorValue);
  89.  
  90.   digitalWrite(led8Pin, HIGH);
  91.     delay(sensorValue);
  92.  
  93.   digitalWrite(led8Pin, LOW);
  94.     delay(sensorValue);
  95. //-----------3ra Parte 'Demux' Todos los LED's en <LOW>----------------
  96.   digitalWrite(led8Pin, LOW);
  97.     delay(sensorValue);
  98.  
  99.   digitalWrite(led7Pin, LOW);
  100.     delay(sensorValue);
  101.  
  102.   digitalWrite(led6Pin, LOW);
  103.     delay(sensorValue);
  104.    
  105.   digitalWrite(led5Pin, LOW);
  106.     delay(sensorValue);
  107.  
  108.   digitalWrite(led4Pin, LOW);
  109.     delay(sensorValue);
  110.    
  111.   digitalWrite(led3Pin, LOW);
  112.     delay(sensorValue);
  113.  
  114.   digitalWrite(led2Pin, LOW);
  115.     delay(sensorValue);
  116.  
  117.   digitalWrite(ledPin, LOW);
  118.     delay(sensorValue);  
  119. //-----4ta Parte 'Demux' LED's en <HIGH> y después en <LOW> por pares-----
  120.   digitalWrite(led8Pin, HIGH);
  121.     delay(sensorValue);
  122.  
  123.   digitalWrite(led8Pin, HIGH);
  124.   digitalWrite(led7Pin, HIGH);
  125.     delay(sensorValue);
  126.   //---------------------------------------------
  127.   digitalWrite(led8Pin, LOW);
  128.   digitalWrite(led7Pin, LOW);
  129.     delay(sensorValue);
  130.    
  131.   digitalWrite(led6Pin, HIGH);
  132.   digitalWrite(led5Pin, HIGH);
  133.     delay(sensorValue);
  134.   //---------------------------------------------
  135.   digitalWrite(led6Pin, LOW);
  136.   digitalWrite(led5Pin, LOW);
  137.     delay(sensorValue);
  138.    
  139.   digitalWrite(led4Pin, HIGH);
  140.   digitalWrite(led3Pin, HIGH);
  141.     delay(sensorValue);
  142.   //---------------------------------------------
  143.   digitalWrite(led4Pin, LOW);
  144.   digitalWrite(led3Pin, LOW);
  145.     delay(sensorValue);
  146.    
  147.   digitalWrite(led2Pin, HIGH);
  148.   digitalWrite(ledPin, HIGH);
  149.     delay(sensorValue);
  150.   //---------------------------------------------
  151.   digitalWrite(led2Pin, LOW);
  152.   digitalWrite(ledPin, LOW);
  153.     delay(sensorValue);
  154.  
  155. }//fin del ciclo


Learn More :