PCF8574: Banyere I2C I / O Expander maka Arduino

PCF8574 TI CHIP

Heard nụla nke ọma na IC PCF8574, mgbawa nwere ike ịzụta iche iche ma ọ bụ tinyeworị na modul dị ka ọtụtụ ndị ọzọ Ihe eletrọniki iji kwado ntinye gị na bọọdụ Arduino gị. N'okwu a, ọ bụ onye na - eme ntinye na ntinye maka ụgbọ ala I2C.

I nwere ike iche na Arduino enweela nke ya integrated I2C ụgbọ ala, na ọ bụ eziokwu. Mana PCF8574 nwere ike inye aka ịgbatị ụgbọ ala ahụ gafere ókè nke bọọdụ mmepe gị, nke nwere ike bụrụ nnukwu enyemaka nye ụfọdụ ndị nrụpụta chọrọ karịa naanị ihe Arduino na-enye.

Kedu ihe bụ ụgbọ ala I2C?

Arduino UNO ọrụ millis

Aha I2C sitere na Njikọ Njikọ Njikọ Njikọ ma ọ bụ inter-integrated sekit. Ejiri 1.0 ya na 1992 site na Philips. Mgbe ahụ, 2.1 nke abụọ ga-abịa na 2000 ma taa ọ ghọọ ọkọlọtọ (na 100 kbit / s, ọ bụ ezie na ọ na-enye ohere ruo 3.4 Mbit / s kacha) mgbe patent ahụ gwụrụ na 2006 ma nwee ike iji ya mee ihe.

Ugbu a ọ na ọtụtụ-eji ụlọ ọrụ maka nkwukọrịta, ma na-enwekwa ekele dị ukwuu maka ndị na-eme ihe maka ọrụ ha iji kwurịta okwu microcontrollers dị iche iche na akụkụ ndị agbakwunyere n'otu IC.

El I2C bụ ụgbọ ala a maara nke ọma site na nkwukọrịta usoro. Ọ na-eji usoro mmekọrịta nkwukọrịta nwere naanị ọwa 2 (enwere nke atọ, mana ọ na-esonyere aka ma ọ bụ GND), n'ezie a makwaara ya dị ka TWI (Interface Waya abụọ):

  • Otu maka elekere (SCL).
  • Ndị ọzọ maka data (SDA).
Ha abụọ meghere njikọ CMOS ma chọọ ndị nkwụsịrị mgbapụ. Ọzọkwa, ọ bụrụ na otu ngwaọrụ na-ebufe 0 na nke ọzọ 1, enwere ike inwe nsogbu, ọ bụ ya mere edoziri ahịrị ahụ na 1 (ọkwa dị elu) yana ngwaọrụ na - ebufe 0 (ọkwa dị ala).

Nke ahụ na-egosi na nna ukwu na ohu ha na-eziga data n’elu otu eriri ma ọ bụ egwu ahụ, nke nke mbụ na-achịkwa nke na-ewepụta akara elekere. Onye ọ bụla n'ime ngwaọrụ ndị metụtara na bọs I2C ga-enwe adreesị pụrụ iche e kenyere, iji duzie nnyefe ndị ahụ. Mana ọ dịghị mkpa na nna ukwu ahụ bụ otu ihe ahụ (multi-master), ọ bụ mgbe niile ka ọ na-ebugharị mbufe ahụ.

Dika m kowara na ederede na Arduino I2C Edere m na mbụ, bọọdụ nke ọ bụla nwere njikọ I2C ndị a na ebe dị iche iche. Ọ bụ ihe ị ga-eburu n'uche iji nwee ike iji ya nke ọma na ụdị ọ bụla nke efere ahụ:

  • Arduino UNO: SDA dị na A4 na SCK na A5
  • Arduino Nano: dika nke gara aga.
  • Arduino Mini Pro: otu.
  • Arduino Mega: SDA dị na ntụtụ 20 na SCK na 21.
  • Ozi ndi ozo banyere efere.

Maraworị na ị nwere ike iji I2C maka eserese gị ngwa ngwa, ebe ọ bụ na Ọbá akwụkwọ Wire.h nwere ọrụ dịgasị iche iche maka nkwukọrịta serial a:

  • bido (): bido n'ọbá akwụkwọ Waya ma dee ma ọ bụ nna ukwu ma ọ bụ ohu
  • rịọ ((): nna ukwu jiri rịọ data n'aka ohu ahụ.
  • Mbido (): malite nnyefe na ohu.
  • njedebe (Nzipu (): njedebe nnyefe.
  • dee ()- Dee data sitere n'aka ohu na nzaghachi nke nna ya ukwu, ma ọ bụ ịnwere ike kwụba nnyefe nnabata.
  • dị (): ga-eweghachi ọnụ ọgụgụ nke bytes ka ị gụọ.
  • gụọ (): gụọ baiti sitere n'aka ohu gaa nna ukwu ma ọ bụ nke ọzọ.
  • natara (): Kpọọ ọrụ mgbe ohu na-enweta nnyefe n'aka nna ya ukwu.
  • onRequest (): Kpọọ ọrụ mgbe ohu na-arịọ data n'aka nna ya ukwu.

para ozi ndị ọzọ banyere mmemme Arduino na ọrụ ị nwere ike ibudata nke anyị PDF nkuzi.

Gịnị bụ PCF8574?

PCF8574 modul

PCF8574 na-bụ Ntinye ụgbọ ala dijitalụ I2C na ntinye (I / O) gbasaa. Enwere ike imepụta ya site na ndị nrụpụta dị iche iche, na mgbakwunye ịnwe ya dị na ICs na modulu. N'ọnọdụ ọ bụla, ọ bara uru ijikọ ya na bọọdụ Arduino gị ma nwee ikike ịchịkwa ngwaọrụ karịa ka motherboard nyere.

El PCF8574 pinout Ọ dị mfe, ebe ọ bụ naanị ya gụnyere 8 pines quasi-directional (P0-P7 ebe ibe na-ekwurịta okwu na-ejikọrọ), na aka nke ọzọ i nwere SDA na SCL na ị ga-ejikọ na Arduino osisi, yana VCC na GND nwekwara ike modul. Echefukwala atọ na-ekwu okwu A0, A1, A2 ịhọrọ nke n'ime ngwaọrụ nkwukọrịta na-eduga na ...

Ọnụahịa kasị elu nke PCF8574

Ndi nwere ihe ndi ozo na i kwesiri ima:

  • Njikọ ya, ịbụ oghere na-emeghe, nwere ike ịbụ ejiri dị ka ntinye na ntinye.
  • La elu ugbu a ọ bụ 25mA mgbe ọ na-arụ ọrụ dị ka mmepụta (sink, mgbe ugbu a na-asọba PCF8574) na 300 (A (isi mmalite, na-aga ugbu a site na PCF8574).
  • La nchegbu ọkọnọ bu 2.5 na 6v. Ihe nkwụnye nguzo dị oke ala, naanị 10 µA.
  • All ndapụta nwee latches, iji kwado steeti na-enweghị mkpa maka mpụga omume. Only ga-eme ihe naanị mgbe ịchọrọ ịgbanwe steeti.
  • Nwere ike nweta 8 enwere ike ịnweta, nke ahụ bụ, ihe ruru 8 ngwaọrụ iji kpọtụrụ ma ọ bụ jiri 8 modul iji gbasaa ya ruo ngwaọrụ 64. Adreesị (pin A0, A1, A2) ga-abụ:
    • 000: Adreesị 0x20
    • 001: Adreesị 0x21
    • 010: Adreesị 0x22
    • 011: Adreesị 0x23
    • 100: Adreesị 0x24
    • 101: Adreesị 0x25
    • 110: Adreesị 0x26
    • 111: Adreesị 0x27
  • Na-ekweta nkwụsị (INT) site na akara pụrụ iche iji chọpụta data na-enweghị nlekota oge niile.

Mmekọrịta na Arduino

Nseta ihuenyo nke Arduino IDE

Njikọ ya na Arduino dị mfe, ị ga-ejikọ Vcc na pin 5v nke bọọdụ Arduino, yana GND na GND nke Arduino. N'aka nke ọzọ, mkpọ nke PCF8574 SDA na SCL modul nwere ike ịbụ jikọọ na atụdo 14 (A5 SCL) na 15 (A4 SDA). Naanị na ọ ga-amalite ịrụ ọrụ, doro anya na ị nwere ike iji Px jikọọ ngwaọrụ ịchọrọ ịkọrịta ...

Mgbe ahụ ọ ga-efu efu malite na ihe osise eserese na Arduino IDE. Nwere ike ịme ya na-enweghị iji ọbá akwụkwọ ọzọ dị ka ...

#include <Wire.h>
 
const int address = 0x38;
 
void setup()
{
   Wire.begin();
   Serial.begin(9600);
}
 
void loop()
{
   for (short channel = 0; channel < 8; channel++)
   {
      // Escribir dato en cada uno de los 8 canales
      Wire.beginTransmission(address);
      Wire.write(~(1 << channel));
      Wire.endTransmission();
      
      // Lee dato del canal
      delay(500);
   }
}

Dị ka ọsọ ọsọ:

#include <Wire.h>
 
const int address = 0x38;
 
void setup()
{
   Wire.begin();
   Serial.begin(9600);
}
 
void loop()
{
   short channel = 1;
   byte value = 0;
 
   // Leer el dato del canal
   Wire.requestFrom(pcfAddress, 1 << channel);
   if (Wire.available())
   {
      value = Wire.read();
   }
   Wire.endTransmission();
 
   // Mostrar el valor leido por el monitor serie
   Serial.println(value);
}

Ma ọ bụ jiri ọba akwụkwọ, dị ka PCF8574 nke ị nwere ike budata ebe a ma jiri koodu yiri nke a site na ihe atụ n'onwe ya nke na-abịa na ọbá akwụkwọ a:

#include <Wire.h>
#include "PCF8574.h"
 
PCF8574 expander;
 
void setup() 
{
  Serial.begin(9600);
  
  expander.begin(0x20);
  
  /* Setup some PCF8574 pins for demo */
  expander.pinMode(0, OUTPUT);
  expander.pinMode(1, OUTPUT);
  expander.pinMode(2, OUTPUT);
  expander.pinMode(3, INPUT_PULLUP);
 
  /* Blink hardware LED for debug */
  digitalWrite(13, HIGH);  
  
  /* Toggle PCF8574 output 0 for demo */
  expander.toggle();
  
  /* Blink hardware LED for debug */
  digitalWrite(13, LOW);
}
 
 
 
void loop() 
{
}


Ọdịnaya nke isiokwu agbaso ụkpụrụ anyị nke ụkpụrụ nduzi. Kpesa mmejọ pịa ebe a.

Bụrụ onye mbụ ịza ajụjụ

Hapu okwu gi

Adreesị email gị agaghị bipụtara. Chọrọ ubi na-akara na *

*

*

  1. Rụ ọrụ maka data: Miguel Ángel Gatón
  2. Nzube nke data: Nchịkwa SPAM, njikwa okwu.
  3. Ikike: Nkwenye gị
  4. Nkwurịta okwu nke data: Agaghị agwa ndị ọzọ data ahụ ma ọ bụghị site na iwu.
  5. Nchekwa data: Ebe nchekwa data nke Occentus Networks (EU) kwadoro
  6. Ikike: Oge obula inwere ike igbachi, weghachite ma hichapụ ihe omuma gi.