PCF8574: hankige Arduino jaoks rohkem ühendustihvte

pcf8574

Võib-olla olete sattunud olukorda, kus soovite laiendada teile saadaolevate sisendite ja väljundite arvu arduino tahvel, kuna teostate projekti, mis vajab oodatust rohkem seadmeid. Sellistel juhtudel saate teha ainult ühte asja, see on mõelda kõrgema mudeli plaadi ostmisele, millel on rohkem selliseid ühendusi. Aga nüüd koos PCF8574 võib laiendada Arduino sisendit / väljundit lihtsal ja odaval viisil.

Siin näitame teile, mis on PCF8574 juhuks, kui te seda ei teadnud, lisaks näitame, kuidas seda saab oma Arduino plaadiga ühendada ja kuidas see samm-sammult lahti seletatakse ja kuidas see töötab...

Mis on PCF8574?

pcf8574

El PCF8574 on digitaalse sisendi ja väljundi (I/O) laiendaja I2C1 siinile. See Philipsi toodetud seade võimaldab teil ühendada protsessori (nt Arduino), et juhtida rohkem seadmeid, kasutades vähem kontakte2. PCF8574 sisaldab 8 kvaasisuunalist kontakti, mis põhinevad avatud äravoolu konfiguratsioonis CMOS-väljunditel.

Lisaks on PCF8574 vähese energiatarbega seade, mis toetab VCC toiminguid 2.5 V kuni 6 V. Sellel on 8-bitine kvaasi-kahesuunaline I/O-port, lukustatud väljundid, avatud äravoolukatkestuse väljund ja LED-ide suure voolu juhtimise võimalus. Teisest küljest on selle ooterežiimi tarbimine väga madal, alla 10 µA.

See on väga kasulik Laiendage oma Arduino tahvli võimalusi väljaspool selle piire, mis võib olla suureks abiks loojatele, kes vajavad midagi enamat, kui Arduino pakub. Maksimaalne vool, mida iga kontakt võib anda, sõltub konfiguratsioonist:

  • Kui see toimib väljundina, on see 25 mA, kui see toimib valamuna, st kui elektrivool voolab PCF8574-sse. See on vaikekonfiguratsioon.
  • Kui see toimib allikana, on see 300 µA, st kui vool voolab PCF8574-st. Samuti peate teadma, et kõigil väljunditel on riivid, see tähendab, et nad säilitavad oleku ise registris. Peame tegutsema ainult siis, kui tahame ühe väljundi olekut muuta.

Suhtlemine toimub I2C bussi kaudu, seega on sellega ühendatud seadmetest lihtne andmeid hankida. Samuti tuleb märkida, et sellel on 3 aadressiviiku, mis annab 8 võimalikku ühendust sama I2C siiniga. See tähendab, et ainult 64 kontakti abil on võimalik juhtida 2 seadet.

Aadressi seaded

Mõned selle PCF8574 mooduli mudelid sisaldavad tavaliselt konfiguratsioonitihvte ja džempreid, nagu need, mida näete ülaloleval pildil. Teistel mudelitel on seevastu lüliti, mis teeb asja lihtsamaks kolme mikrolülitiga... Olgu kuidas on, nad on harjunud aadressid konfigureerida I/O kontaktidest:

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

Hind ja kust osta

Selle leiab vaid mõne euro eest. See on seade üsna odav selle kohta, kui praktiline see võib olla mõne Arduino mudeli puhul, millel on väiksem I/O-de arv. Nii et kui otsite PCF8574, leiate selle spetsialiseeritud kauplustest või ka suurtelt veebiplatvormidelt, nagu Amazon, Aliexpress või eBay. Näiteks siin soovitame ühte:

PCF8574 ühendamine Arduinnoga

et ühendage PCF8574 laiendaja oma Arduino plaadiga, Ühendusskeem on üsna lihtne. Peate ühendama ainult:

  • PCF8574 plaadil märgitud SCL-tihvt Arduino SCL-viigu külge. See tihvt võib olenevalt mudelist muutuda, kuid on tavaliselt A5-l populaarsemate mudelite puhul, nagu UNO.
  • Laiendaja SDA tihvt peab olema ühendatud Arduino SDA tihvtiga. Sama, mida ma eespool mainisin, see võib sõltuvalt mudelist muutuda, kuid üldiselt on see A4. Kui kahtlete, kontrollige oma mudeli pinouti.
  • PCF8574 GND pin ühendatakse loomulikult Arduino GND-ga, see tähendab, et see on maandusühendus.
  • Laiendaja Vcc pin on ühendatud Arduino 5V-ga, nii oleme GND ja Vcc-ga laiendajaplaadi juba toite andnud, et see tööle hakkaks.

töö

Kui PCF8574 on Arduino plaadiga ühendatud, on nüüd aeg teada saada kuidas see töötab. Selleks peate meeles pidama, et teil on võimalik kasutada 8 täiendavat tihvti, vastutasuks selle eest, et olete lisaks võimsatele kasutanud kahte Arduino tihvti. Teisest küljest peate midagi meeles pidama, see tähendab, et PCF8 igal 8574 viigul on MOSFET-transistor koos väga madala takistusega tõmbetakistiga. See eeldab voolutugevust 100 mikroA, kui transistor on aktiivne.

Ja see jätab meile järgmise panoraami:

  • Konfiguratsioon väljundina- Kui kontakti kasutatakse väljundina, toimib see voolu neelajana, nagu ma eespool rääkisin, st vool voolab sisse.
    • LOW: Madalpingel ei juhi see voolu, koormus = Vdd.
    • KÕRGE: kõrge pinge korral võib läbida kuni 25 mA voolu, ühendatakse koormus GND-ga.
  • Konfiguratsioon sisendiks: see peab olema alati seatud väärtusele HIGH ja sel juhul toimib see allikana, see tähendab, et vool voolab välja.
    • Suletud: Kui välist koormust ei anta, läheb kontakti pinge GND-le.
    • Avatud: Välise koormuse korral muutub kontakti pinge Vdd.

Arduino IDE kood

Arduino IDE, andmetüübid, programmeerimine

Kui soovite, on mõned näited selle kohta, kuidas luua koodi selle PCF8574 kasutamiseks Arduinos, on sama lihtne kui kasutada neid koodinäiteid, mida saate vastavalt oma vajadustele muuta:

  • Konfiguratsioon väljundina:
#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);
  }
}
  • Konfiguratsioon sisendiks:
#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);
}

Pidage meeles, et saate kasutada ka spetsiaalselt PCF8574 jaoks loodud teek mis sisaldab ka praktilisi näiteid…


Ole esimene kommentaar

Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.