Der CD74HC4067 ist ein 16-Kanal-Analog-/digitaler Multiplexer/Demultiplexer, mit dem Sie die Anzahl der Eingangs- oder Ausgabestifte auf Ihrem Arduino erweitern können. Es ist besonders nützlich bei Projekten, bei denen mehrere Sensoren, Tasten oder LEDs erforderlich sind und gleichzeitig die Nutzung der PIN minimieren. In diesem Tutorial führen Sie die Verbindung und verwenden Sie die CD74HC4067 mit Arduino.
Was Sie brauchen werden
- CD74HC4067 Multiplexer -Modul oder IC
- Arduino Board (z. B. Uno, Mega, Nano)
- Sensoren, Tasten oder LEDs zum Testen
- Breadboard- und Jumper -Drähte
- Ein Computer mit der Arduino -IDE installiert
Schritt 1: Verständnis des CD74HC4067
Der CD74HC4067 fungiert als Schalter, der einen seiner 16 Eingangs-/Ausgangsnadeln mit einem einzelnen gemeinsamen Stift verbindet. Sie können steuern, welcher Kanal mit 4 Kontrollstiften (S0 bis S3) aktiv ist.
Pinout
Stift | Funktion |
---|---|
VCC | Stromversorgung (3,3 V oder 5 V) |
GND | Boden |
S0, S1, S2, S3 | Steuerstifte (um den aktiven Kanal auszuwählen) |
En | PIN aktivieren (aktiv niedrig; an GND anschließen, um zu aktivieren) |
Com | Gemeinsamer E/A -Pin (Verbindung zu Arduino herstellen) |
CH0-CH15 | Kanäle 0 bis 15 (Verbindung zu Sensoren, Tasten oder LEDs herstellen) |
Schritt 2: Verkabelung des CD74HC4067 mit Arduino
Hier erfahren Sie, wie Sie den CD74HC4067 mit einem Arduino Uno verbinden:
CD74HC4067 PIN | Arduino Pin |
---|---|
VCC | 5v |
GND | GND |
S0 | Pin 8 |
S1 | Pin 9 |
S2 | Pin 10 |
S3 | Pin 11 |
En | GND |
Com | A0 (zum Lesen analogen Signale) |
CH0-CH15 | Sensoren, LEDs oder Knöpfe |
Schritt 3: Laden Sie den Code hoch hoch
Das folgende Beispiel zeigt, wie analoge Werte von Sensoren gelesen werden, die mit dem CD74HC4067 verbunden sind:
Beispielcode
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
}
Schritt 4: Testen Sie das Setup
- Schließen Sie den Arduino über USB an Ihren Computer an.
- Öffnen Sie die Arduino -IDE und wählen Sie die richtige Auswahl Planke Und Hafen unter dem Werkzeuge Speisekarte.
- Laden Sie den Code durch Klicken hoch Hochladen.
- Öffnen Sie den Serienmonitor (Werkzeuge > Serienmonitor) und den Baudrate auf festlegen
9600
. - Beobachten Sie die analogen Werte für jeden Kanal, der im seriellen Monitor angezeigt wird.
Optional: LEDs kontrollieren
Um die mit den Kanälen verbundenen LEDs zu steuern, ändern Sie den Code, um digitale Signale auszugeben, anstatt analoge Eingänge zu lesen. Zum Beispiel:
Beispielcode für LEDs
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
}
}
Anwendungen des CD74HC4067
- Erweiterende analoge und digitale Eingänge/Ausgänge
- Lesen Sie mehrere Sensoren mit begrenzten Stiften
- Bauen Sie große Knopfmatrizen
- Kontrolle mehrerer LEDs oder Relais
Fehlerbehebung
-
Keine Antwort von Kanälen: Überprüfen Sie die Steuerspin -Verbindungen und stellen Sie die sicher, dass die
EN
Pin ist mit GND verbunden. -
Falsche Kanalauswahl: Überprüfen Sie die
selectChannel()
Logik zum Einstellen von S0-S3-Stiften. - Instabile Lesungen: Stellen Sie die ordnungsgemäße Erdung und stabile Stromversorgung für Sensoren sicher.
Abschluss
Sie haben den CD74HC4067 -Multiplexer mit Arduino erfolgreich miteinander verbunden. Mit diesem vielseitigen Modul können Sie die Eingabe- und Ausgangsfunktionen Ihres Arduino erheblich erweitern und es ideal für Projekte mit mehreren Sensoren, Schaltflächen oder LEDs. Experimentieren Sie mit verschiedenen Konfigurationen und erkunden Sie das volle Potenzial!