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
- CD74HC4067 Multiplexer module o IC
- Arduino Board (hal., Uno, Mega, Nano)
- Mga sensor, pindutan, o LED para sa pagsubok
- Mga wire ng tinapay at jumper
- 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
- Ikonekta ang Arduino sa iyong computer sa pamamagitan ng USB.
- Buksan ang Arduino IDE at piliin ang tama Lupon at Port sa ilalim ng Mga tool menu.
- I -upload ang code sa pamamagitan ng pag -click Mag -upload.
- Buksan ang serial monitor (Mga tool > Serial monitor) at itakda ang rate ng baud sa
9600
. - 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
- Pagpapalawak ng analog at digital na mga input/output
- Ang pagbabasa ng maraming mga sensor na may limitadong mga pin
- Pagbuo ng malalaking pindutan ng matrice
- 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!