PCF8574: iegūstiet vairāk savienojuma tapu priekš Arduino

pcf8574

Iespējams, esat nonācis situācijā, kad vēlaties paplašināt sev pieejamo ieeju un izvadu skaitu arduino dēlis, jo jūs veicat projektu, kuram nepieciešams vairāk ierīču, nekā paredzēts. Šādos gadījumos jūs varētu darīt tikai vienu lietu, proti, padomāt par augstāka modeļa dēļa iegādi ar vairāk šādu savienojumu. Bet tagad ar PCF8574 var paplašināt Arduino I/O vienkāršā un lētā veidā.

Šeit mēs parādīsim, kas ir PCF8574, ja jūs to nezināt, kā arī parādīsim, kā to var savienot ar jūsu Arduino plati un kā tas darbojas...

Kas ir PCF8574?

pcf8574

El PCF8574 ir digitālās ievades un izejas (I/O) paplašinātājs I2C1 kopnei. Šī Philips ražotā ierīce ļauj pievienot procesoru, piemēram, Arduino, lai kontrolētu vairāk ierīču, izmantojot mazāk kontaktu2. PCF8574 ir iekļauti 8 kvazi-virziena tapas, kuru pamatā ir CMOS izejas atvērtā kanalizācijas konfigurācijā.

Turklāt PCF8574 ir mazjaudas ierīce, kas atbalsta VCC darbības no 2.5 V līdz 6 V. Tam ir 8 bitu kvazi-divvirzienu I/O ports, fiksētas izejas, atvērta aizplūšanas pārtraukuma izvade un lielas strāvas vadīšanas iespēja gaismas diodēm. No otras puses, tā patēriņš gaidīšanas režīmā ir ļoti zems, mazāks par 10 µA.

Tas ir ļoti noderīgs Paplašiniet savas Arduino plates iespējas, pārsniedzot tās robežas, kas var būt lielisks palīgs satura veidotājiem, kuriem nepieciešams kaut kas vairāk, nekā piedāvā Arduino. Maksimālā strāva, ko var piegādāt katra tapa, būs atkarīga no konfigurācijas:

  • Kad tas darbojas kā izeja, tas ir 25 mA, kad tas darbojas kā izlietne, tas ir, kad elektriskā strāva plūst uz PCF8574. Šī ir noklusējuma konfigurācija.
  • Kad tas darbojas kā avots, tas ir 300 µA, tas ir, kad strāva plūst no PCF8574. Tāpat jums jāzina, ka visiem izvadiem ir fiksatori, tas ir, tie paši uztur stāvokli reģistrā. Mums ir jārīkojas tikai tad, kad vēlamies mainīt vienas izejas stāvokli.

Komunikācija ir veikta caur I2C autobusu, tāpēc ir viegli iegūt datus no tai pievienotajām ierīcēm. Tāpat jāatzīmē, ka tai ir 3 adreses tapas, kas nodrošina 8 iespējamos savienojumus ar to pašu I2C kopni. Tas nozīmē, ka ir iespējams vadīt 64 ierīces, izmantojot tikai 2 tapas.

Adreses iestatījumi

Dažos šī PCF8574 moduļa modeļos parasti ir konfigurācijas tapas un džemperi, piemēram, tie, kas redzami attēlā iepriekš. Savukārt citos modeļos ir iekļauts slēdzis, kas ar trim mikroslēdžiem atvieglo darbu... Lai kā arī būtu, tie ir pieraduši konfigurēt adreses no I/O tapām:

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

Precio y dónde salīdzinātājs

To var atrast tikai par dažiem eiro. Tā ir ierīce diezgan lēti par to, cik praktiski tas var būt dažiem Arduino modeļiem, kuriem ir mazāks I/O skaits. Tātad, ja meklējat PCF8574, varat to atrast specializētos veikalos vai arī lielās tiešsaistes platformās, piemēram, Amazon, Aliexpress vai eBay. Piemēram, šeit mēs iesakām vienu:

PCF8574 pievienošana Arduinno

līdz savienojiet PCF8574 paplašinātāju ar savu Arduino plati, Savienojuma shēma ir diezgan vienkārša. Jums būs jāpievieno tikai:

  • SCL tapa, kas atzīmēta uz PCF8574 plates, ar Arduino SCL tapu. Šī tapa var mainīties atkarībā no modeļa, bet parasti tā ir uz A5 populārākajos modeļos, piemēram, UNO.
  • Paplašinātāja SDA tapai ir jābūt savienotai ar Arduino SDA tapu. Tas pats, ko es minēju iepriekš, tas var mainīties atkarībā no modeļa, bet parasti tas ir A4. Ja rodas šaubas, pārbaudiet sava modeļa spraudni.
  • PCF8574 GND tapa, protams, tiks savienota ar to, kas atzīmēta ar GND uz Arduino, tas ir, tas ir zemējuma savienojums.
  • Paplašinātāja Vcc tapa ir savienota ar Arduino 5 V, tādā veidā ar GND un Vcc mēs jau esam padevuši paplašinātāja plati, lai tā varētu sākt darboties.

darbība

Kad PCF8574 ir savienots ar Arduino plati, tagad ir pienācis laiks uzzināt kā tas darbojas. Lai to izdarītu, jums jāpatur prātā, ka jums būs iespēja iegūt 8 papildu tapas apmaiņā pret divu Arduino tapu izmantošanu papildus jaudas tapām. No otras puses, jums kaut kas jāpatur prātā, proti, katrā no šīm 8 PCF8574 tapām ir MOSFET tranzistors un ļoti zemas pretestības vilkšanas rezistors. Tas pieņem, ka strāvas intensitāte ir 100 mikroA, kad tranzistors ir aktīvs.

Un tas mums atstāj šādu panorāmu:

  • Konfigurācija kā izvade- Kad tapa tiek izmantota kā izeja, tā darbojas kā strāvas izlietne, kā jau iepriekš minēju, t.i., strāva ieplūst.
    • LOW: zema sprieguma gadījumā tas nevada strāvu, slodze = Vdd.
    • AUGSTS: pie augsta sprieguma var iziet līdz 25 mA strāva, slodze tiks pievienota GND.
  • Konfigurācija kā ievade: tam vienmēr jābūt iestatītam uz HIGH, un šajā gadījumā tas darbosies kā avots, tas ir, strāva izplūst.
    • Slēgts: Ja ārējā slodze netiek dota, spriegums uz tapas nonāk GND.
    • Atvērt: Kad rodas ārēja slodze, tapas spriegums mainās uz Vdd.

Arduino IDE kods

Arduino IDE, datu tipi, programmēšana

Ja vēlaties, ir daži piemēri, kā izveidot kodu, lai izmantotu šo PCF8574 uz Arduino, tas ir tikpat vienkārši, kā izmantot šos kodu piemērus, kurus varat mainīt atbilstoši savām vajadzībām:

  • Konfigurācija kā izvade:
#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ācija kā ievade:
#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);
}

Atcerieties, ka varat izmantot arī bibliotēka, kas izveidota speciāli PCF8574 kurā iekļauti arī praktiski piemēri…


Esi pirmais, kas komentārus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.