Paano gamitin ang CD74HC4067 multiplexer kasama ang Arduino

How to Use the CD74HC4067 Multiplexer with Arduino

Ang CD74HC4067 ay isang 16-channel analog/digital multiplexer/demultiplexer na nagbibigay-daan sa iyo upang mapalawak ang bilang ng mga input o output pin sa iyong arduino. Ito ay partikular na kapaki -pakinabang sa mga proyekto na nangangailangan ng maraming mga sensor, pindutan, o LEDs habang binabawasan ang paggamit ng PIN. Ang tutorial na ito ay gagabay sa iyo sa pamamagitan ng pagkonekta at paggamit ng CD74HC4067 kasama si Arduino.


Ano ang kakailanganin mo

  1. CD74HC4067 Multiplexer module o IC
  2. Arduino Board (hal., Uno, Mega, Nano)
  3. Mga sensor, pindutan, o LED para sa pagsubok
  4. Mga wire ng tinapay at jumper
  5. Isang computer na may naka -install na Arduino IDE

Hakbang 1: Pag -unawa sa CD74HC4067

Ang CD74HC4067 ay kumikilos bilang isang switch na nag -uugnay sa isa sa 16 na input/output pin sa isang solong karaniwang pin. Maaari mong kontrolin kung aling channel ang aktibo gamit ang 4 na control pin (S0 hanggang S3).

Pinout

Pin Function
VCC Power Supply (3.3V o 5V)
Gnd Lupa
S0, S1, S2, S3 Control pin (upang piliin ang aktibong channel)
En Paganahin ang pin (aktibong mababa; kumonekta sa GND upang paganahin)
Com Karaniwang I/O pin (kumonekta sa Arduino)
CH0-CH15 Mga Channel 0 hanggang 15 (kumonekta sa mga sensor, pindutan, o LED)

Hakbang 2: Ang mga kable ng CD74HC4067 kay Arduino

Narito kung paano ikonekta ang CD74HC4067 sa isang Arduino uno:

CD74HC4067 PIN Arduino Pin
VCC 5v
Gnd Gnd
S0 Pin 8
S1 Pin 9
S2 Pin 10
S3 Pin 11
En Gnd
Com A0 (para sa pagbabasa ng mga signal ng analog)
CH0-CH15 Mga sensor, LED, o mga pindutan

Hakbang 3: Mag -upload ng code

Ang sumusunod na halimbawa ay nagpapakita kung paano basahin ang mga halaga ng analog mula sa mga sensor na konektado sa CD74HC4067:

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

Hakbang 4: Subukan ang pag -setup

  1. Ikonekta ang Arduino sa iyong computer sa pamamagitan ng USB.
  2. Buksan ang Arduino IDE at piliin ang tama Lupon at Port sa ilalim ng Mga tool menu.
  3. I -upload ang code sa pamamagitan ng pag -click Mag -upload.
  4. Buksan ang serial monitor (Mga tool > Serial monitor) at itakda ang rate ng baud sa 9600.
  5. Alamin ang mga halaga ng analog para sa bawat channel na ipinapakita sa serial monitor.

Opsyonal: Pagkontrol ng mga LED

Upang makontrol ang mga LED na konektado sa mga channel, baguhin ang code upang mag -output ng mga digital na signal sa halip na basahin ang mga input ng analog. Halimbawa:

Halimbawa ng code para sa mga 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
  }
}

Mga aplikasyon ng CD74HC4067

  1. Pagpapalawak ng analog at digital na mga input/output
  2. Ang pagbabasa ng maraming mga sensor na may limitadong mga pin
  3. Pagbuo ng malalaking pindutan ng matrice
  4. Pagkontrol ng maraming mga LED o relay

Pag -aayos

  • Walang tugon mula sa mga channel: Patunayan ang mga koneksyon sa control pin at tiyakin ang EN Ang PIN ay konektado sa GND.
  • Maling Pagpili ng Channel: Suriin ang selectChannel() Logic para sa pagtatakda ng mga S0-S3 pin.
  • Hindi matatag na pagbabasa: Tiyakin ang wastong saligan at matatag na supply ng kuryente para sa mga sensor.

Konklusyon

Matagumpay mong na -interface ang CD74HC4067 multiplexer kasama si Arduino. Ang maraming nalalaman module ay nagbibigay -daan sa iyo upang mapalawak ang iyong mga kakayahan sa pag -input at output ng Arduino nang malaki, na ginagawang perpekto para sa mga proyekto na kinasasangkutan ng maraming mga sensor, pindutan, o LED. Eksperimento na may iba't ibang mga pagsasaayos at galugarin ang buong potensyal nito!

Mag -iwan ng komento

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.