PCF8574: získejte více připojovacích kolíků pro Arduino

pcf8574

Možná jste se dostali do situace, kdy byste rádi rozšířili počet vstupů a výstupů, které máte k dispozici arduino deska, protože provádíte projekt, který potřebuje více zařízení, než se očekávalo. V těchto případech se dalo udělat jediné, a to uvažovat o koupi desky vyššího modelu s více těmito zapojeními. Ale teď s PCF8574 může rozšířit I/O Arduina snadným a levným způsobem.

Zde vám ukážeme, co je PCF8574 pro případ, že byste jej neznali, kromě toho, že si ukážeme, jak jej lze připojit k vaší desce Arduino, krok za krokem vysvětleno a jak to funguje...

Co je PCF8574?

pcf8574

El PCF8574 je digitální vstup a výstup (I/O) expandér pro sběrnici I2C1. Toto zařízení vyrobené společností Philips vám umožňuje připojit procesor, jako je Arduino, a ovládat více zařízení pomocí méně pinů2. PCF8574 obsahuje 8 kvazi-směrových kolíků založených na výstupech CMOS v konfiguraci s otevřeným kanálem.

Kromě toho je PCF8574 zařízení s nízkou spotřebou, které podporuje operace VCC od 2.5V do 6V. Vyznačuje se 8bitovým kvazi-obousměrným I/O portem, zablokovanými výstupy, výstupem přerušení s otevřeným odběrem a schopností řízení vysokého proudu pro LED. Na druhou stranu jeho spotřeba v pohotovostním režimu je velmi nízká, méně než 10 µA.

Je to velmi užitečné pro Rozšiřte možnosti své desky Arduino za její hranice, což může být velkou pomocí pro tvůrce, kteří potřebují něco víc, než nabízí Arduino. Maximální proud, který může každý kolík dodat, bude záviset na konfiguraci:

  • Když funguje jako výstup, je to 25 mA, když funguje jako jímka, to znamená, když elektrický proud teče do PCF8574. Toto je výchozí konfigurace.
  • Když funguje jako zdroj, je to 300 µA, to znamená, když proud teče z PCF8574. Stejně tak musíte vědět, že všechny výstupy mají Latche, to znamená, že samy udržují stav v registru. Musíme jednat pouze tehdy, když chceme upravit stav jednoho z výstupů.

Komunikace je hotová přes I2C sběrnici, takže je snadné získat data z připojených zařízení. Stejně tak je třeba poznamenat, že má 3 adresní piny, což dává 8 možných připojení ke stejné I2C sběrnici. To znamená, že je možné ovládat 64 zařízení pouze pomocí 2 pinů.

Nastavení adresy

Některé modely tohoto modulu PCF8574 obvykle obsahují konfigurační kolíky a propojky, jako jsou ty, které vidíte na obrázku výše. Na druhou stranu jiné modely obsahují vypínač, který ulehčí práci se třemi mikrospínači... Ať je to jak chce, jsou zvyklí konfigurovat adresy I/O pinů:

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 koupit

Dá se sehnat za pár eur. Je to zařízení celkem levné na to, jak praktické to může být u některých modelů Arduino, které mají nižší počet I/O. Pokud tedy sháníte PCF8574, seženete jej ve specializovaných prodejnách nebo také na velkých online platformách jako Amazon, Aliexpress nebo eBay. Zde například doporučujeme jeden:

Připojení PCF8574 k Arduinno

na připojte expandér PCF8574 k vaší desce Arduino, Schéma zapojení je poměrně jednoduché. Budete se muset připojit pouze:

  • Pin SCL označený na desce PCF8574 k pinu SCL Arduina. Tento kolík se může měnit v závislosti na modelu, ale obvykle je na A5 u populárnějších modelů, jako je UNO.
  • SDA pin expandéru se musí spojit s SDA pinem Arduina. Totéž, co jsem zmínil výše, může se měnit v závislosti na modelu, ale obecně je to A4. V případě pochybností zkontrolujte pinout vašeho modelu.
  • GND pin PCF8574 bude samozřejmě připojen k tomu označenému GND na Arduinu, tedy je to zemní spojení.
  • Pin Vcc expandéru je připojen k 5V Arduina, tímto způsobem jsme s GND a Vcc již napájeli desku expandéru, aby mohla začít pracovat.

operace

Jakmile je PCF8574 připojen k desce Arduino, nyní je čas to vědět jak to funguje. Chcete-li to provést, musíte mít na paměti, že budete moci mít 8 pinů navíc, výměnou za použití dvou pinů Arduino navíc k napájecím. Na druhou stranu musíte mít něco na paměti, a to, že na každém z těch 8 pinů PCF8574 máte MOSFET tranzistor spolu s velmi nízkým odporem pull-up rezistoru. To předpokládá intenzitu proudu 100 mikroA, když je tranzistor aktivní.

A zbývá nám následující panorama:

  • Konfigurace jako výstup- Když je kolík použit jako výstup, funguje jako proudová jímka, jak jsem mluvil výše, tj. proud teče dovnitř.
    • NÍZKÁ: Při nízkém napětí nevede proud, zátěž = Vdd.
    • VYSOKÉ: při vysokém napětí může procházet proud až 25 mA, zátěž bude připojena k GND.
  • Konfigurace jako vstup: musí být vždy nastaven na VYSOKÝ a v tomto případě bude fungovat jako zdroj, to znamená, že proud vyteče.
    • Zavřeno: Když externí zátěž není dána, napětí na kolíku jde na GND.
    • abierta: Když dojde k externí zátěži, napětí na kolíku se změní na Vdd.

Arduino IDE kód

Arduino IDE, datové typy, programování

Pokud chcete, jsou některé příklady toho, jak vytvořit kód pro použití tohoto PCF8574 na Arduinu, je to stejně jednoduché jako použití těchto příkladů kódu, které můžete upravit podle svých potřeb:

  • Konfigurace jako 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);
  }
}
  • Konfigurace jako 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);
}

Nezapomeňte, že můžete také použít knihovna vytvořená speciálně pro PCF8574 včetně praktických ukázek...


Buďte první komentář

Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.