PCF8574: fumana izikhonkwane zoqhagamshelo ngakumbi Arduino

pc8574

Usenokuba uzifumene kwimeko apho ungathanda ukwandisa inani lamagalelo kunye neziphumo ezikhoyo kuwe ibhodi ye-arduino, kuba uqhuba iprojekthi efuna izixhobo ezininzi kunokuba bekulindelwe. Kwezi meko unokwenza into enye kuphela, kwaye oko kukucinga ngokuthenga ibhodi yemodeli ephezulu kunye nolu nxibelelwano. Kodwa ngoku I-PCF8574 inokwandisa i-I/O ye-Arduino ngendlela elula nephantsi.

Apha siza kukubonisa ukuba yintoni na iPCF8574 xa ubungayazi, ukongeza ekuboniseni indlela enokuqhagamshelwa ngayo kwibhodi yakho yeArduino echazwe inyathelo ngenyathelo kunye nendlela esebenza ngayo...

Yintoni i-PCF8574?

pc8574

El I-PCF8574 ligalelo ledijithali kunye nemveliso (I/O) yokwandisa ibhasi ye-I2C1. Esi sixhobo, senziwe nguPhilips, sikuvumela ukuba uqhagamshelane neprosesa efana neArduino ukulawula izixhobo ezininzi usebenzisa iipin2 ezimbalwa. I-PCF8574 idibanisa i-8 quasi-directional pins esekwe kwiziphumo ze-CMOS kulungiselelo lwedreyini evulekileyo.

Ngaphaya koko, iPCF8574 sisixhobo esinamandla aphantsi ixhasa imisebenzi ye-VCC ukusuka kwi-2.5V ukuya kwi-6V. Ifaka i-8-bit quasi-bidirectional I/O port, iziphumo ezibambekayo, ukuphuma kwe-drain evulekileyo yokuphazamiseka, kunye nokukwazi ukuqhuba ngoku okuphezulu kwii-LEDs. Kwelinye icala, ukusetyenziswa kwayo kokuma kuphantsi kakhulu, ngaphantsi kwe-10 µA.

Iluncedo kakhulu Yandisa izakhono zebhodi yakho yeArduino ngaphaya kwemida yayo, enokuba luncedo olukhulu kubadali abafuna into engaphezulu koko i-Arduino inikeza. Ubuninzi bangoku obunokunikezelwa ngephini nganye buya kuxhomekeka kubumbeko:

  • Xa isebenza njengemveliso, i-25mA xa isebenza njenge-sink, oko kukuthi, xa umbane wombane ugeleza kwi-PCF8574. Olu luqwalaselo olungagqibekanga.
  • Xa isebenza njengomthombo yi-300µA, oko kukuthi, xa ikhoyo ngoku iphuma kwi-PCF8574. Ngokunjalo, kufuneka wazi ukuba zonke iziphumo zineeLatshi, oko kukuthi, zigcina urhulumente ngokwazo kwirejista. Kufuneka senze kuphela xa sifuna ukulungisa imeko yesinye seziphumo.

Unxibelelwano luyenziwa ngebhasi ye-I2C, ngoko kulula ukufumana idatha kwizixhobo eziqhagamshelwe kuyo. Ngokufanayo, kufuneka kuqatshelwe ukuba inezikhonkwane zedilesi ezi-3, ezinika unxibelelwano olunokwenzeka lwe-8 kwibhasi ye-I2C efanayo. Oku kuthetha ukuba kunokwenzeka ukulawula izixhobo ezingama-64 usebenzisa izikhonkwane ezi-2 kuphela.

Iisetingi zeedilesi

Eminye imifuziselo yale modyuli yePCF8574 idla ngokubandakanya izikhonkwane zoqwalaselo kunye nezitsiba ezifana nezi uzibona kumfanekiso ongasentla. Ngakolunye uhlangothi, ezinye iimodeli ziquka ukutshintshela okwenza izinto zibe lula ngee-microswitches ezintathu ... Yiba nokuba kunjalo, zisetyenziselwa qwalasela iidilesi yezikhonkwane ze-I/O:

A0 A1 A2 Idilesi
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

Ixabiso kunye nendawo yokuthenga

Inokufumaneka ngee-euro ezimbalwa nje. Sisixhobo ngexabiso eliphantsi indlela enokuthi isebenziseke ngayo kwezinye iimodeli zeArduino ezinenani elisezantsi le-I/Os. Ke ukuba ujonge iPCF8574, ungayifumana kwiivenkile ezikhethekileyo okanye kumaqonga amakhulu e-intanethi anje ngeAmazon, Aliexpress okanye eBay. Umzekelo, apha sicebisa enye:

Ukuqhagamshela iPCF8574 ukuya kwiArduinno

ukuba qhagamshela iPCF8574 yokwandisa kwibhodi yakho yeArduino, Umzobo womdibaniso ulula kakhulu. Kuya kufuneka uqhagamshele kuphela:

  • Iphini ye-SCL ephawulwe kwibhodi ye-PCF8574 kwi-SCL pin ye-Arduino. Le pin inokutshintsha ngokuxhomekeke kwimodeli, kodwa idla ngokuba kwi-A5 kwiimodeli ezithandwayo njenge-UNO.
  • Iphini ye-SDA ye-expander kufuneka idibanise ne-SDA pin ye-Arduino. Into efanayo endiyikhankanyileyo ngasentla, inokutshintsha ngokuxhomekeke kwimodeli, kodwa ngokubanzi yi-A4. Ukuba uyathandabuza, jonga i-pinout yemodeli yakho.
  • Iphini ye-GND ye-PCF8574 ngokuqinisekileyo iya kudityaniswa kwindawo ephawulweyo ye-GND kwi-Arduino, oko kukuthi, ludibaniso lomhlaba.
  • Iphini ye-Vcc ye-expander ixhunywe kwi-5V ye-Arduino, ngale ndlela, kunye ne-GND kunye ne-Vcc sele sinikwe amandla ibhodi yokwandisa ukuze iqalise ukusebenza.

Ukusebenza

Nje ukuba iPCF8574 iqhagamshelwe kwibhodi yeArduino, ngoku lixesha lokwazi Ingaba isebenza kanjani. Ukwenza oku, kufuneka ukhumbule ukuba uya kukwazi ukuba nezikhonkwane ezi-8 ezongezelelweyo, ngokutshintshiselana nokusebenzisa izikhonkwane ezimbini ze-Arduino, ukongeza kumandla. Kwelinye icala, kuya kufuneka ugcine into engqondweni, kwaye yile yokuba kwezi 8 izikhonkwane zePCF8574 une-MOSFET transistor kunye ne-resistor ephantsi kakhulu yokutsala. Oku kuthatha ubuninzi bangoku be-100 microA xa i-transistor isebenza.

Kwaye oku kusishiya nale panorama ilandelayo:

  • Uqwalaselo njengemveliso- Xa isikhonkwane sisetyenziswa njengemveliso, sisebenza njenge-sink yangoku, njengoko ndixoxe ngasentla, oko kukuthi ukugeleza kwangoku.
    • PHANTSI: Xa i-voltage ephantsi, ayiqhubeki okwangoku, umthwalo = Vdd.
    • OKUPHAKAMILEYO: xa kumandla aphezulu, ukuya kuthi ga kwi-25mA okwangoku kungadlula, umthwalo uya kudibaniswa ne-GND.
  • Uqwalaselo njengegalelo: kufuneka ihlale icwangciswe ku-HIGH, kwaye kulo mzekelo iya kusebenza njengomthombo, oko kukuthi, i-current iphuma ngaphandle.
    • Kuvaliwe: Xa umthwalo wangaphandle unganikezelwanga, i-voltage kwi-pin iya kwi-GND.
    • Vula: Xa kusenzeka umthwalo wangaphandle, amandla ombane e-pin abe yi-Vdd.

Arduino IDE Code

Arduino IDE, iintlobo zedatha, inkqubo

Ukuba into oyifunayo yeminye imizekelo yendlela yokwenza ikhowudi yokusebenzisa le PCF8574 kwiArduino, ilula njengokusebenzisa le mizekelo yekhowudi onokuthi uyiguqule ngokweemfuno zakho:

  • Uqwalaselo njengemveliso:
#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);
  }
}
  • Uqwalaselo njengegalelo:
#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);
}

Khumbula ukuba ungasebenzisa kwakhona ifayile ithala leencwadi lenzelwe ngokukodwa iPCF8574 ekwabandakanya imizekelo ebonakalayo...


Yiba ngowokuqala ukuphawula

Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.