The CD74HC4067 egy 16 csatornás analóg/digitális multiplexer, amely lehetővé teszi, hogy egy Raspberry Pi akár 16 bemenet vagy kimenet mindössze néhány GPIO tű használatával. Tökéletes választás a Raspberry Pi I/O képességeinek bővítésére, ha több érzékelővel vagy eszközzel dolgozik.
Amire szükséged lesz
- Raspberry Pi (bármely GPIO-támogatással rendelkező modell, pl. Pi 3, Pi 4)
- CD74HC4067 Multiplexer
- Analóg vagy digitális beviteli eszközök (pl. érzékelők, kapcsolók)
- Breadboard és összekötő vezetékek
- Python telepítve a Raspberry Pi-on
Step 1: Understanding the CD74HC4067
A CD74HC4067 has:
- 16 be-/kimeneti csatorna (S0-S15)
- 4 vezérlőtű (S0, S1, S2, S3) az aktív csatorna kiválasztásához.
- 1 PIN-kód engedélyezése (EN) a multiplexer aktiválásához (aktív ALACSONY).
- Egyetlen COM (közös) érintkező a megosztott kommunikációhoz.
Igazságtáblázat a csatornaválasztáshoz
| S3 | S2 | S1 | S0 | Aktív csatorna |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | S0 |
| 0 | 0 | 0 | 1 | S1 |
| 0 | 0 | 1 | 0 | S2 |
| ... | ... | ... | ... | ... |
| 1 | 1 | 1 | 1 | S15 |
2. lépés: A huzalozás CD74HC4067 a Raspberry Pi-hez
Csatlakoztassa a multiplexert a Raspberry Pi-hez az alábbiak szerint:
| CD74HC4067 Pin | Raspberry Pi Pin |
|---|---|
| VCC | 3.3V (Pin 1) |
| GND | GND (6. tű) |
| S0 | GPIO17 (11-es tű) |
| S1 | GPIO27 (13-as tű) |
| S2 | GPIO22 (15. tű) |
| S3 | GPIO23 (16-os tű) |
| EN | GND (Aktív ALACSONY) |
| COM | GPIO18 (12-es tű, analóg bemenet/kimenet) |
| S0-S15 | Sensors/eszközök csatlakoztatása |
3. lépés: A szükséges könyvtárak telepítése
Update your Raspberry Pi and install Python libraries for GPIO control.
sudo apt update && sudo apt upgrade -y
sudo apt install python3-rpi.gpio
4. lépés: Python-kód az adatok leolvasásához a multiplexerről
Íme egy Python-szkript a vezérléshez CD74HC4067
Python kódpélda
python
import RPi.GPIO as GPIO
import time
# GPIO pinek definiálása
S0 = 17
S1 = 27
S2 = 22
S3 = 23
COM = 18 # Közös pin a bemenethez/kimenethez
# GPIO inicializálása
GPIO.setmode(GPIO.BCM)
GPIO.setup([S0, S1, S2, S3], GPIO.OUT)
GPIO.setup(COM, GPIO.IN) # COM pin beállítása bemenetként az adatok olvasásához
# Funkció a csatorna kiválasztásához
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) # Kis késleltetés a csatorna stabilizálásához
value = GPIO.input(COM) # Adatok olvasása az aktív csatornáról
print(f"Csatorna {channel}: {value}")
time.sleep(1)
except KeyboardInterrupt:
print("Kilépés...")
finally:
GPIO.cleanup()
Step 5: Applications of the CD74HC4067 Raspberry Pi-vel
- Több szenzor leolvasása: Akár 16 érzékelővel (pl. hőmérséklet-, páratartalom- vagy fényérzékelővel) is összekapcsolható.
- Digitális I/O bővítése: Kezeljen több kapcsolót, LED-et vagy relét.
- Analóg érzékelő integrációja: Olvassa be a potenciométerek, joystickok vagy talajnedvesség-érzékelők jeleit.
- Home Automation: Vezéreljen több eszközt, például lámpákat, ventilátorokat vagy egyéb készülékeket.
Hibaelhárítás
-
Nincs adat a csatornákból:
- Ellenőrizze az S0-S3 vezérlőtűk és a COM tű bekötését.
- Győződjön meg arról, hogy az érzékelők/eszközök megfelelően csatlakoznak az S0-S15 pinekhez.
-
Helytelen csatornaválasztás:
- Ellenőrizze az S0-S3 konfigurációk igazságtábláját.
- Aktiváláshoz győződjön meg arról, hogy az EN pin a GND-hez van csatlakoztatva.
-
Időszakos leolvasások:
- Adjon meg egy kis késleltetést (
time.sleep(0.1)) between switching channels to allow signal stabilization.
- Adjon meg egy kis késleltetést (
Összegzés
A CD74HC4067 multiplexer egy hatékony és költséghatékony módja a Raspberry Pi bemeneti/kimeneti képességeinek bővítésére. Ezt az útmutatót követve könnyedén csatlakoztathat akár 16 analóg vagy digitális eszközt mindössze 4 GPIO tű használatával. Kísérletezzen a különböző szenzorokkal és alkalmazásokkal, hogy a legtöbbet hozza ki ebből a sokoldalú modulból! 🚀





