PCF8574: Maidir le Expander I2C I / O do Arduino

PCF8574 TI CHIP

Is cinnte gur chuala tú trácht ar an IC PCF8574, sliseanna is féidir a cheannach ar leithligh nó atá suite cheana ar mhodúl cosúil le go leor eile Comhpháirteanna leictreonacha chun do chomhtháthú le do bhord Arduino a éascú. Sa chás seo, is síneadhóir é ar na hionchuir agus na haschuir le haghaidh an bus I2C.

B’fhéidir go gceapfá go bhfuil a chuid féin ag Arduino cheana féin bus comhtháite I2C, agus is fíor é. Ach is féidir leis an PCF8574 cuidiú leis an mbus sin a leathnú thar theorainneacha do bhoird forbartha, rud a d’fhéadfadh a bheith ina chuidiú mór do roinnt déantúsóirí a dteastaíonn níos mó ná an méid a sholáthraíonn Arduino amháin.

Cad é an bus I2C?

Arduino UNO feidhmeanna millis

Tagann an t-ainm I2C Ciorcad Idir-Chomhtháite nó ciorcaid idir-chomhtháite. Chruthaigh Philips a leagan 1.0 i 1992. Ansin thiocfadh an dara 2.1 i 2000 agus inniu tá sé anois ina chaighdeán (ag 100 kbit / s, cé go gceadaíonn sé suas le 3.4 Mbit / s ar a mhéad) nuair a d’éag an phaitinn i 2006 agus is féidir í a úsáid go saor.

Faoi láthair úsáidtear go forleathan é sa tionscal le haghaidh cumarsáide, agus is mór ag déantóirí freisin as a gcuid tionscadal chun micrea-rialaitheoirí agus forimeallach éagsúla atá comhtháite in IC amháin a chur in iúl.

El Is bus é I2C eolas maith ar chumarsáid sraitheach. Úsáideann sé prótacal cumarsáide sioncrónach nach bhfuil ach 2 bhealach ann (tá an tríú ceann ann, ach tá sé cúpláilte le tagairt nó GND), i ndáiríre tugtar TWI air (Comhéadan Dhá Sreang):

  • Ceann don chlog (SCL).
  • Eile le haghaidh sonraí (SDA).
Is naisc CMOS draein oscailte iad araon agus teastaíonn friotóirí tarraingt suas uathu. Chomh maith leis sin, má tharchuireann gaireas amháin 0 agus ceann eile 1, d’fhéadfadh fadhbanna a bheith ann, mar sin socraítear an líne go 1 (ardleibhéal) i gcónaí agus tarchuireann na feistí 0 (leibhéal íseal) i gcónaí.

Tugann sé sin le tuiscint go bhfuil an máistir agus sclábhaí seolann siad sonraí thar an gcábla nó an rian céanna, atá á rialú ag an gcéad cheann a ghineann an comhartha clog. Sannfar seoladh uathúil do gach ceann de na gairis imeallacha atá ceangailte leis an mbus I2C, d’fhonn na tarchuir a threorú. Ach ní gá go mbeadh an múinteoir mar an gcéanna i gcónaí (il-mhúinteoir), is é an té a thionscnaíonn an t-aistriú i gcónaí.

Mar a mhínigh mé cheana san alt ar I2C Arduino Rinne mé tagairt níos luaithe, tá na naisc I2C seo ag gach bord in áiteanna éagsúla. Is rud é a chaithfidh tú a choinneáil i gcuimhne le go mbeidh tú in ann é a úsáid i gceart i ngach leagan pláta:

  • Arduino UNO: Tá SDA in A4 agus SCK in A5
  • Arduino Nano: mar an gcéanna leis an gceann roimhe seo.
  • Arduino Mini Pro: céanna.
  • Arduino Mega: Tá SDA ar bhioráin 20 agus SCK ar 21.
  • Tuilleadh faisnéise faoi phlátaí.

Tá a fhios agat cheana féin gur féidir leat an I2C a úsáid le haghaidh do sceitsí go héasca, ó tharla an Leabharlann Wire.h le feidhmeanna éagsúla don chumarsáid sraitheach seo:

  • tosú (): cuir tús leis an leabharlann Sreang agus sonraigh más máistir nó sclábhaí í
  • requestFrom (): in úsáid ag an máistir chun sonraí a iarraidh ar an sclábhaí.
  • beginTransmission (): tarchur a thosú le sclábhaí.
  • endTransmission (): tarchur deiridh.
  • scríobh ()- Scríobh sonraí ó sclábhaí mar fhreagra ar iarratas ón máistir, nó is féidir leat tarchur máistir a scuaine.
  • ar fáil (): seolfaidh sé líon na mbeart ar ais le léamh.
  • léigh (): léigh beart a tharchuirtear ó sclábhaí chuig máistir nó a mhalairt.
  • onReceive (): Glaonn sé feidhm nuair a fhaigheann sclábhaí tarchur ó mháistir.
  • ar iarratas (): Glaonn sé feidhm nuair a iarrann sclábhaí sonraí ó mháistir.

go tuilleadh eolais faoi ​​ríomhchlárú agus feidhmeanna Arduino is féidir leat ár Rang teagaisc PDF.

Cad é an PCF8574?

Modúl PCF8574

Is é an PCF8574 a Leathnú ar ionchuir agus aschuir dhigiteacha bus I2C (I / O). Is féidir le déantúsóirí éagsúla é a mhonarú, chomh maith lena chur ar fáil i ICanna agus i modúil. Ar aon chuma, tá sé an-phraiticiúil é a nascadh le do bhord Arduino agus an cumas a bheith aige níos mó feistí a rialú ná mar a cheadaíonn an máthairchlár.

El PinF PCF8574 simplí, ós rud é nach bhfuil ann ach é Pineálacha 8 quasidirectional (P0-P7 ina bhfuil na sceallóga le cumarsáid a dhéanamh ceangailte), agus ar an taobh eile tá an SDA agus SCL agat a chaithfidh tú a nascadh le bord Arduino, chomh maith le VCC agus GND chun an modúl a chumhacht. Agus ná déan dearmad ar na trí bhiorán seoltaí A0, A1, A2 le roghnú cé acu de na gairis a bhfuil an chumarsáid dírithe orthu ...

PinF PCF8574

Úinéireacht gnéithe eile gur chóir go mbeadh a fhios agat:

  • Is féidir a naisc, a bheith ina draein oscailte a úsáidtear mar ionchuir agus mar aschuir.
  • La buaic srutha is é 25mA é nuair a fheidhmíonn sé mar aschur (doirteal, nuair a shreabhann sruth i dtreo PCF8574) agus 300 µA (foinse, sreafaí srutha ó PCF8574).
  • La teannas is é soláthar cumhachta 2.5 agus 6v. Tá an tomhaltas fuireachais an-íseal, gan ach 10 µA ann.
  • Gach aschur bíodh latches agat, an stát a chothabháil gan gá le gníomhartha seachtracha. Ní gá duit ach gníomhú nuair is mian leat an stát a athrú.
  • Is féidir leat 8 a fháil treoracha féideartha, is é sin, suas le 8 bhfeiste chun cumarsáid a dhéanamh le 8 modúl nó iad a úsáid chun é a leathnú go dtí 64 feiste. Is iad na seoltaí (bioráin A0, A1, A2):
    • 000: seoladh 0x20
    • 001: seoladh 0x21
    • 010: seoladh 0x22
    • 011: seoladh 0x23
    • 100: seoladh 0x24
    • 101: seoladh 0x25
    • 110: seoladh 0x26
    • 111: seoladh 0x27
  • Admhálacha cur isteach (INT) le líne speisialta chun sonraí a bhrath gan monatóireacht a dhéanamh i gcónaí.

Comhtháthú le Arduino

Gabháil scáileáin de Arduino IDE

Tá an nasc le Arduino an-simplí, níl le déanamh agat ach Vcc a nascadh le bioráin 5v bhord Arduino, agus GND le GND de Arduino. Ar an láimh eile, is féidir bioráin an mhodúil PCF8574 SDA agus SCL a bheith ceangail le bioráin 14 (A5 SCL) agus 15 (A4 SDA). Ach leis sin a thosódh sé ag obair, is léir gur féidir leat an Px a úsáid chun na gairis is mian leat a chur in iúl a nascadh ...

Ansin ní bheadh ​​sé ar iarraidh ach tosú le sceitse samplach in Arduino IDE. Is féidir leat é a dhéanamh gan leabharlann bhreise a úsáid mar ...

#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);
   }
}

Mar ionchur:

#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);
}

Nó freisin leabharlanna a úsáid, mar an PCF8574 is féidir leat íoslódáil anseo agus bain úsáid as cód cosúil leis seo ón sampla féin a thagann leis an leabharlann seo:

#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() 
{
}


Cloíonn ábhar an ailt lenár bprionsabail eitic eagarthóireachta. Chun earráid a thuairisciú cliceáil anseo.

Bí ar an chéad trácht

Fág do thrácht

Ní thabharfar do sheoladh r-phoist a fhoilsiú. Réimsí riachtanacha atá marcáilte le *

*

*

  1. Freagrach as na sonraí: Miguel Ángel Gatón
  2. Cuspóir na sonraí: SPAM a rialú, bainistíocht trácht.
  3. Legitimation: Do thoiliú
  4. Na sonraí a chur in iúl: Ní chuirfear na sonraí in iúl do thríú páirtithe ach amháin trí oibleagáid dhlíthiúil.
  5. Stóráil sonraí: Bunachar sonraí arna óstáil ag Occentus Networks (EU)
  6. Cearta: Tráth ar bith is féidir leat do chuid faisnéise a theorannú, a aisghabháil agus a scriosadh.