Hogyan kell használni a CD74HC4067 multiplexerrel az Arduino -val

How to Use the CD74HC4067 Multiplexer with Arduino

A CD74HC4067 egy 16-csatornás analóg/digitális multiplexer/Demultiplexer, amely lehetővé teszi az Arduino bemeneti vagy kimeneti csapjainak kibővítését. Különösen hasznos olyan projektekben, amelyek több érzékelőt, gombot vagy LED -t igényelnek, miközben minimalizálják a PIN -kódot. Ez az oktatóanyag vezeti a CD74HC4067 csatlakoztatását és használatát az Arduino -val.


Mire lesz szüksége

  1. CD74HC4067 Multiplexer modul vagy IC
  2. Arduino Board (például Uno, Mega, Nano)
  3. Érzékelők, gombok vagy LED -ek a teszteléshez
  4. Kenyérlemez és jumper vezetékek
  5. Egy számítógép, amelyen az Arduino IDE telepített

1. lépés: A CD74HC4067 megértése

A CD74HC4067 kapcsolóként működik, amely a 16 bemeneti/kimeneti csapját egyetlen közös PIN -hez köti össze. Vezérelheti, hogy melyik csatorna aktív 4 vezérlőcsapot (S0 - S3).

Poggyász

Csap Funkció
VCC Tápegység (3,3 V vagy 5 V)
GND Föld
S0, S1, S2, S3 Vezérlőcsapok (az aktív csatorna kiválasztásához)
Hüvelyes Engedélyezze a PIN -kódot (aktív alacsony; csatlakozzon a GND -hez az engedélyezéshez)
Com Általános I/O PIN (csatlakozzon az Arduino -hoz)
CH0-CH15 A 0–15. Csatornák (csatlakozzon az érzékelőkhöz, gombokhoz vagy LED -ekhez)

2. lépés: A CD74HC4067 vezetékesítése Arduino -ra

Így lehet csatlakoztatni a CD74HC4067 -et egy Arduino UNO -hoz:

CD74HC4067 PIN Arduino Pin
VCC 5 V -os
GND GND
S0 8. érintkező
S1 9. érintkező
S2 10. érintkező
S3 11. érintkező
Hüvelyes GND
Com A0 (analóg jelek olvasásához)
CH0-CH15 Érzékelők, LED -ek vagy gombok

3. lépés: Töltse fel a kódot

A következő példa bemutatja, hogyan lehet olvasni az analóg értékeket a CD74HC4067 -hez csatlakoztatott érzékelőkből:

Példakód

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
}

4. lépés: Tesztelje a beállítást

  1. Csatlakoztassa az Arduino -t a számítógépéhez USB -n keresztül.
  2. Nyissa meg az Arduino IDE -t, és válassza ki a megfelelőt Bizottság és Kikötő a Szerszámok menü.
  3. Töltse fel a kódot kattintással Feltöltés.
  4. Nyissa meg a soros monitort (Szerszámok > Soros monitor) és állítsa be az adatátviteli sebességet 9600.
  5. Vegye figyelembe az egyes csatornák analóg értékeit a soros monitorban.

Opcionális: A LED -ek vezérlése

A csatornákhoz csatlakoztatott LED -ek vezérléséhez módosítsa a kódot digitális jelek kimenetére az analóg bemenetek olvasása helyett. Például:

Példakód a LED -ekhez

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
  }
}

A CD74HC4067 alkalmazásai

  1. Az analóg és digitális bemenetek/kimenetek bővítése
  2. Több érzékelő olvasása korlátozott csapokkal
  3. Nagy gombmátrixok építése
  4. Több LED vagy relék vezérlése

Hibaelhárítás

  • Nincs válasz a csatornákból: Ellenőrizze a vezérlőcsap csatlakozásait és biztosítja a EN A PIN -kód csatlakozik a GND -hez.
  • Helytelen csatorna kiválasztása: Ellenőrizze a selectChannel() Logika az S0-S3 csapok beállításához.
  • Instabil olvasmányok: Gondoskodjon az érzékelők megfelelő földeléséhez és stabil tápegységéhez.

Következtetés

Sikeresen összekapcsolja a CD74HC4067 multiplexert az Arduino -val. Ez a sokoldalú modul lehetővé teszi az Arduino bemeneti és kimeneti képességeinek jelentős kibővítését, így ideálissá teszi a több érzékelőt, gombot vagy LED -eket bevonó projektekhez. Kísérletezzen különböző konfigurációkkal, és fedezze fel annak teljes potenciálját!

Hagyj egy megjegyzést

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.