#include <light_CD74HC4067.h>
const int s0Pin = 2; // S0 pin (Conectar a un pin digital)
const int s1Pin = 3; // S1 pin (Conectar a un pin digital)
const int s2Pin = 4; // S2 pin (Conectar a un pin digital)
const int s3Pin = 5; // S3 pin (Conectar a un pin digital)
const int signalPin = 6; // Pin analógico al que está conectado el multiplexor
CD74HC4067 mux(s0Pin, s1Pin, s2Pin, s3Pin); // mux(s0,s1,s2,s3), where s3 is the highest select line (MSB)
void setup() {
Serial.begin(9600);
// Configurar los pines de selección (s0, s1, s2, s3) como salidas
pinMode(s0Pin, OUTPUT);
pinMode(s1Pin, OUTPUT);
pinMode(s2Pin, OUTPUT);
pinMode(s3Pin, OUTPUT);
// Configurar la salida del multiplexor que está conectada al LED como salida digital
pinMode(signalPin, INPUT_PULLUP);// Configura el pin del botón conectado entre el pin y GND
}
int estadoBoton = 0;
const int entradasmplex = 16;
unsigned long lastdebouncetime[entradasmplex] = {0};
unsigned long debouncedelay = 50;
int lecturas[entradasmplex] = {0};
int vpmux[entradasmplex] = {0};
void loop(){
for (int i = 0; i <= 15; i++) {
mux.channel(i);
estadoBoton = digitalRead(signalPin);
if ((millis() - lastdebouncetime[i]) > debouncedelay){
if (estadoBoton == 0){
Serial.print("boton "+ String(i) + "=" + String(estadoBoton));
Serial.print("\t");
}
}
}
}