Go Down

Topic: Multiplexor with LDRs (Read 316 times) previous topic - next topic

Miguel_P1

Hola a todos como están,
Es la primera vez que escribo en este medio, me podrían ayudar con el siguiente problema que presento.

He registrado 16 muestras LDR en un "arduino nano" con ayuda del CD74HC4067e, pero quiero agregar condiciones a cada LDR,o sea, despues de que arduino lea un valor X en cada LDR este registre, por ejemplo, una letra diferente por cada LDR.

Mis conocimientos en arduino son muy pocos. a continuacion mustro el coigo que llevo por el momento:
Code: [Select]

int pin_Out_S0 = 4;
int pin_Out_S1 = 5;
int pin_Out_S2 = 6;
int pin_Out_S3 = 7;
int pin_In_Mux1 = A7;
int Mux1_State[16] = {0}; //Array

void setup()
{
  pinMode(pin_Out_S0, OUTPUT);
  pinMode(pin_Out_S1, OUTPUT);
  pinMode(pin_Out_S2, OUTPUT);
  pinMode(pin_Out_S3, OUTPUT);
  pinMode(pin_In_Mux1, INPUT);
  Serial.begin(9600);
}

void loop() {
  updateMux1();
  for(int i = 0; i < 16; i ++) {
    if(i == 15) {
      Serial.println(Mux1_State[i]);
    } else {
      Serial.print(Mux1_State[i]);
      Serial.print(",");
    }
  }
}

void updateMux1 ()
{
  for (int i = 0; i < 16; i++)
  {
    digitalWrite(pin_Out_S0, HIGH && (i & B00000001));
    digitalWrite(pin_Out_S1, HIGH && (i & B00000010));
    digitalWrite(pin_Out_S2, HIGH && (i & B00000100));
    digitalWrite(pin_Out_S3, HIGH && (i & B00001000));
    Mux1_State[i] = analogRead(pin_In_Mux1);
  }
}


Me podrian ayudar por favor.

Saludos

Sereno

Para empezar revisa como has declarado el array, pásate por https://www.arduino.cc/reference/tr/language/variables/data-types/array/ y verifica si está bien declarada.
Luego podrías declarar otra para que al detectar ese valor X guarde en la misma posición del otro array el carácter que quieras.

Go Up