PCF8574: získajte viac pripojovacích kolíkov pre Arduino

pcf8574

Možno ste sa ocitli v situácii, kedy by ste chceli rozšíriť počet vstupov a výstupov, ktoré máte k dispozícii arduino doska, pretože vykonávate projekt, ktorý potrebuje viac zariadení, ako sa očakávalo. V týchto prípadoch by ste mohli urobiť len jednu vec, a to uvažovať o kúpe dosky vyššieho modelu s viacerými týmito pripojeniami. Ale teraz s PCF8574 môže rozšíriť I/O Arduina jednoduchým a lacným spôsobom.

Tu vám ukážeme, čo je PCF8574 pre prípad, že by ste to nevedeli, okrem toho, že ukážeme, ako sa dá pripojiť k vašej Arduino doske, krok za krokom a ako to funguje...

Čo je to PCF8574?

pcf8574

El PCF8574 je digitálny vstupný a výstupný (I/O) expandér pre zbernicu I2C1. Toto zariadenie vyrobené spoločnosťou Philips vám umožňuje pripojiť procesor, ako je Arduino, na ovládanie viacerých zariadení pomocou menšieho počtu pinov2. PCF8574 obsahuje 8 kvázi smerových kolíkov založených na výstupoch CMOS v konfigurácii s otvoreným odtokom.

Okrem toho je PCF8574 zariadenie s nízkou spotrebou energie, ktoré podporuje operácie VCC od 2.5V do 6V. Je vybavený 8-bitovým kvázi-obojsmerným I/O portom, zablokovanými výstupmi, výstupom prerušenia otvoreného odtoku a schopnosťou napájania LED s vysokým prúdom. Na druhej strane jeho spotreba v pohotovostnom režime je veľmi nízka, menej ako 10 µA.

Je to veľmi užitočné pre Rozšírte možnosti svojej dosky Arduino nad jej hranice, čo môže byť veľkou pomocou pre tvorcov, ktorí potrebujú niečo viac, než ponúka Arduino. Maximálny prúd, ktorý môže každý kolík dodať, bude závisieť od konfigurácie:

  • Keď funguje ako výstup, je to 25 mA, keď funguje ako výlevka, to znamená, keď elektrický prúd prúdi do PCF8574. Toto je predvolená konfigurácia.
  • Keď funguje ako zdroj, je to 300 µA, to znamená, keď prúd tečie z PCF8574. Rovnako tak musíte vedieť, že všetky výstupy majú Latche, to znamená, že si sami udržiavajú stav v registri. Musíme konať len vtedy, keď chceme upraviť stav jedného z výstupov.

Komunikácia je hotová cez zbernicu I2C, takže je ľahké získať údaje zo zariadení, ktoré sú k nemu pripojené. Podobne je potrebné poznamenať, že má 3 adresové kolíky, čo dáva 8 možných pripojení k rovnakej zbernici I2C. To znamená, že je možné ovládať 64 zariadení iba pomocou 2 pinov.

Nastavenia adresy

Niektoré modely tohto modulu PCF8574 zvyčajne obsahujú konfiguračné kolíky a prepojky, ako sú tie, ktoré vidíte na obrázku vyššie. Na druhej strane, iné modely obsahujú vypínač, ktorý uľahčuje prácu s tromi mikrospínačmi... Nech je to ako chce, sú zvyknutí konfigurovať adresy I/O pinov:

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

Cena a kde kúpiť

Dá sa zohnať len za pár eur. Je to zariadenie celkom lacné na to, aké praktické to môže byť pre niektoré modely Arduino, ktoré majú nižší počet I/O. Ak teda hľadáte PCF8574, nájdete ho v špecializovaných predajniach alebo tiež na veľkých online platformách ako Amazon, Aliexpress či eBay. Napríklad tu odporúčame jeden:

Pripojenie PCF8574 k Arduinno

na pripojte expandér PCF8574 k vašej doske Arduino, Schéma zapojenia je pomerne jednoduchá. Budete sa musieť pripojiť iba:

  • Pin SCL označený na doske PCF8574 k pinu SCL Arduina. Tento kolík sa môže meniť v závislosti od modelu, ale zvyčajne je na A5 na populárnejších modeloch, ako je UNO.
  • SDA pin expandéra sa musí spojiť s SDA pinom Arduina. To isté, čo som spomenul vyššie, môže sa meniť v závislosti od modelu, ale vo všeobecnosti je to A4. Ak máte pochybnosti, skontrolujte pinout vášho modelu.
  • GND pin PCF8574 bude samozrejme pripojený k tomu označenému GND na Arduine, teda je to uzemnenie.
  • Pin Vcc expandéra je pripojený k 5V Arduina, týmto spôsobom sme s GND a Vcc už napájali dosku expandéra, aby mohla začať pracovať.

operácie

Po pripojení PCF8574 k doske Arduino je čas to vedieť ako to funguje. Aby ste to dosiahli, musíte mať na pamäti, že budete môcť mať 8 extra pinov, výmenou za to, že použijete dva Arduino piny, okrem napájacích. Na druhej strane musíte niečo brať do úvahy, a to, že na každom z tých 8 pinov PCF8574 máte MOSFET tranzistor spolu s veľmi nízkym odporom pull-up rezistorom. To predpokladá intenzitu prúdu 100 mikroA, keď je tranzistor aktívny.

A to nám dáva nasledujúcu panorámu:

  • Konfigurácia ako výstup- Keď je kolík použitý ako výstup, funguje ako prúdový kolektor, ako som už diskutoval vyššie, t.j. prúd tečie dovnútra.
    • NÍZKE: Pri nízkom napätí nevedie prúd, záťaž = Vdd.
    • VYSOKÁ: pri vysokom napätí môže prejsť prúd až 25 mA, záťaž bude pripojená k GND.
  • Konfigurácia ako vstup: musí byť vždy nastavený na VYSOKÝ a v tomto prípade bude fungovať ako zdroj, teda prúd vyteká.
    • Zatvorené: Keď nie je dané externé zaťaženie, napätie na kolíku ide na GND.
    • Otvorené: Keď dôjde k externej záťaži, napätie na kolíku sa zmení na Vdd.

Arduino IDE kód

Arduino IDE, dátové typy, programovanie

Ak chcete, je niekoľko príkladov toho, ako vytvoriť kód na použitie tohto PCF8574 na Arduine, je to také jednoduché, ako pomocou týchto príkladov kódu, ktoré môžete upraviť podľa svojich potrieb:

  • Konfigurácia ako výstup:
#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);
  }
}
  • Konfigurácia ako vstup:
#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);
}

Nezabudnite, že môžete použiť aj knižnica vytvorená špeciálne pre PCF8574 obsahuje aj praktické príklady...


Buďte prvý komentár

Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.