problema de selección de PIN sobre arduino

0

Mi esquema como abajo. He conectado 8 sensores de hall como se muestra en la imagen. El problema al que me enfrento aquí es SO, s1, s2. La luz Led no está encendida. Incluso el voltaje de la red a través es de 3.9v. He probado con multímetro LED funcionando bien. Por favor, hágame saber por qué podría ser motivo para no brillar al cargar el código a continuación.

SO, S1, S2 son pines selectivos para MUX IC. Aquí estoy escalando hasta 24 después de eso. Descubrí que el Io digital de a través se está obteniendo correctamente según la tabla de verdad o la matriz mencionada.

#include <avr/wdt.h>
int SO_enable=7;
int S1_enable=6;
int S2_enable=5;
int Enablepin=4;
int Sensor_Value0=0;
int Sensor_Value1=0;
int Sensor_Value2=0;
float  voltage0;
float voltage1;

float Current_Mux1[9];
float Current_Mux2[9];
float Current_Mux3[9];
float ARDUINO_ANALOG_SCALING=0.004799608993157;
int row,column;
int DigitalHigh=8;
int DigitalHigh1=9;
static float  Mux1_array[9]={
  0.0};
static float  Mux2_array[9]={
  0.0};
  static float  Mux3_array[9]={
  0.0};

 float Current_Value1[9]={0.0};
 float Current_Value2[9]={0.0};
int array[9][4]={
  {    0,0,0,0  }
  ,
  {    0,0,0,1  }
  ,
  {    0,0,1,0  }
  ,  
  {    0,0,1,1  }
  ,
  {    0,1,0,0  }
  ,
  {    0,1,0,1  }
  ,
  {    0,1,1,0  }
  ,
  {    0,1,1,1  }
  ,
  {    1,0,0,0  }

};

void setup()
{
  wdt_enable(WDTO_8S);
  pinMode(SO_enable, OUTPUT) ;// pin can enable/disable using digital IO 7 of arduino
  pinMode(S1_enable, OUTPUT) ;// pin can enable/disable using digital IO 6 of arduino
  pinMode(S2_enable, OUTPUT) ;// pin can enable/disable using digital IO 5 of arduino
  pinMode(Enablepin, OUTPUT) ;// pin can enable/disable using digital IO 4 of arduino
  pinMode(A0, INPUT) ;
  pinMode(A5, INPUT) ;
  pinMode(DigitalHigh,OUTPUT);
  pinMode(DigitalHigh1,OUTPUT);
  Serial.begin(9600);
  Serial.print("Channel\t");
 Serial.print("MUX1_V \t"); Serial.print("MUX1_C \t");
   Serial.print("MUX2_V \t"); Serial.print("MUX2_C \t");
   Serial.print("MUX3_V \t"); Serial.println("MUX3_C \t");
}

void loop()
{
  wdt_reset();
  digitalWrite(DigitalHigh,HIGH);
  digitalWrite(DigitalHigh1,HIGH);
  for(row=0;row<9;row++)
  {
    int k=(8*array[row][0]+4*array[row][1]+2*array[row][2]+1*array[row][3]);

   // Serial.print("k:");
    Serial.print(k);
    Serial.print("\t");
    digitalWrite(Enablepin,array[row][0]);
    digitalWrite(SO_enable,array[row][1]);
    digitalWrite(S1_enable,array[row][2]);
    digitalWrite(S2_enable,array[row][3]); 
   delay(100); 
    Sensor_Value0=analogRead(A0);
    Sensor_Value1=analogRead(A5);
    Sensor_Value2=analogRead(A3);

   Mux1_array[row]=(Sensor_Value0 * ARDUINO_ANALOG_SCALING);
   Mux2_array[row]=(Sensor_Value1 * ARDUINO_ANALOG_SCALING);
   Mux3_array[row]=(Sensor_Value2 * ARDUINO_ANALOG_SCALING);
    Current_Mux1[row] = (Mux1_array[row]*35.1428571429)-87.6571428571;
    Current_Mux2[row]=(Mux2_array[row]*35.1428571429)-87.6571428571;
    Current_Mux3[row]=(Mux3_array[row]*35.1428571429)-87.6571428571;

  Serial.print( Mux1_array[row]);Serial.print("\t");Serial.print( Current_Mux1[row]);Serial.print("\t");
Serial.print( Mux2_array[row]);Serial.print("\t");Serial.print( Current_Mux2[row]);Serial.print("\t");
Serial.print( Mux3_array[row]);Serial.print("\t");Serial.println( Current_Mux3[row]);


  }
 Serial.println("...................................................................");
 Serial.print("Channel\t");
 Serial.print("MUX1_V \t"); Serial.print("MUX1_C \t");
   Serial.print("MUX2_V \t"); Serial.print("MUX2_C \t");
   Serial.print("MUX3_V \t"); Serial.println("MUX3_C \t");
 delay(500);
}

simular este circuito : esquema creado usando CircuitLab

    
pregunta user50949

1 respuesta

2

De la hoja de datos de CD74HCT4051:

  

I IL (Corriente de fuga en la entrada de control): ± 0.1μA

Err ... eso no va a encender el LED. A menos que tengas una visión sobrehumana. Ponga el LED en paralelo con el MUX en su lugar.

simular este circuito : esquema creado usando CircuitLab

    
respondido por el Ignacio Vazquez-Abrams

Lea otras preguntas en las etiquetas