Arduino के साथ CD74HC4067 मल्टीप्लेक्स का उपयोग कैसे करें

How to Use the CD74HC4067 Multiplexer with Arduino

CD74HC4067 एक 16-चैनल एनालॉग/डिजिटल मल्टीप्लेक्सर/डेमुलिप्लेक्सर है जो आपको अपने Arduino पर इनपुट या आउटपुट पिन की संख्या का विस्तार करने की अनुमति देता है। यह विशेष रूप से पिन उपयोग को कम करते हुए कई सेंसर, बटन या एलईडी की आवश्यकता वाली परियोजनाओं में विशेष रूप से उपयोगी है। यह ट्यूटोरियल आपको Arduino के साथ CD74HC4067 को जोड़ने और उपयोग करने के माध्यम से मार्गदर्शन करेगा।


आपको क्या चाहिए

  1. CD74HC4067 मल्टीप्लेक्सर मॉड्यूल या आईसी
  2. Arduino बोर्ड (जैसे, UNO, मेगा, नैनो)
  3. परीक्षण के लिए सेंसर, बटन, या एलईडी
  4. ब्रेडबोर्ड और जम्पर तार
  5. Arduino IDE के साथ एक कंप्यूटर स्थापित

चरण 1: CD74HC4067 को समझना

CD74HC4067 एक स्विच के रूप में कार्य करता है जो अपने 16 इनपुट/आउटपुट पिन में से एक को एक सामान्य पिन से जोड़ता है। आप नियंत्रित कर सकते हैं कि कौन सा चैनल 4 नियंत्रण पिन (S0 से S3) का उपयोग करके सक्रिय है।

पिनआउट करना

नत्थी करना समारोह
वीसीसी बिजली की आपूर्ति (3.3V या 5V)
Gnd मैदान
S0, S1, S2, S3 नियंत्रण पिन (सक्रिय चैनल का चयन करने के लिए)
एन पिन सक्षम करें (सक्रिय कम; सक्षम करने के लिए GND से कनेक्ट करें)
कॉम सामान्य I/O पिन (Arduino से कनेक्ट)
CH0-CH15 चैनल 0 से 15 (सेंसर, बटन, या एलईडी से कनेक्ट करें)

चरण 2: Arduino को CD74HC4067 को वायरिंग करें

यहाँ CD74HC4067 को Arduino UNO से कैसे कनेक्ट किया जाए:

CD74HC4067 पिन अर्डुइनो पिन
वीसीसी 5V
Gnd Gnd
S0 पिन 8
एस 1 पिन 9
एस 2 पिन 10
एस 3 पिन ११
एन Gnd
कॉम A0 (एनालॉग सिग्नल पढ़ने के लिए)
CH0-CH15 सेंसर, एलईडी, या बटन

चरण 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: सेटअप का परीक्षण करें

  1. USB के माध्यम से अपने कंप्यूटर से Arduino कनेक्ट करें।
  2. Arduino ide खोलें और सही का चयन करें तख़्ता और पत्तन नीचे औजार मेनू।
  3. क्लिक करके कोड अपलोड करें अपलोड करना.
  4. सीरियल मॉनिटर खोलें (औजार > सीरियल मॉनिटर) और बॉड दर निर्धारित करें 9600.
  5. सीरियल मॉनिटर में प्रदर्शित होने वाले प्रत्येक चैनल के लिए एनालॉग मानों का निरीक्षण करें।

वैकल्पिक: एलईडी को नियंत्रित करना

चैनलों से जुड़े एल ई डी को नियंत्रित करने के लिए, एनालॉग इनपुट पढ़ने के बजाय डिजिटल सिग्नल को आउटपुट करने के लिए कोड को संशोधित करें। उदाहरण के लिए:

एलईडी के लिए उदाहरण कोड

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 के अनुप्रयोग

  1. एनालॉग और डिजिटल इनपुट/आउटपुट का विस्तार
  2. सीमित पिन के साथ कई सेंसर पढ़ना
  3. बड़े बटन मैट्रिस का निर्माण
  4. कई एलईडी या रिले को नियंत्रित करना

समस्या निवारण

  • चैनलों से कोई प्रतिक्रिया नहीं: नियंत्रण पिन कनेक्शन को सत्यापित करें और सुनिश्चित करें EN पिन GND से जुड़ा है।
  • गलत चैनल चयन: जाँचें selectChannel() S0-S3 पिन सेट करने के लिए तर्क।
  • अस्थिर रीडिंग: सेंसर के लिए उचित ग्राउंडिंग और स्थिर बिजली की आपूर्ति सुनिश्चित करें।

निष्कर्ष

आपने Arduino के साथ CD74HC4067 मल्टीप्लेक्स को सफलतापूर्वक पार कर लिया है। यह बहुमुखी मॉड्यूल आपको अपने Arduino के इनपुट और आउटपुट क्षमताओं का काफी विस्तार करने की अनुमति देता है, जिससे यह कई सेंसर, बटन या एलईडी से जुड़ी परियोजनाओं के लिए आदर्श बन जाता है। विभिन्न विन्यासों के साथ प्रयोग करें और इसकी पूरी क्षमता का पता लगाएं!

एक टिप्पणी छोड़ें

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.