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
- CD74HC4067 Module multiplexeur ou IC
- Board Arduino (par exemple, Uno, Mega, Nano)
- Capteurs, boutons ou LED pour les tests
- Fils de planche à pain et de cavalier
- 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
- Connectez l'Arduino à votre ordinateur via USB.
- Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port sous Outils menu.
- Téléchargez le code en cliquant Télécharger.
- Ouvrez le moniteur en série (Outils > Moniteur en série) et régler le taux de bauds sur
9600
. - 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
- Expansion des entrées / sorties analogiques et numériques
- Lire plusieurs capteurs avec des broches limitées
- Construire des matrices de grosses boutones
- 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!