Verwenden des CD74HC4067 Multiplexer mit dem Raspberry Pi

Using the CD74HC4067 Multiplexer with the Raspberry Pi

Der CD74HC4067 ist ein 16-Kanal-Analog-/digitaler Multiplexer, mit dem ein Raspberry PI mit bis zu schneiden kann 16 Eingänge oder Ausgänge nur wenige GPIO -Stifte. Es ist perfekt, um die I/A -Funktionen Ihres Himbeer -PI bei der Arbeit mit mehreren Sensoren oder Geräten zu erweitern.


Was Sie brauchen werden

  1. Raspberry Pi (Jedes Modell mit GPIO -Unterstützung, z. B. PI 3, PI 4)
  2. CD74HC4067 Multiplexer
  3. Analoge oder digitale Eingabegeräte (z. B. Sensoren, Schalter)
  4. Breadboard- und Jumper -Drähte
  5. Python installiert Auf dem Raspberry Pi

Schritt 1: Verständnis des CD74HC4067

Der CD74HC4067 hat:

  • 16 Eingangs-/Ausgangskanäle (S0-S15)
  • 4 Kontrollstifte (S0, S1, S2, S3) So wählen Sie den aktiven Kanal aus.
  • 1 Pin aktivieren (en) Um den Multiplexer zu aktivieren (aktiv niedrig).
  • Eine Single Com (gemeinsam) Pin für gemeinsame Kommunikation.

Wahrheitstabelle für die Kanalauswahl

S3 S2 S1 S0 Aktiver Kanal
0 0 0 0 S0
0 0 0 1 S1
0 0 1 0 S2
... ... ... ... ...
1 1 1 1 S15

Schritt 2: Verkabelung des CD74HC4067 mit Raspberry Pi

Schließen Sie den Multiplexer wie folgt mit dem Himbeer -PI an:

CD74HC4067 PIN Raspberry Pi Pin
VCC 3,3 V (Pin 1)
GND GND (Pin 6)
S0 Gpio17 (Pin 11)
S1 Gpio27 (Pin 13)
S2 Gpio22 (Pin 15)
S3 Gpio23 (Pin 16)
En GND (aktiv niedrig)
Com GPIO 18 (Pin 12, Analogeingang/Ausgang)
S0-S15 Schließen Sie Sensoren/Geräte an

Schritt 3: Installieren Sie die erforderlichen Bibliotheken

Aktualisieren Sie Ihren Raspberry Pi und installieren Sie Python -Bibliotheken für die GPIO -Steuerung.

sudo apt update && sudo apt upgrade -y
sudo apt install python3-rpi.gpio

Schritt 4: Python -Code zum Lesen von Daten aus dem Multiplexer

Hier ist ein Python -Skript zur Steuerung des CD74HC4067 und zum Lesen von Daten aus den verbundenen Kanälen.

Beispiel für Python -Code

import RPi.GPIO as GPIO
import time

# Define GPIO pins
S0 = 17
S1 = 27
S2 = 22
S3 = 23
COM = 18  # Common pin for input/output

# Initialize GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup([S0, S1, S2, S3], GPIO.OUT)
GPIO.setup(COM, GPIO.IN)  # Set COM pin as input for reading data

# Function to select a channel
def select_channel(channel):
    GPIO.output(S0, channel & 0x01)
    GPIO.output(S1, (channel >> 1) & 0x01)
    GPIO.output(S2, (channel >> 2) & 0x01)
    GPIO.output(S3, (channel >> 3) & 0x01)

try:
    while True:
        for channel in range(16):
            select_channel(channel)
            time.sleep(0.1)  # Small delay for channel stabilization
            value = GPIO.input(COM)  # Read data from the active channel
            print(f"Channel {channel}: {value}")
        time.sleep(1)
except KeyboardInterrupt:
    print("Exiting...")
finally:
    GPIO.cleanup()

Schritt 5: Anwendungen des CD74HC4067 mit Raspberry Pi

  1. Mehrere Sensoren lesen: Schnittstelle mit bis zu 16 Sensoren (z. B. Temperatur, Luftfeuchtigkeit oder Licht).
  2. Erweiterung der digitalen E/O: Verwalten Sie mehrere Switches, LEDs oder Relais.
  3. Analoge Sensorintegration: Lesen Sie Signale aus Potentiometern, Joysticks oder Bodenfeuchtigkeitssensoren.
  4. Heimautomatisierung: Steuern Sie mehrere Geräte wie Lichter, Lüfter oder Geräte.

Fehlerbehebung

  1. Keine Daten von Kanälen:

    • Überprüfen Sie die Verkabelung von S0-S3-Kontrollstiften und den COM-Pin.
    • Stellen Sie sicher, dass Sensoren/Geräte ordnungsgemäß mit den S0-S15-Stiften verbunden sind.
  2. Falsche Kanalauswahl:

    • Überprüfen Sie die Wahrheitstabelle für S0-S3-Konfigurationen.
    • Stellen Sie sicher, dass der EN -Pin zur Aktivierung mit GND verbunden ist.
  3. Intermittierende Lesungen:

    • Fügen Sie eine kleine Verzögerung hinzu (time.sleep(0.1)) zwischen den Schaltkanälen, um die Signalstabilisierung zu ermöglichen.

Abschluss

Der CD74HC4067 Multiplexer ist eine leistungsstarke und kostengünstige Möglichkeit, die Eingangs-/Ausgangsfunktionen des Raspberry Pi zu erweitern. Wenn Sie diesem Handbuch folgen, können Sie einfach mit bis zu 16 analogen oder digitalen Geräten mit nur 4 GPIO -Stiften übergeordnet werden. Experimentieren Sie mit verschiedenen Sensoren und Anwendungen, um dieses vielseitige Modul optimal zu nutzen! 🚀

Hinterlasse einen Kommentar

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.