PCF8574: Arduino માટે વધુ કનેક્શન પિન મેળવો

pcf8574

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

અહીં અમે તમને બતાવીશું કે જો તમને ખબર ન હોય તો PCF8574 શું છે, તે તમારા Arduino બોર્ડ સાથે કેવી રીતે કનેક્ટ થઈ શકે છે તે બતાવવા ઉપરાંત અને તે કેવી રીતે કાર્ય કરે છે તે સમજાવવામાં આવ્યું છે...

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

pcf8574

El પીસીએફ 8574 I2C1 બસ માટે ડિજિટલ ઇનપુટ અને આઉટપુટ (I/O) એક્સપાન્ડર છે. ફિલિપ્સ દ્વારા ઉત્પાદિત આ ઉપકરણ, તમને ઓછા પિન 2 નો ઉપયોગ કરીને વધુ ઉપકરણોને નિયંત્રિત કરવા માટે Arduino જેવા પ્રોસેસરને કનેક્ટ કરવાની મંજૂરી આપે છે. PCF8574 ઓપન ડ્રેઇન કન્ફિગરેશનમાં CMOS આઉટપુટ પર આધારિત 8 અર્ધ-દિશાયુક્ત પિનનો સમાવેશ કરે છે.

વધુમાં, PCF8574 એ લો-પાવર ઉપકરણ છે જે VCC કામગીરીને 2.5V થી 6V સુધી સપોર્ટ કરે છે. તે 8-બીટ અર્ધ-દ્વિદિશીય I/O પોર્ટ, લૅચ્ડ આઉટપુટ, ઓપન ડ્રેઇન ઇન્ટરપ્ટ આઉટપુટ અને LEDs માટે ઉચ્ચ વર્તમાન ડ્રાઇવિંગ ક્ષમતા ધરાવે છે. બીજી તરફ, તેનો સ્ટેન્ડ-બાય વપરાશ ઘણો ઓછો છે, 10 µA કરતાં ઓછો છે.

તે માટે ખૂબ જ ઉપયોગી છે તમારા Arduino બોર્ડની ક્ષમતાઓને તેની મર્યાદાની બહાર વિસ્તૃત કરો, જે સર્જકો માટે ખૂબ મદદરૂપ થઈ શકે છે જેમને Arduino ઑફર કરે છે તેના કરતાં કંઈક વધુ જોઈએ છે. દરેક પિન સપ્લાય કરી શકે તે મહત્તમ વર્તમાન રૂપરેખાંકન પર આધારિત છે:

  • જ્યારે તે આઉટપુટ તરીકે કાર્ય કરે છે, ત્યારે તે 25mA છે જ્યારે તે સિંક તરીકે કાર્ય કરે છે, એટલે કે જ્યારે વિદ્યુત પ્રવાહ PCF8574 તરફ વહે છે. આ મૂળભૂત રૂપરેખાંકન છે.
  • જ્યારે તે સ્ત્રોત તરીકે કાર્ય કરે છે ત્યારે તે 300µA હોય છે, એટલે કે જ્યારે PCF8574 માંથી પ્રવાહ વહે છે. તેવી જ રીતે, તમારે જાણવું જ જોઈએ કે તમામ આઉટપુટમાં Latches હોય છે, એટલે કે, તેઓ એક રજિસ્ટરમાં પોતાની જાતે જ સ્થિતિ જાળવી રાખે છે. આપણે ત્યારે જ કાર્ય કરવું પડશે જ્યારે આપણે આઉટપુટમાંથી એકની સ્થિતિને સંશોધિત કરવા માંગીએ છીએ.

કોમ્યુનિકેશન થાય છે 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 શોધી રહ્યા છો, તો તમે તેને વિશિષ્ટ સ્ટોર્સમાં અથવા એમેઝોન, 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 માઇક્રોએની વર્તમાન તીવ્રતા ધારે છે.

અને આ અમને નીચેના પેનોરમા સાથે છોડી દે છે:

  • આઉટપુટ તરીકે રૂપરેખાંકન- જ્યારે પિનનો ઉપયોગ આઉટપુટ તરીકે થાય છે, ત્યારે તે વર્તમાન સિંક તરીકે કામ કરે છે, જેમ કે મેં ઉપર ચર્ચા કરી છે, એટલે કે વર્તમાન પ્રવાહ અંદર આવે છે.
    • LOW: નીચા વોલ્ટેજ પર, તે વર્તમાનનું સંચાલન કરતું નથી, લોડ = Vdd.
    • ઉચ્ચ: જ્યારે ઉચ્ચ વોલ્ટેજ પર, 25mA સુધીનો પ્રવાહ પસાર થઈ શકે છે, ત્યારે લોડને GND સાથે જોડવામાં આવશે.
  • ઇનપુટ તરીકે રૂપરેખાંકન: તે હંમેશા HIGH પર સેટ હોવું જોઈએ, અને આ કિસ્સામાં તે સ્ત્રોત તરીકે કાર્ય કરશે, એટલે કે, વર્તમાન વહે છે.
    • બંધ: જ્યારે બાહ્ય ભાર આપવામાં આવતો નથી, ત્યારે પિન પરનો વોલ્ટેજ 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. ડેટા માટે જવાબદાર: મિગ્યુએલ gelંજેલ ગેટóન
  2. ડેટાનો હેતુ: નિયંત્રણ સ્પામ, ટિપ્પણી સંચાલન.
  3. કાયદો: તમારી સંમતિ
  4. ડેટાની વાતચીત: કાયદાકીય જવાબદારી સિવાય ડેટા તૃતીય પક્ષને આપવામાં આવશે નહીં.
  5. ડેટા સ્ટોરેજ: cસેન્ટસ નેટવર્ક્સ (ઇયુ) દ્વારા હોસ્ટ કરેલો ડેટાબેઝ
  6. અધિકાર: કોઈપણ સમયે તમે તમારી માહિતીને મર્યાદિત, પુન recoverપ્રાપ્ત અને કા deleteી શકો છો.