પીસીએફ 8574: આર્ડિનો માટે આઇ 2 સી I / O વિસ્તૃતકો વિશે

પીસીએફ 8574 ટીઆઇ ચિપ

તમે ચોક્કસપણે સાંભળ્યું છે આઈસી પીસીએફ 8574, એક ચિપ કે જે અલગથી ખરીદી શકાય છે અથવા ઘણા અન્ય લોકો જેવા મોડ્યુલ પર પહેલેથી જ માઉન્ટ થયેલ છે ઇલેક્ટ્રોનિક ઘટકો તમારા અરડિનો બોર્ડ સાથે તમારા એકીકરણની સુવિધા માટે. આ કિસ્સામાં, તે ઇનપુટ્સ અને આઉટપુટનો વિસ્તારક છે I2C બસ.

તમે વિચારી શકો છો કે અર્દુનો પહેલેથી જ તેની પોતાની છે ઇન્ટિગ્રેટેડ I2C બસ, અને તે સાચું છે. પરંતુ પીસીએફ 8574 your તે બસને તમારા ડેવલપમેન્ટ બોર્ડની મર્યાદાથી આગળ વધારવામાં મદદ કરી શકે છે, જે કેટલાક નિર્માતાઓને મદદરૂપ થઈ શકે છે જેમને અર્દુનો આપે છે તેના કરતાં વધુની જરૂર હોય છે.

આઈ 2 સી બસ શું છે?

Arduino UNO મિલીસ ફંક્શન્સ

આઈ 2 સી નામ આવ્યું છે આંતર-સંકલિત સર્કિટ અથવા આંતર-સંકલિત સર્કિટ્સ. તેનું સંસ્કરણ 1.0 ફિલિપ્સ દ્વારા 1992 માં બનાવવામાં આવ્યું હતું. પછી બીજો 2.1 2000 માં આવશે અને આજે તે 100 માં પેટન્ટની મુદત પુરી થાય ત્યારે મુક્તપણે (3.4 કેબિટ / સે પર, જ્યારે તે 2006 એમબિટ / સેકંડ સુધી પરવાનગી આપે છે) ધોરણ બની ગયું છે.

હાલમાં તેનો ઉદ્યોગમાં વ્યાપકપણે ઉપયોગ થાય છે વાતચીત માટે, અને એક આઇસીમાં એકીકૃત વિવિધ માઇક્રોકન્ટ્રોલર્સ અને પેરિફેરલ્સને સંદેશાવ્યવહાર કરવા માટેના તેમના પ્રોજેક્ટ માટે ઉત્પાદકો દ્વારા ખૂબ પ્રશંસા કરવામાં આવી છે.

El આઇ 2 સી એક બસ છે સીરીયલ કમ્યુનિકેશનથી જાણીતું છે. તે ફક્ત 2 ચેનલો સાથે સિંક્રનસ કમ્યુનિકેશન પ્રોટોકોલનો ઉપયોગ કરે છે (ત્યાં ત્રીજો છે, પરંતુ તે સંદર્ભ અથવા જી.એન.ડી. સાથે જોડાયેલો છે), હકીકતમાં તે ટીડબ્લ્યુઆઇ (ટૂ વાયર વાયર ઇંટરફેસ) તરીકે પણ ઓળખાય છે:

  • ઘડિયાળ માટે એક (એસસીએલ).
  • ડેટા (એસડીએ) માટે અન્ય.
બંને ખુલ્લા ડ્રેઇન સીએમઓએસ કનેક્શન્સ છે અને પુલ-અપ રેઝિસ્ટર્સની જરૂર છે. ઉપરાંત, જો એક ડિવાઇસ 0 અને બીજો 1 એ ટ્રાન્સમિટ કરે છે, તો ત્યાં સમસ્યાઓ આવી શકે છે, તેથી જ લીટી હંમેશાં 1 (ઉચ્ચ સ્તર) પર સેટ કરેલી હોય છે અને ઉપકરણો હંમેશા 0 (નિમ્ન સ્તર) પ્રસારિત કરે છે.

તે સૂચવે છે કે માસ્ટર અને ગુલામ તેઓ સમાન કેબલ અથવા ટ્રેક પર ડેટા મોકલે છે, જે ઘડિયાળ સંકેત ઉત્પન્ન કરે તે પ્રથમ દ્વારા નિયંત્રિત થાય છે. I2C બસ સાથે જોડાયેલ દરેક પેરિફેરલ ડિવાઇસીસમાં ટ્રાન્સમિશનને દિશામાન કરવા માટે, એક અનન્ય સરનામું આપવામાં આવશે. પરંતુ તે જરૂરી નથી કે શિક્ષક હંમેશાં સમાન (મલ્ટિ-ટીચર) હોય, તે હંમેશા તે જ છે જે સ્થાનાંતરણની શરૂઆત કરે છે.

જેમ કે મેં પહેલાથી જ લેખમાં સમજાવ્યું છે અરડિનો આઇ 2 સી મેં અગાઉ સંદર્ભ આપ્યો છે, દરેક બોર્ડ પાસે આ આઇ 2 સી કનેક્શંસ જુદા જુદા સ્થળોએ છે. તે કંઈક છે જે તમારે દરેક પ્લેટ સંસ્કરણમાં તેનો યોગ્ય રીતે ઉપયોગ કરી શકવા માટે ધ્યાનમાં રાખવાની જરૂર છે:

  • Arduino UNO: એસડીએ એ 4 માં છે અને એસ 5 માં એ XNUMX માં છે
  • અરડિનો નેનો: પાછલા જેવું જ.
  • અરડિનો મીની પ્રો: સમાન.
  • અરડિનો મેગા: એસડીએ 20 પિન પર છે અને 21 ને એસ.સી.કે.
  • પ્લેટો વિશે વધુ માહિતી.

તમે પહેલાથી જ જાણો છો કે તમે તમારા સ્કેચ માટે I2C નો ઉપયોગ સરળતાથી કરી શકો છો, કારણ કે વાયર. લાઇબ્રેરી આ સીરીયલ કમ્યુનિકેશન માટે વિવિધ કાર્યો સાથે:

  • શરૂઆત (): વાયર લાઇબ્રેરી શરૂ કરો અને સ્પષ્ટ કરો કે તે માસ્ટર છે કે ગુલામ છે
  • વિનંતીફ્રોમ () દ્વારા: ગુલામ પાસેથી ડેટાની વિનંતી કરવા માટે માસ્ટર દ્વારા ઉપયોગ.
  • પ્રારંભપ્રસારણ (): ગુલામ સાથે ટ્રાન્સમિશન શરૂ કરો.
  • એન્ડ ટ્રાન્સમિશન (): અંત ટ્રાન્સમિશન.
  • લખો ()- ગુલામ પાસેથી માસ્ટરની વિનંતીના જવાબમાં ડેટા લખો અથવા તમે માસ્ટરના ટ્રાન્સમિશનની કતાર કરી શકો છો
  • ઉપલબ્ધ (): વાંચવા માટે બાઇટ્સની સંખ્યા પરત કરશે.
  • વાંચવું(): ગુલામ દ્વારા માસ્ટરમાં અથવા તેનાથી વિપરિત ટ્રાન્સમિટ કરાયેલ બાઇટ વાંચો.
  • પર પ્રાપ્ત કરો (): જ્યારે કોઈ ગુલામ માસ્ટર પાસેથી ટ્રાન્સમિશન મેળવે છે ત્યારે કાર્ય કહે છે.
  • વિનંતી પર (): જ્યારે કોઈ ગુલામ માસ્ટરથી ડેટાની વિનંતી કરે છે ત્યારે કોઈ કાર્ય કહે છે.

પેરા વધુ માહિતી આર્ડિનો પ્રોગ્રામિંગ અને કાર્યો વિશે તમે અમારા ડાઉનલોડ કરી શકો છો પીડીએફ ટ્યુટોરિયલ.

પીસીએફ 8574 શું છે?

પીસીએફ 8574 મોડ્યુલ

પીસીએફ 8574 એ છે I2C બસ ડિજિટલ ઇનપુટ્સ અને આઉટપુટ (I / O) વિસ્તૃતકો. તે આઇસી અને મોડ્યુલોમાં ઉપલબ્ધ હોવા ઉપરાંત, વિવિધ ઉત્પાદકો દ્વારા ઉત્પાદિત કરી શકાય છે. કોઈ પણ સંજોગોમાં, તેને તમારા અરડિનો બોર્ડથી કનેક્ટ કરવું ખૂબ જ વ્યવહારુ છે અને મધરબોર્ડની મંજૂરી કરતાં વધુ ઉપકરણોને નિયંત્રિત કરવાની ક્ષમતા ધરાવે છે.

El પીસીએફ 8574 પિનઆઉટ તે સરળ છે, કારણ કે તેમાં ફક્ત શામેલ છે 8 પાઇન્સ અર્ધ-દિશાત્મક (પી 0-પી 7 જ્યાં વાતચીત કરવાની ચિપ્સ કનેક્ટ થયેલ છે), અને બીજી બાજુ તમારી પાસે એસડીએ અને એસસીએલ છે કે તમારે મોડ્યુલને પાવર કરવા માટે આર્ડિનો બોર્ડ, તેમજ વીસીસી અને જીએનડી સાથે કનેક્ટ કરવું આવશ્યક છે. અને સંદેશાવ્યવહાર માટે કયા ઉપકરણોને નિર્દેશિત કરવામાં આવે છે તે પસંદ કરવા માટે ત્રણ સરનામાં પિન A0, A1, A2 ભૂલશો નહીં ...

પીસીએફ 8574 પિનઆઉટ

માલિક અન્ય સુવિધાઓ કે તમારે જાણવું જોઈએ:

  • તેના જોડાણો, ખુલ્લા ડ્રેઇન હોવા, હોઈ શકે છે ઇનપુટ્સ અને આઉટપુટ બંને તરીકે વપરાય છે.
  • La પીક કરંટ તે 25 એમએ છે જ્યારે તે આઉટપુટ (સિંક, જ્યારે વર્તમાન પીસીએફ 8574 તરફ વહે છે) અને 300 µA (સ્રોત, પીસીએફ 8574 થી વર્તમાન પ્રવાહ) તરીકે કાર્ય કરે છે.
  • La તણાવ વીજ પુરવઠો 2.5 અને 6 વી છે. સ્ટેન્ડ-બાય વપરાશ ખૂબ ઓછો છે, ફક્ત 10 .A.
  • બધા આઉટપુટ છે, બાહ્ય ક્રિયાઓની જરૂરિયાત વિના રાજ્ય જાળવવા માટે. તમારે ફક્ત ત્યારે જ કાર્ય કરવું પડશે જ્યારે તમે રાજ્યને બદલવા માંગતા હો.
  • તમે 8 મેળવી શકો છો શક્ય દિશાઓ, એટલે કે, 8 ઉપકરણો સુધી વિસ્તૃત કરવા માટે 8 મોડ્યુલો સાથે વાત કરવા અથવા તેનો ઉપયોગ કરવા માટે 64 ઉપકરણો. સરનામાં (પિન A0, A1, A2) હશે:
    • 000: સરનામું 0x20
    • 001: સરનામું 0x21
    • 010: સરનામું 0x22
    • 011: સરનામું 0x23
    • 100: સરનામું 0x24
    • 101: સરનામું 0x25
    • 110: સરનામું 0x26
    • 111: સરનામું 0x27
  • કબૂલ કરે છે વિક્ષેપ (આઇએનટી) સતત મોનીટરીંગ કર્યા વિના ડેટાને શોધવા માટે વિશેષ લાઇન દ્વારા.

આર્દુનો સાથે એકીકરણ

આર્ડિનો આઈડીઇ સ્ક્રીનશોટ

અર્ડુનો સાથેનું જોડાણ ખૂબ જ સરળ છે, તમારે ફક્ત વીસીસીને અર્ડુનો બોર્ડના 5 વી પિન સાથે જોડવું પડશે, અને જીઆરએડને આર્ડિનોના જીએનડી સાથે. બીજી બાજુ, પીસીએફ 8574 એસડીએ અને એસસીએલ મોડ્યુલની પિન હોઈ શકે છે પિન સાથે જોડાવા 14 (એ 5 એસસીએલ) અને 15 (એ 4 એસડીએ). ફક્ત તે જ સાથે તે કાર્ય કરવાનું શરૂ કરશે, દેખીતી રીતે તમે Px નો ઉપયોગ તમે જે ઉપકરણો સાથે સંપર્ક કરવા માંગો છો તેને કનેક્ટ કરવા માટે કરી શકો છો ...

પછી તે ફક્ત ગુમ થઈ જશે ઉદાહરણ સ્કેચથી પ્રારંભ કરો અરડિનો આઇડીઇમાં. તમે અતિરિક્ત લાઇબ્રેરીનો ઉપયોગ કર્યા વિના કરી શકો છો જેમ કે ...

#include <Wire.h>
 
const int address = 0x38;
 
void setup()
{
   Wire.begin();
   Serial.begin(9600);
}
 
void loop()
{
   for (short channel = 0; channel < 8; channel++)
   {
      // Escribir dato en cada uno de los 8 canales
      Wire.beginTransmission(address);
      Wire.write(~(1 << channel));
      Wire.endTransmission();
      
      // Lee dato del canal
      delay(500);
   }
}

ઇનપુટ તરીકે:

#include <Wire.h>
 
const int address = 0x38;
 
void setup()
{
   Wire.begin();
   Serial.begin(9600);
}
 
void loop()
{
   short channel = 1;
   byte value = 0;
 
   // Leer el dato del canal
   Wire.requestFrom(pcfAddress, 1 << channel);
   if (Wire.available())
   {
      value = Wire.read();
   }
   Wire.endTransmission();
 
   // Mostrar el valor leido por el monitor serie
   Serial.println(value);
}

અથવા પણ પુસ્તકાલયોનો ઉપયોગ કરો, જેમ કે તમે કરી શકો છો તે PCF8574 અહીં ડાઉનલોડ કરો અને આ લાઇબ્રેરી સાથે આવતા ઉદાહરણથી જ આના જેવો કોડ વાપરો:

#include <Wire.h>
#include "PCF8574.h"
 
PCF8574 expander;
 
void setup() 
{
  Serial.begin(9600);
  
  expander.begin(0x20);
  
  /* Setup some PCF8574 pins for demo */
  expander.pinMode(0, OUTPUT);
  expander.pinMode(1, OUTPUT);
  expander.pinMode(2, OUTPUT);
  expander.pinMode(3, INPUT_PULLUP);
 
  /* Blink hardware LED for debug */
  digitalWrite(13, HIGH);  
  
  /* Toggle PCF8574 output 0 for demo */
  expander.toggle();
  
  /* Blink hardware LED for debug */
  digitalWrite(13, LOW);
}
 
 
 
void loop() 
{
}


ટિપ્પણી કરવા માટે સૌ પ્રથમ બનો

તમારી ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. આવશ્યક ક્ષેત્રો સાથે ચિહ્નિત થયેલ છે *

*

*

  1. ડેટા માટે જવાબદાર: મિગ્યુએલ gelંજેલ ગેટóન
  2. ડેટાનો હેતુ: નિયંત્રણ સ્પામ, ટિપ્પણી સંચાલન.
  3. કાયદો: તમારી સંમતિ
  4. ડેટાની વાતચીત: કાયદાકીય જવાબદારી સિવાય ડેટા તૃતીય પક્ષને આપવામાં આવશે નહીં.
  5. ડેટા સ્ટોરેજ: cસેન્ટસ નેટવર્ક્સ (ઇયુ) દ્વારા હોસ્ટ કરેલો ડેટાબેઝ
  6. અધિકાર: કોઈપણ સમયે તમે તમારી માહિતીને મર્યાદિત, પુન recoverપ્રાપ્ત અને કા deleteી શકો છો.