Cum se folosește multiplexorul CD74HC4067 cu Arduino

How to Use the CD74HC4067 Multiplexer with Arduino

CD74HC4067 este un multiplexor/demultiplexer analog/digital cu 16 canale care vă permite să extindeți numărul de pini de intrare sau ieșire pe Arduino. Este util în special în proiectele care necesită mai mulți senzori, butoane sau LED -uri, în timp ce minimizează utilizarea pinului. Acest tutorial vă va ghida prin conectarea și utilizarea CD74HC4067 cu Arduino.


Ce vei avea nevoie

  1. CD74HC4067 Modul multiplexor sau IC
  2. Arduino Board (de exemplu, Uno, Mega, Nano)
  3. Senzori, butoane sau LED -uri pentru testare
  4. Tablă de pâine și jumper
  5. Un computer cu IDE Arduino instalat

Pasul 1: Înțelegerea CD74HC4067

CD74HC4067 acționează ca un comutator care conectează unul dintre cei 16 pini de intrare/ieșire la un singur pin comun. Puteți controla ce canal este activ folosind 4 pini de control (S0 până la S3).

Pinout

Ac Funcţie
VCC Sursă de alimentare (3,3V sau 5V)
GND Sol
S0, S1, S2, S3 Pinii de control (pentru a selecta canalul activ)
Ro Activați pin (activ scăzut; conectați -vă la GND pentru a activa)
Com Pinul I/O comun (conectați -vă la Arduino)
CH0-CH15 Canale 0 la 15 (conectați -vă la senzori, butoane sau LED -uri)

Pasul 2: Cablarea CD74HC4067 către Arduino

Iată cum să conectați CD74HC4067 la un Arduino Uno:

Pin CD74HC4067 Pinul Arduino
VCC 5V
GND GND
S0 Pinul 8
S1 Pinul 9
S2 Pinul 10
S3 Pinul 11
Ro GND
Com A0 (pentru citirea semnalelor analogice)
CH0-CH15 Senzori, LED -uri sau butoane

Pasul 3: Încărcați codul

Următorul exemplu demonstrează cum să citiți valorile analogice de la senzorii conectați la CD74HC4067:

Cod de exemplu

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
}

Pasul 4: Testați configurarea

  1. Conectați Arduino la computer prin USB.
  2. Deschideți IDE Arduino și selectați corect Bord şi Port sub Instrumente meniu.
  3. Încărcați codul făcând clic pe Încărcați.
  4. Deschideți monitorul în serie (Instrumente > Monitor în serie) și setați rata de transfer la 9600.
  5. Observați valorile analogice pentru fiecare canal afișat în monitorul serial.

Opțional: LED -urile de control

Pentru a controla LED -urile conectate la canale, modificați codul pentru a ieși semnale digitale în loc să citiți intrări analogice. De exemplu:

Cod de exemplu pentru LED -uri

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

Aplicațiile CD74HC4067

  1. Extinderea intrărilor/ieșirilor analogice și digitale
  2. Citirea mai multor senzori cu pini limitați
  3. Construirea matricilor cu butoane mari
  4. Controlul mai multor LED -uri sau relee

Depanare

  • Fără răspuns de la canale: Verificați conexiunile PIN de control și asigurați -vă EN PIN -ul este conectat la GND.
  • Selecție incorectă a canalului: Verificați selectChannel() Logică pentru setarea pinilor S0-S3.
  • Citiri instabile: Asigurați o împământare adecvată și sursă de alimentare stabilă pentru senzori.

Concluzie

Ați interfațat cu succes multiplexorul CD74HC4067 cu Arduino. Acest modul versatil vă permite să extindeți în mod semnificativ capacitățile de intrare și ieșire ale lui Arduino, ceea ce îl face ideal pentru proiecte care implică mai mulți senzori, butoane sau LED -uri. Experimentați cu diferite configurații și explorați potențialul său maxim!

Lasă un comentariu

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.