CD74HC4067 on 16-kanavainen analoginen/digitaalinen multiplekseri/demultiplekseri, jonka avulla voit laajentaa Arduinon syöttö- tai lähtötaput. Se on erityisen hyödyllinen projekteissa, jotka vaativat useita antureita, painikkeita tai LED -levyjä, minimoimalla nastakäyttöä. Tämä opetusohjelma opastaa sinua kytkemällä ja käyttämällä CD74HC4067 Arduinon kanssa.
Mitä tarvitset
- CD74HC4067 Multiplekserimoduuli tai IC
- Arduino Board (esim. UNO, Mega, Nano)
- Anturit, painikkeet tai LEDit testattavaksi
- Leipälevy- ja hyppyjohdot
- Tietokone, jossa Arduino IDE on asennettu
Vaihe 1: CD74HC4067: n ymmärtäminen
CD74HC4067 toimii kytkimenä, joka yhdistää yhden sen 16 tulo-/lähtötapista yhteen yhteiseen PIN -koodiin. Voit hallita, mikä kanava on aktiivinen käyttämällä 4 ohjaustappia (S0 - S3).
Pinot
Nasta | Funktio |
---|---|
VCC | Virtalähde (3,3 V tai 5 V) |
Hölynpöly | Pohja |
S0, S1, S2, S3 | Ohjaustapit (aktiivisen kanavan valitseminen) |
Fi | Ota PIN (aktiivinen matala; kytke GND: hen käyttöön) |
Com | Yleinen I/O -nasta (kytke Arduino) |
CH0-CH15 | Kanavat 0 - 15 (kytke antureihin, painikkeisiin tai LEDiin) |
Vaihe 2: CD74HC4067: n johdotus Arduinolle
Näin yhdistetään CD74HC4067 Arduino UNO: lle:
CD74HC4067 -nasta | Arduino -nasta |
---|---|
VCC | 5V |
Hölynpöly | Hölynpöly |
S0 | Nasta 8 |
S1 | Tappi 9 |
S2 | Nasta 10 |
S3 | Nasta 11 |
Fi | Hölynpöly |
Com | A0 (analogisten signaalien lukemiseen) |
CH0-CH15 | Anturit, LEDit tai painikkeet |
Vaihe 3: Lataa koodi
Seuraava esimerkki osoittaa, kuinka luetaan analogiarvoja CD74HC4067: een kytkettyistä antureista:
Esimerkkikoodi
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
}
Vaihe 4: Testaa asennus
- Kytke Arduino tietokoneeseen USB: n kautta.
- Avaa Arduino IDE ja valitse oikea Hallitus ja Satama alla Työkalut valikko.
- Lataa koodi napsauttamalla Ladata.
- Avaa sarjamonitori (Työkalut > Sarjamonitori) ja aseta baud -arvo
9600
. - Tarkkaile sarjamonitorissa näytettävien kanavien analogisia arvoja.
Valinnainen: LEDien hallinta
Kanaviin kytkettyjen LEDien hallitsemiseksi koodin muokkaamiseksi digitaalisten signaalien tulostamiseksi analogisten tulojen lukemisen sijasta. Esimerkiksi:
Esimerkkikoodi LEDille
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
}
}
CD74HC4067: n sovellukset
- Laajentavat analogiset ja digitaaliset tulot/lähdöt
- Useiden anturien lukeminen rajoitetuilla nastoilla
- Suurten nappimatriisien rakentaminen
- Useiden LEDien tai releiden hallinta
Vianetsintä
-
Ei vastausta kanavista: Tarkista ohjaustapin liitännät ja varmista
EN
PIN on kytketty GND: hen. -
Väärä kanavan valinta: Tarkistaa
selectChannel()
Logiikka S0-S3-nastajen asettamiseen. - Epävakaat lukemat: Varmista anturien asianmukainen maadoitus ja vakaa virtalähde.
Johtopäätös
Olet onnistuneesti liitetty CD74HC4067 -multiplekseriin Arduinon kanssa. Tämän monipuolisen moduulin avulla voit laajentaa Arduinon syöttö- ja lähtöominaisuuksia merkittävästi, joten se on ihanteellinen projekteille, joihin liittyy useita antureita, painikkeita tai LED -levyjä. Kokeile erilaisia kokoonpanoja ja tutki sen koko potentiaalia!