Problème multiplexeur

Bonjour à tous, j'utilise un multiplexeur de références CD4051B possédant 8 entrées de données et 3 entrées d'adressage afin de lire les valeurs de 3 potentiomètres. Le programme que j'ai fait tourne mais quand j'affiche la liaison série et que je modifie la valeur d'un potentiomètre cela influence les autres valeurs et je ne comprend pas la raison. Merci de votre aide !
Voici le code

int MUX_A = 5;
int MUX_B = 4;
int MUX_C = 3;
int MUX_INH = 6;

int Value = 0;


void setup() {
  Serial.begin(9600);
  pinMode(MUX_A,OUTPUT);
  pinMode(MUX_B,OUTPUT);
  pinMode(MUX_C,OUTPUT);

  digitalWrite(MUX_INH, LOW);
  
  pinMode(A4, INPUT);
}

void loop() {
  for (int i = 0; i< 3 ; i++) {
    MUX_ouvrir_canal(i);
    Value = analogRead(A4);
    
    Serial.print(Value);
    Serial.print(",");
  }
  
   Serial.println(1024);
 
}


void MUX_ouvrir_canal(byte adresse) {
  //Serial.print("ouvrir canal "); Serial.println(adresse);
  switch(adresse) {
    case 0 : digitalWrite(MUX_A, LOW) ;digitalWrite(MUX_B, LOW) ;digitalWrite(MUX_C, LOW); break;
    case 1 : digitalWrite(MUX_A, LOW);digitalWrite(MUX_B, LOW) ;digitalWrite(MUX_C, HIGH); break;
    case 2 : digitalWrite(MUX_A, LOW) ;digitalWrite(MUX_B, HIGH);digitalWrite(MUX_C, LOW); break;
    case 3 : digitalWrite(MUX_A, LOW);digitalWrite(MUX_B, HIGH);digitalWrite(MUX_C, HIGH); break;
    case 4 : digitalWrite(MUX_A, HIGH) ;digitalWrite(MUX_B, LOW) ;digitalWrite(MUX_C, LOW); break;
    case 5 : digitalWrite(MUX_A, HIGH);digitalWrite(MUX_B, LOW) ;digitalWrite(MUX_C, HIGH); break;
    case 6 : digitalWrite(MUX_A, HIGH) ;digitalWrite(MUX_B, HIGH);digitalWrite(MUX_C, LOW); break;
    case 7 : digitalWrite(MUX_A, HIGH);digitalWrite(MUX_B, HIGH);digitalWrite(MUX_C, HIGH); break;
  }
  delay(10);
}

Un schéma électrique du montage s'impose.

S'impose aussi la lecture de :

Bonjour siete2000

Je n'ai, malheureusement pas ce type de multiplexeur, mais ton problème ne semble pas provenir de ton programme. Penses à faire le pinMode de MUX_INH, au niveau de la lecture du programme ça aide :wink:

Côté montage, est ce que tu alimentes ton montage depuis, l'Arduino?
Est ce que le GND du multiplexeur et celui des potentiomètres sont bien connectés à celui de l'Arduino?
Fais une photo en gros plan de ton installation.

A+
Cordialement
jpbbricole

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.