Hoe de CD74HC4067 -multiplexer te gebruiken met Arduino

How to Use the CD74HC4067 Multiplexer with Arduino

De CD74HC4067 is een 16-kanaals analoge/digitale multiplexer/demultiplexer waarmee u het aantal invoer- of uitvoerpennen op uw Arduino kunt uitbreiden. Het is met name handig in projecten die meerdere sensoren, knoppen of LED's vereisen, terwijl het pin -gebruik wordt geminimaliseerd. Deze zelfstudie zal u begeleiden door de CD74HC4067 te verbinden en te gebruiken met Arduino.


Wat u nodig hebt

  1. CD74HC4067 Multiplexer -module of IC
  2. Arduino Board (bijv. UNO, Mega, Nano)
  3. Sensoren, knoppen of LED's voor testen
  4. Breadboard en jumper draden
  5. Een computer met de Arduino Ide geïnstalleerd

Stap 1: Inzicht in de CD74HC4067

De CD74HC4067 werkt als een schakelaar die een van de 16 ingangs-/uitvoerpennen verbindt met een enkele gemeenschappelijke pin. U kunt bepalen welk kanaal actief is met behulp van 4 besturingspennen (S0 tot S3).

Uitspraken

Pin Functie
VCC Voeding (3.3V of 5V)
GND Grond
S0, S1, S2, S3 Controlpennen (om het actieve kanaal te selecteren)
Eng Schakel pin in (actief laag; verbind met GND om in te schakelen)
Com Gemeenschappelijke I/O -pin (verbinding maken met Arduino)
CH0-CH15 Kanalen 0 tot 15 (verbinding maken met sensoren, knoppen of LED's)

Stap 2: de CD74HC4067 bedraden aan Arduino

Hier leest u hoe u de CD74HC4067 verbindt met een Arduino UNO:

CD74HC4067 PIN Arduino Pin
VCC 5V
GND GND
S0 PIN 8
S1 Pin 9
S2 Pin 10
S3 Pin 11
Eng GND
Com A0 (voor het lezen van analoge signalen)
CH0-CH15 Sensoren, LED's of knoppen

Stap 3: Upload de code

Het volgende voorbeeld laat zien hoe u analoge waarden kunt lezen van sensoren die zijn verbonden met de CD74HC4067:

Voorbeeldcode

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
}

Stap 4: Test de instelling

  1. Sluit de Arduino via USB aan op uw computer.
  2. Open de Arduino IDE en selecteer de juiste Bord En Haven onder de Hulpmiddelen menu.
  3. Upload de code door te klikken Uploaden.
  4. Open de seriële monitor (Hulpmiddelen > Serie -monitor) en stel het baudrates in op 9600.
  5. Bekijk de analoge waarden voor elk kanaal dat wordt weergegeven in de seriële monitor.

Optioneel: LED's beheersen

Om LED's die zijn verbonden met de kanalen te regelen, wijzigt u de code om digitale signalen uit te voeren in plaats van analoge ingangen te lezen. Bijvoorbeeld:

Voorbeeldcode voor LED's

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

Toepassingen van de CD74HC4067

  1. Uitbreiding van analoge en digitale ingangen/uitgangen
  2. Meerdere sensoren lezen met beperkte pennen
  3. Grote knopmatrices bouwen
  4. Het beheersen van meerdere LED's of relais

Problemen oplossen

  • Geen reactie van kanalen: Controleer de verbindingen van de besturingspin en zorg voor de EN Pin is verbonden met GND.
  • Onjuiste kanaalselectie: Controleer de selectChannel() Logica voor het instellen van S0-S3-pinnen.
  • Onstabiele lezingen: Zorg voor de juiste aarding en stabiele voeding voor sensoren.

Conclusie

Je hebt de CD74HC4067 -multiplexer met succes met Arduino gekoppeld. Met deze veelzijdige module kunt u de invoer- en uitvoermogelijkheden van uw Arduino aanzienlijk uitbreiden, waardoor het ideaal is voor projecten met meerdere sensoren, knoppen of LED's. Experimenteer met verschillende configuraties en verken het volledige potentieel ervan!

Laat een reactie achter

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.