Utilisation du multiplexeur analogique CD74HC4067 avec Arduino
Introduction
Le multiplexeur analogique CD74HC4067 est un composant électronique puissant qui permet d’élargir le nombre de canaux d’entrée/sortie analogiques disponibles sur une carte Arduino. Dans cet article, nous explorerons en détail le fonctionnement de ce multiplexeur et apprendrons à l’utiliser avec Arduino pour lire des valeurs analogiques à partir de plusieurs sources.
-
Module cd74hc4067 multiplexeur démultiplexeur analog/digital 16 canaux45,00 DH
-
module de 8 relais 12V150,00 DH
-
Produit en promotionCâble de connexion M/F JumperLe prix initial était : 7,00 DH.6,00 DHLe prix actuel est : 6,00 DH.
Fonctionnement du multiplexeur analogique CD74HC4067
1.1 Présentation du multiplexeur analogique CD74HC4067
Le multiplexeur analogique CD74HC4067 est un circuit intégré qui agit comme un commutateur électronique, permettant de connecter un signal d’entrée ou de sortie à l’un des 16 canaux disponibles. Il est contrôlé par des signaux logiques qui déterminent quel canal est sélectionné.
1.2 Tableau de configuration des canaux
Pour utiliser efficacement le multiplexeur, il est essentiel de comprendre le tableau de configuration des canaux. Celui-ci indique quelles combinaisons de signaux logiques sur les broches de contrôle (S0, S1, S2, S3) sélectionnent chaque canal. En se référant au tableau, il est possible de choisir rapidement le canal souhaité.
1.3 Utilisation des signaux de contrôle
Outre les signaux de sélection de canal, le multiplexeur dispose également d’une broche d’activation (EN) qui permet de l’allumer ou de l’éteindre. Lorsque la broche EN est à l’état bas, la puce est activée, tandis que lorsqu’elle est à l’état haut, la puce est désactivée.
Configuration matérielle
2.1 Connexion du multiplexeur au microcontrôleur Arduino Uno
La connexion du multiplexeur CD74HC4067 à Arduino est assez simple. Les broches de sélection de canal (S0, S1, S2, S3) sont connectées à des broches numériques libres de l’Arduino. La broche d’activation (EN) peut être connectée à la masse ou à une broche de sortie de l’Arduino pour permettre l’allumage ou l’extinction du multiplexeur. Enfin, le signal d’entrée ou de sortie du multiplexeur est connecté à une broche analogique de l’Arduino.
2.2 Matériel requis :
2.3 Schéma de câblage
Il est recommandé de consulter le schéma de câblage fourni dans la documentation du multiplexeur CD74HC4067 et de suivre attentivement les connexions recommandées. Veillez également à utiliser des résistances de limitation de courant appropriées pour protéger le multiplexeur et l’Arduino.
donc pour tester les performances du circuit et du code, vous pouvez utiliser un diviseur de tension selon le circuit suivant.
Configuration logicielle
3.1 Définition des broches Arduino
Avant de commencer à utiliser le multiplexeur, les broches de sélection de canal, d’activation et de signal de l’Arduino doivent être définies dans le code. Cela permettra au programme de contrôler le multiplexeur et de lire les valeurs analogiques à partir des canaux sélectionnés.
3.2 Configuration initiale
Dans la fonction setup(), les broches de sélection de canal, d’activation et de signal de l’Arduino sont configurées en tant que sorties ou entrées, selon les besoins. De plus, le multiplexeur est initialement désactivé en mettant la broche d’activation (EN) à l’état bas.
3.3 Lecture des valeurs analogiques
Dans la fonction loop(), un exemple de code est fourni pour lire les valeurs analogiques à partir des 16 canaux du multiplexeur. Une boucle itère sur tous les canaux, en utilisant la fonction readMux() pour sélectionner le canal correspondant. Ensuite, la valeur analogique est lue à partir du signal de sortie du multiplexeur et affichée sur le moniteur série de l’Arduino.
Exemple de code
4.1 Code complet pour lire les 16 canaux
//Mux control pins int s0 = 8; int s1 = 9; int s2 = 10; int s3 = 11; //Mux in "SIG" pin int SIG_pin = 0; void setup(){ pinMode(s0, OUTPUT); pinMode(s1, OUTPUT); pinMode(s2, OUTPUT); pinMode(s3, OUTPUT); digitalWrite(s0, LOW); digitalWrite(s1, LOW); digitalWrite(s2, LOW); digitalWrite(s3, LOW); Serial.begin(9600); } void loop(){ //Loop through and read all 16 values for(int i = 0; i < 16; i ++){ Serial.print("Value at channel "); Serial.print(i); Serial.print("is : "); Serial.println(readMux(i)); delay(1000); } } float readMux(int channel){ int controlPin[] = {s0, s1, s2, s3}; int muxChannel[16][4]={ {0,0,0,0}, //channel 0 {1,0,0,0}, //channel 1 {0,1,0,0}, //channel 2 {1,1,0,0}, //channel 3 {0,0,1,0}, //channel 4 {1,0,1,0}, //channel 5 {0,1,1,0}, //channel 6 {1,1,1,0}, //channel 7 {0,0,0,1}, //channel 8 {1,0,0,1}, //channel 9 {0,1,0,1}, //channel 10 {1,1,0,1}, //channel 11 {0,0,1,1}, //channel 12 {1,0,1,1}, //channel 13 {0,1,1,1}, //channel 14 {1,1,1,1} //channel 15 }; //loop through the 4 sig for(int i = 0; i < 4; i ++){ digitalWrite(controlPin[i], muxChannel[channel][i]); } //read the value at the SIG pin int val = analogRead(SIG_pin); //return the value float voltage = (val * 5.0) / 1024.0; return voltage; }
Résultats et utilisation
5.1 Affichage des valeurs analogiques sur le moniteur série
Après avoir téléversé le code sur l’Arduino, vous pourrez observer les valeurs analogiques lues à partir des 16 canaux du multiplexeur sur le moniteur série de l’Arduino. Cela permet de vérifier le bon fonctionnement du multiplexeur et de s’assurer de la lecture précise des valeurs analogiques.
5.2 Utilisation des valeurs lues pour des applications spécifiques
Les valeurs analogiques lues à partir du multiplexeur peuvent être utilisées pour différentes applications. Par exemple, vous pouvez les utiliser pour contrôler des actionneurs, effectuer des mesures précises ou surveiller des capteurs analogiques à partir de multiples sources.
Conclusion
Dans cet article, nous avons exploré en détail l’utilisation du multiplexeur analogique CD74HC4067 avec Arduino. Nous avons appris comment le connecter, le configurer et lire des valeurs analogiques à partir de différents canaux. Grâce à ce composant, il est possible d’étendre les capacités d’entrée/sortie analogiques de l’Arduino et de réaliser des projets plus complexes et polyvalents.
fiche technique de multiplexeur analogique CD74HC4067 : https://www.ti.com/lit/ds/symlink/cd74hc4067.pdf
Pour plus d’articles : https://www.moussasoft.com/tutoriels-electroniques