ה- CD74HC4067 הוא מרבב/דמולטפלקס אנלוגי/דיגיטלי בן 16 ערוצים המאפשר לך להרחיב את מספר סיכות הקלט או הפלט בארדואינו שלך. זה שימושי במיוחד בפרויקטים הדורשים חיישנים מרובים, כפתורים או נוריות LED תוך צמצום השימוש ב- PIN. מדריך זה ינחה אתכם באמצעות חיבור ושימוש ב- CD74HC4067 עם Arduino.
מה תצטרך
- CD74HC4067 מודול מולטיפלקס או IC
- לוח ארדואינו (למשל, אונו, מגה, ננו)
- חיישנים, כפתורים או נוריות LED לבדיקה
- חוטי לחם וגשר
- מחשב עם Arduino IDE המותקן
שלב 1: הבנת ה- CD74HC4067
ה- CD74HC4067 פועל כמתג המחבר בין 16 סיכות הקלט/הפלט שלו לסיכה משותפת יחידה. אתה יכול לשלוט באיזה ערוץ פעיל באמצעות 4 סיכות בקרה (S0 ל- S3).
Pinout
פִּין | פוּנקצִיָה |
---|---|
VCC | ספק כוח (3.3 וולט או 5 וולט) |
GND | טָחוּן |
S0, S1, S2, S3 | בקרת סיכות (לבחירת הערוץ הפעיל) |
EN | אפשר סיכה (פעילה נמוכה; התחבר ל- GND כדי לאפשר) |
Com | סיכת קלט/פלט נפוצה (התחברו לארדואינו) |
CH0-CH15 | ערוצים 0 עד 15 (התחבר לחיישנים, כפתורים או נוריות LED) |
שלב 2: חיווט CD74HC4067 ל- Arduino
כך תוכלו לחבר את CD74HC4067 ל- Arduino Uno:
CD74HC4067 PIN | סיכת ארדואינו |
---|---|
VCC | 5V |
GND | GND |
S0 | סיכה 8 |
S1 | סיכה 9 |
S2 | סיכה 10 |
S3 | סיכה 11 |
EN | GND |
Com | A0 (לקריאת אותות אנלוגיים) |
CH0-CH15 | חיישנים, נוריות LED או כפתורים |
שלב 3: העלה את הקוד
הדוגמה הבאה מדגימה כיצד לקרוא ערכים אנלוגיים מחיישנים המחוברים ל- CD74HC4067:
קוד דוגמה
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
}
שלב 4: בדוק את ההתקנה
- חבר את Arduino למחשב שלך באמצעות USB.
- פתח את ה- Arduino IDE ובחר את הנכון לוּחַ וכן נָמָל מתחת ל כְּלֵי עֲבוֹדָה תַפרִיט.
- העלה את הקוד על ידי לחיצה העלה.
- פתח את הצג הסדרתי (כְּלֵי עֲבוֹדָה > צג סידורי) וקבעו את שיעור הבוד
9600
. - שימו לב לערכים האנלוגיים עבור כל ערוץ המוצג במוניטור הסדרתי.
אופציונלי: שליטה על נוריות LED
כדי לשלוט על נוריות LED המחוברות לערוצים, שנה את הקוד לפלט אותות דיגיטליים במקום לקרוא תשומות אנלוגיות. לְדוּגמָה:
קוד דוגמה עבור נוריות 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
}
}
יישומים של CD74HC4067
- הרחבת כניסות/יציאות אנלוגיות ודיגיטליות
- קריאת חיישנים מרובים עם סיכות מוגבלות
- בניית מטריצות כפתור גדול
- שליטה על נוריות LED או ממסרים מרובים
פתרון בעיות
-
אין תגובה מערוצים: אמת את חיבורי סיכות הבקרה והבטיח את
EN
PIN מחובר ל- GND. -
בחירת ערוצים שגויה: בדוק את
selectChannel()
היגיון להגדרת סיכות S0-S3. - קריאות לא יציבות: להבטיח הארקה נאותה ואספקת חשמל יציבה לחיישנים.
מַסְקָנָה
התמקדו בהצלחה ב- CD74HC4067 Multiplexer עם Arduino. מודול רב -תכליתי זה מאפשר לך להרחיב את יכולות הקלט והפלט של ארדואינו באופן משמעותי, מה שהופך אותו לאידיאלי לפרויקטים הכוללים מספר חיישנים, כפתורים או נוריות LED. התנסו בתצורות שונות ובחנו את מלוא הפוטנציאל שלה!