Comment utiliser le multiplexeur CD74HC4067 avec Arduino

How to Use the CD74HC4067 Multiplexer with Arduino

Le CD74HC4067 est un multiplexeur / démultiplexeur analogique / numérique à 16 canaux qui vous permet d'étendre le nombre d'épingles d'entrée ou de sortie sur votre arduino. Il est particulièrement utile dans les projets nécessitant plusieurs capteurs, boutons ou LED tout en minimisant l'utilisation des broches. Ce tutoriel vous guidera à travers la connexion et l'utilisation du CD74HC4067 avec Arduino.


Ce dont vous aurez besoin

  1. CD74HC4067 Module multiplexeur ou IC
  2. Board Arduino (par exemple, Uno, Mega, Nano)
  3. Capteurs, boutons ou LED pour les tests
  4. Fils de planche à pain et de cavalier
  5. Un ordinateur avec l'ide Arduino installé

Étape 1: Comprendre le CD74HC4067

Le CD74HC4067 agit comme un commutateur qui connecte l'une de ses 16 broches d'entrée / sortie en une seule broche commune. Vous pouvez contrôler quel canal est actif à l'aide de 4 broches de contrôle (S0 à S3).

Brochage

Épingle Fonction
VCC Alimentation (3,3 V ou 5V)
GND Sol
S0, S1, S2, S3 Pin de contrôle (pour sélectionner le canal actif)
En Activer la broche (actif bas; connecter à GND pour activer)
Com Pin d'E / S commune (connecter à Arduino)
CH0-CH15 Canaux 0 à 15 (connectez-vous aux capteurs, aux boutons ou aux LED)

Étape 2: Câblage du CD74HC4067 à Arduino

Voici comment connecter le CD74HC4067 à un Arduino Uno:

Pin CD74HC4067 Épingle arduino
VCC 5V
GND GND
S0 PIN 8
S1 PIN 9
S2 PIN 10
S3 PIN 11
En GND
Com A0 (pour lire les signaux analogiques)
CH0-CH15 Capteurs, LED ou boutons

Étape 3: Téléchargez le code

L'exemple suivant montre comment lire les valeurs analogiques des capteurs connectés au CD74HC4067:

Exemple de code

const int s0 = 8; // Control pin S0
const int s1 = 9; // Control pin S1
const int s2 = 10; // Control pin S2
const int s3 = 11; // Control pin S3
const int comPin = A0; // Common pin connected to A0

void setup() {
  pinMode(s0, OUTPUT);
  pinMode(s1, OUTPUT);
  pinMode(s2, OUTPUT);
  pinMode(s3, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  for (int i = 0; i < 16; i++) {
    selectChannel(i); // Select the active channel
    int sensorValue = analogRead(comPin); // Read the value from the sensor
    Serial.print("Channel ");
    Serial.print(i);
    Serial.print(": ");
    Serial.println(sensorValue);
    delay(500); // Small delay for readability
  }
}

void selectChannel(int channel) {
  digitalWrite(s0, channel & 0x01); // Set S0
  digitalWrite(s1, (channel >> 1) & 0x01); // Set S1
  digitalWrite(s2, (channel >> 2) & 0x01); // Set S2
  digitalWrite(s3, (channel >> 3) & 0x01); // Set S3
}

Étape 4: Testez la configuration

  1. Connectez l'Arduino à votre ordinateur via USB.
  2. Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port sous Outils menu.
  3. Téléchargez le code en cliquant Télécharger.
  4. Ouvrez le moniteur en série (Outils > Moniteur en série) et régler le taux de bauds sur 9600.
  5. Observez les valeurs analogiques pour chaque canal affiché dans le moniteur série.

Facultatif: contrôler les LED

Pour contrôler les LED connectées aux canaux, modifiez le code pour produire des signaux numériques au lieu de lire les entrées analogiques. Par exemple:

Exemple de code pour les LED

void loop() {
  for (int i = 0; i < 16; i++) {
    selectChannel(i);
    digitalWrite(comPin, HIGH); // Turn on LED on the active channel
    delay(500);
    digitalWrite(comPin, LOW); // Turn off LED
  }
}

Applications du CD74HC4067

  1. Expansion des entrées / sorties analogiques et numériques
  2. Lire plusieurs capteurs avec des broches limitées
  3. Construire des matrices de grosses boutones
  4. Contrôler plusieurs LED ou relais

Dépannage

  • Aucune réponse des canaux: Vérifiez les connexions de la broche de commande et assurez-vous EN La broche est connectée à GND.
  • Sélection de canaux incorrects: Vérifiez le selectChannel() Logique pour définir les broches S0-S3.
  • Lectures instables: Assurez-vous une mise à la terre appropriée et une alimentation stable pour les capteurs.

Conclusion

Vous avez réussi à interfacer le multiplexeur CD74HC4067 avec Arduino. Ce module polyvalent vous permet d'étendre considérablement les capacités d'entrée et de sortie de votre Arduino, ce qui le rend idéal pour les projets impliquant plusieurs capteurs, boutons ou LED. Expérimentez avec différentes configurations et explorez son plein potentiel!

Laissez un commentaire

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.