// --- Simulation ESP32 + CD74HC4067 sans bibliothèque externe ---
// Auteur : Gérard Guillaume
// Compatible Wokwi
// Broches de sélection du multiplexeur
#define S0 4
#define S1 5
#define S2 18
#define S3 19
// Broche de lecture (COM)
#define SIG 25
// Broche d'activation (EN)
#define EN 12
void setup() {
Serial.begin(115200);
Serial.println("Démarrage ESP32 + CD74HC4067");
// Définition des broches
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);
pinMode(EN, OUTPUT);
digitalWrite(EN, LOW); // Activer le multiplexeur (EN à LOW)
}
int readMux(byte canal) {
// Définir les bits de sélection
digitalWrite(S0, canal & 0x01);
digitalWrite(S1, (canal >> 1) & 0x01);
digitalWrite(S2, (canal >> 2) & 0x01);
digitalWrite(S3, (canal >> 3) & 0x01);
delayMicroseconds(5); // petit temps de stabilisation
int valeur = analogRead(SIG);
return valeur;
}
void loop() {
Serial.println("Lecture des 16 canaux :");
for (int i = 0; i < 16; i++) {
int val = readMux(i);
Serial.print("Canal ");
Serial.print(i);
Serial.print(" -> ");
Serial.println(val);
delay(100);
}
Serial.println("--------------------");
delay(1000);
}
Loading
cd74hc4067
cd74hc4067