PCF8574: Arduino साठी अधिक कनेक्शन पिन मिळवा

pcf8574

तुम्‍ही स्‍वत:ला अशा परिस्थितीत सापडले असेल जेथे तुम्‍हाला तुमच्यासाठी उपलब्‍ध इनपुट आणि आउटपुटची संख्‍या वाढवायची आहे अर्दूनो बोर्ड, तुम्ही असा प्रकल्प राबवत आहात ज्याला अपेक्षेपेक्षा जास्त उपकरणांची आवश्यकता आहे. या प्रकरणांमध्ये तुम्ही फक्त एक गोष्ट करू शकता, आणि ती म्हणजे यापैकी अधिक कनेक्शनसह उच्च मॉडेलचे बोर्ड खरेदी करण्याचा विचार करणे. पण आता सह PCF8574 Arduino च्या I/O चा विस्तार करू शकतो सोप्या आणि स्वस्त मार्गाने.

तुम्हाला माहीत नसेल तर PCF8574 काय आहे हे आम्ही तुम्हाला दाखवू, तुमच्या Arduino बोर्डशी ते कसे जोडले जाऊ शकते हे दाखवण्याबरोबरच ते कसे कार्य करते हे चरण-दर-चरण स्पष्ट केले आहे...

पीसीएफ 8574 काय आहे?

pcf8574

El PCF8574 I2C1 बससाठी डिजिटल इनपुट आणि आउटपुट (I/O) विस्तारक आहे. Philips द्वारे निर्मित हे उपकरण तुम्हाला Arduino सारख्या प्रोसेसरला जोडण्यासाठी कमी पिन 2 वापरून अधिक उपकरणे नियंत्रित करण्यास अनुमती देते. PCF8574 ओपन ड्रेन कॉन्फिगरेशनमध्ये CMOS आउटपुटवर आधारित 8 अर्ध-दिशात्मक पिन समाविष्ट करते.

शिवाय, PCF8574 हे कमी-शक्तीचे साधन आहे जे 2.5V ते 6V पर्यंत VCC ऑपरेशन्सचे समर्थन करते. यात 8-बिट अर्ध-द्विदिशात्मक I/O पोर्ट, लॅच केलेले आउटपुट, ओपन ड्रेन इंटरप्ट आउटपुट आणि LEDs साठी उच्च प्रवाह चालविण्याची क्षमता आहे. दुसरीकडे, त्याचा स्टँड-बाय वापर खूपच कमी आहे, 10 µA पेक्षा कमी आहे.

हे खूप उपयुक्त आहे तुमच्या Arduino बोर्डाची क्षमता त्याच्या मर्यादेपलीकडे वाढवा, ज्यांना Arduino ऑफर करते त्यापेक्षा अधिक काहीतरी हवे असलेल्या निर्मात्यांना चांगली मदत होऊ शकते. प्रत्येक पिन पुरवू शकणारा कमाल करंट कॉन्फिगरेशनवर अवलंबून असेल:

  • जेव्हा ते आउटपुट म्हणून कार्य करते, तेव्हा ते 25mA असते जेव्हा ते सिंक म्हणून कार्य करते, म्हणजेच जेव्हा विद्युत प्रवाह PCF8574 कडे जातो. हे डीफॉल्ट कॉन्फिगरेशन आहे.
  • जेव्हा ते स्त्रोत म्हणून कार्य करते तेव्हा ते 300µA असते, म्हणजेच जेव्हा PCF8574 मधून विद्युत प्रवाह वाहतो. त्याचप्रमाणे, तुम्हाला हे माहित असणे आवश्यक आहे की सर्व आउटपुटमध्ये लॅचेस असतात, म्हणजेच ते रजिस्टरमध्ये स्वतःच स्थिती राखतात. जेव्हा आम्हाला एखाद्या आउटपुटची स्थिती सुधारायची असेल तेव्हाच आम्हाला कार्य करावे लागेल.

संवाद घडतो I2C बस मार्गे, त्यामुळे त्यास कनेक्ट केलेल्या उपकरणांमधून डेटा प्राप्त करणे सोपे आहे. त्याचप्रमाणे, हे लक्षात घ्यावे की त्यात 3 अॅड्रेस पिन आहेत, जे समान I8C बसला 2 संभाव्य कनेक्शन देतात. याचा अर्थ केवळ 64 पिन वापरून 2 उपकरणे नियंत्रित करणे शक्य आहे.

पत्ता सेटिंग्ज

या PCF8574 मॉड्यूलच्या काही मॉडेल्समध्ये सामान्यतः कॉन्फिगरेशन पिन आणि जंपर्स समाविष्ट असतात जसे तुम्ही वरील इमेजमध्ये पाहता. दुसरीकडे, इतर मॉडेल्समध्ये एक स्विच समाविष्ट आहे जो तीन मायक्रोस्विचसह गोष्टी सुलभ करतो... ते जसेच्या तसे, ते वापरले जातात पत्ते कॉन्फिगर करा I/O पिन:

A0 A1 A2 पत्ता
0 0 0 0x20
0 0 1 0x21
0 1 0 0x22
0 1 1 0x23
1 0 0 0x24
1 0 1 0x25
1 1 0 0x26
1 1 1 0x27

किंमत आणि कुठे खरेदी करावी

हे फक्त काही युरोमध्ये मिळू शकते. ते एक साधन आहे बरेच स्वस्त I/O ची संख्या कमी असलेल्या काही Arduino मॉडेल्ससाठी ते किती व्यावहारिक असू शकते. त्यामुळे तुम्ही PCF8574 शोधत असाल, तर तुम्हाला ते विशेष स्टोअरमध्ये किंवा Amazon, Aliexpress किंवा eBay सारख्या मोठ्या ऑनलाइन प्लॅटफॉर्मवर मिळू शकेल. उदाहरणार्थ, आम्ही एक शिफारस करतो:

ANGEEK PCF8574 IO...
ANGEEK PCF8574 IO...
पुनरावलोकने नाहीत

PCF8574 ला Arduinno ला जोडत आहे

परिच्छेद PCF8574 विस्तारक तुमच्या Arduino बोर्डशी कनेक्ट करा, कनेक्शन आकृती अगदी सोपी आहे. आपल्याला फक्त कनेक्ट करावे लागेल:

  • PCF8574 बोर्डवर Arduino च्या SCL पिनवर चिन्हांकित केलेली SCL पिन. ही पिन मॉडेलवर अवलंबून बदलू शकते, परंतु सामान्यतः UNO सारख्या अधिक लोकप्रिय मॉडेलवर A5 वर असते.
  • विस्तारकांचा SDA पिन Arduino च्या SDA पिनशी जोडला जावा. मी वर नमूद केलेली तीच गोष्ट, मॉडेलवर अवलंबून बदलू शकते, परंतु सामान्यतः ते A4 आहे. शंका असल्यास, तुमच्या मॉडेलचे पिनआउट तपासा.
  • PCF8574 चा GND पिन अर्थातच Arduino वर चिन्हांकित GND शी जोडला जाईल, म्हणजेच ते ग्राउंड कनेक्शन आहे.
  • विस्तारकाचा Vcc पिन Arduino च्या 5V शी जोडलेला आहे, अशा प्रकारे, GND आणि Vcc सह आम्ही आधीच विस्तारक बोर्ड चालविला आहे जेणेकरून ते कार्य करण्यास प्रारंभ करू शकेल.

ऑपरेशन

PCF8574 एकदा Arduino बोर्डशी कनेक्ट झाले की, आता हे जाणून घेण्याची वेळ आली आहे हे कस काम करत. हे करण्यासाठी, तुम्हाला हे लक्षात ठेवावे लागेल की तुम्हाला पॉवर पिन व्यतिरिक्त दोन Arduino पिन वापरल्याच्या बदल्यात 8 अतिरिक्त पिन मिळतील. दुसरीकडे, तुम्हाला एक गोष्ट लक्षात ठेवावी लागेल, आणि ती म्हणजे PCF8 च्या त्या 8574 पिनपैकी प्रत्येकावर तुमच्याकडे MOSFET ट्रान्झिस्टर आणि खूप कमी प्रतिरोधक पुल-अप रेझिस्टर आहे. ट्रान्झिस्टर सक्रिय असताना हे 100 microA ची वर्तमान तीव्रता गृहीत धरते.

आणि हे आम्हाला खालील पॅनोरामासह सोडते:

  • आउटपुट म्हणून कॉन्फिगरेशन- जेव्हा पिन आउटपुट म्हणून वापरला जातो, तेव्हा तो करंट सिंक म्हणून काम करतो, जसे मी वर चर्चा केली आहे, म्हणजे विद्युत प्रवाह आत येतो.
    • LOW: कमी व्होल्टेज असताना, ते विद्युत प्रवाह चालवत नाही, लोड = Vdd.
    • उच्च: जेव्हा उच्च व्होल्टेजवर, 25mA पर्यंत प्रवाह जाऊ शकतो, तेव्हा लोड GND शी जोडला जाईल.
  • इनपुट म्हणून कॉन्फिगरेशन: ते नेहमी उच्च वर सेट केले जाणे आवश्यक आहे, आणि या प्रकरणात ते स्त्रोत म्हणून कार्य करेल, म्हणजेच विद्युत प्रवाह बाहेर पडतो.
    • बंद: जेव्हा बाह्य भार दिलेला नाही, तेव्हा पिनवरील व्होल्टेज GND वर जातो.
    • उघडा: जेव्हा बाह्य भार येतो तेव्हा पिन व्होल्टेज Vdd होतो.

Arduino IDE कोड

Arduino IDE, डेटा प्रकार, प्रोग्रामिंग

Arduino वर हा PCF8574 वापरण्यासाठी कोड कसा तयार करायचा याची काही उदाहरणे तुम्हाला हवी असल्यास, ही कोड उदाहरणे वापरणे तितके सोपे आहे जे तुम्ही तुमच्या गरजेनुसार बदलू शकता:

  • आउटपुट म्हणून कॉन्फिगरेशन:
#include <Wire.h>

const int pcfAddress = 0x38;

void setup()
{
  Wire.begin();
  Serial.begin(9600);
}

void loop()
{
  for (short channel = 0; channel < 8; channel++)
  {
    // Escribir dato en canal 'channel'
    Wire.beginTransmission(pcfAddress);
    Wire.write(~(1 << channel));
    Wire.endTransmission();
    
    // Leer dato de canal
    delay(500);
  }
}
  • इनपुट म्हणून कॉन्फिगरेशन:
#include <Wire.h>

const int pcfAddress = 0x38;

void setup()
{
  Wire.begin();
  Serial.begin(9600);
}

void loop()
{
  short channel = 1;
  byte value = 0;

  // Leer dato de canal 'channel'
  Wire.requestFrom(pcfAddress, 1 << channel);
  if (Wire.available())
  {
    value = Wire.read();
  }
  Wire.endTransmission();

  // Mostrar el valor por puerto serie
  Serial.println(value);
}

लक्षात ठेवा आपण देखील वापरू शकता विशेषत: PCF8574 साठी तयार केलेली लायब्ररी ज्यामध्ये व्यावहारिक उदाहरणे देखील समाविष्ट आहेत...


टिप्पणी करणारे सर्वप्रथम व्हा

आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.