PCF8574: Ku saabsan I2C I / O Ballaarinta Arduino

PCF8574 TI CHIP

Xaqiiqdii waad maqashay PCF8574 IC, Chip si gooni gooni ah loo iibsan karo ama horeyba loogu dhejiyay module sida kuwa kale oo badan Qaybaha elektarooniga ah si loo fududeeyo isdhexgalkaaga guddiga Arduino. Xaaladdan oo kale, waa fidinta wax-soo-saarka iyo wax-soo-saarka loogu talagalay baska I2C.

Waxaad u maleyn kartaa in Arduino uu horey u lahaa tiisa isku dhafan baska I2C, waana run. Laakiin PCF8574 ayaa kaa caawin kara kordhinta baskaas wixii ka baxsan xadka guddiga horumarkaaga, taas oo wax weyn ka tari karta qaar sameeyaasha ah oo u baahan in ka badan inta Arduino ay bixiso.

Waa maxay baska I2C?

Arduino UNO hawlaha millis

Magaca I2C wuxuu ka yimid Isku-Darka Isku-dhafan ama wareegyo isku dhafan. Noociisa 1.0 waxaa abuuray 1992 Philips. Kadib 2.1 labaad ayaa imaan lahaa 2000 maantana waxay noqotay halbeeg (100 kbit / s, in kastoo ay ogolaaneyso ilaa 3.4 Mbit / s ugu badnaan) markii shatiga uu dhacay 2006 oo si xor ah loo isticmaali karo.

Waqtigan xaadirka ah waxaa si ballaaran loogu adeegsadaa warshadaha isgaarsiinta, iyo sidoo kale aad ayey ugu riyaaqeen kuwa sameeya mashruucyadooda si ay ula xiriiraan microcontrollers kala duwan iyo aagag isku dhafan hal IC ah.

El I2C waa bas si fiican looga yaqaan isgaarsiinta taxanaha ah. Waxay isticmaashaa borotokool isgaarsiineed oo isku mid ah oo leh kaliya kanaalada 2 (waxaa jira seddexaad, laakiin waxay ku xiran tahay tixraac ama GND), dhab ahaantii waxaa sidoo kale loo yaqaan TWI (Laba Wajiile Wajigooda):

  • Mid saacadda (SCL).
  • Kale oo loogu talagalay xogta (SDA).
Labaduba waa iskuxirayaasha isku xira CMOS-ka waxayna ubaahan yihiin iska caabin-jireyaal. Sidoo kale, haddii hal aalad u kala qaado 0 iyo mid kale 1, dhibaatooyin ayaa ka dhalan kara, sidaa darteed khadka ayaa had iyo jeer loo dejiyaa 1 (heer sare ah) aaladuhuna marwalba waxay gudbiyaan 0 (heer hoose).

Taasi waxay tusinaysaa in sayid iyo addoon waxay ku diraan xog isku fiil ama xariijin, taas oo ay maamusho tan ugu horeysa ee dhalisa signalka saacadda. Mid kasta oo ka mid ah qalabka durugsan ee ku xiran baska I2C wuxuu lahaan doonaa cinwaan u gaar ah oo loo xilsaaray, si loo hago gudbinta. Laakiin looma baahna in macalinku had iyo jeer isku mid yahay (macalin badan), had iyo jeer waa kan bilaaba kala wareejinta.

Sidaan horeyba ugu sharaxay maqaalka on Arduino I2C Hore ayaan u tixraacay, guddi kasta wuxuu leeyahay xiriiriyadan I2C meelo kala duwan. Waa wax ay tahay inaad maskaxda ku hayso inaad awood u leedahay inaad si habboon ugu isticmaasho nooc kasta oo ka mid ah saxanka:

Waxaad horeyba u ogayd inaad u isticmaali karto I2C sawiradaada si fudud, tan iyo Maktabada Wire.h oo leh hawlo kala duwan oo loogu talagalay isgaarsiinta taxanaha ah:

  • bilow (): bilow maktabadda siligga oo caddee inay tahay sayid ama addoon
  • codsi Ka yimid (): waxaa isticmaalay sayidku inuu ka codsado xogta addoonka.
  • Gudbinta (): bilaw gudbinta addoonka.
  • dhamaadka gudbinta (): gudbinta dhamaadka.
  • qor ()- Ka qor xog addoon adoo ka jawaabaya codsi ka yimid sayidka, ama waxaad saf u geli kartaa gudbinta sayidka.
  • la heli karo (): soo celin doonaa tirada baytka si loo akhriyo.
  • akhri (): akhri halbeeg laga soo gudbiyey addoon sayidkiisa ah ama lid ku ah.
  • onReceive (): Wicitaan ayuu u yeeraa marka addoonku ka helo gudbinta sayid.
  • onRequest (): Wicitaan ayuu u yeeraa markuu addoonku xog ka codsado sayid.

para macluumaad dheeraad ah ku saabsan barnaamijka Arduino iyo howlaha aad kala soo soo bixi karto annaga Barashada PDF.

Waa maxay PCF8574?

PCF8574 module

PCF8574 waa a Wax soosaarka dhijitaalka ah ee I2C iyo wax soo saarka (I / O) ballaadhiyaha. Waxaa soo saari kara soo saarayaal kala duwan, marka lagu daro helitaanka ICs iyo modules. Si kastaba xaalku ha ahaadee, waa wax aad u macquul ah inaad ku xirto guddigaaga Arduino oo aad awood u leedahay inaad xakameyso aalado ka badan inta Motherboardku oggol yahay.

El PCF8574 xiisaha waa sahlan tahay, maadaama ay kaliya ku jirto Geedaha 8 jiho-ku-meel-gaar ah (P0-P7 halka ay jajabku ku xiriiraan ay ku xiran yihiin), dhanka kalena waxaad leedahay SDA iyo SCL oo ay tahay inaad ku xirnaato guddiga Arduino, iyo sidoo kale VCC iyo GND si ay sidoo kale u xoojiyaan moduleka. Ha iloobin saddexda biin ee wax ka qabanaya A0, A1, A2 si aad u doorato mid ka mid ah aaladaha isgaarsiinta loogu talagalay ...

PCF8574 xiisaha

Kuwa iska leh astaamaha kale inaad ogaato:

  • Isku-xirnaanta, oo ah furitaanka furan, waxay noqon kartaa loo adeegsaday wax soo saar ahaan iyo wax soo saar ahaanba.
  • La heerka ugu sarreeya waa 25mA markay u shaqeyso sidii wax soo saar (saxanka, marka ay hadda u socoto dhanka PCF8574) iyo 300 (A (isha, hadda waxay ka socotaa PCF8574).
  • La xiisad korontada waa 2.5 iyo 6v. Isticmaalka istaagga waa mid aad u hooseeya, kaliya 10 µA.
  • Dhammaan wax soo saarka leeyihiin latches, in la ilaaliyo gobolka iyada oo aan loo baahnayn ficil dibadeed. Kaliya waa inaad wax qabataa markaad rabto inaad bedesho gobolka.
  • Waxaad heli kartaa 8 tilmaamaha suuragalka ah, taasi waa, ilaa 8 aalad oo lagula xiriiro ama la adeegsado 8 module si loo balaariyo ilaa 64 aalad. Cinwaanada (biinanka A0, A1, A2) waxay noqon doonaan:
    • 000: cinwaanka 0x20
    • 001: cinwaanka 0x21
    • 010: cinwaanka 0x22
    • 011: cinwaanka 0x23
    • 100: cinwaanka 0x24
    • 101: cinwaanka 0x25
    • 110: cinwaanka 0x26
    • 111: cinwaanka 0x27
  • Qirayaa kala go ' (INT) khad gaar ah si loo ogaado xogta iyada oo aan si joogto ah loola socon.

Isdhexgalka Arduino

Muuqaalka shaashadda ee Arduino IDE

Xidhiidhka lala leeyahay Arduino waa mid aad u fudud, kaliya waa inaad kuxirataa Vcc-ka 5 pin ee guddiga Arduino, iyo GND oo leh GND of Arduino. Dhinaca kale, biinanka PCF8574 SDA iyo moduleka SCL ayaa noqon kara ku xir biinanka 14 (A5 SCL) iyo 15 (A4 SDA). Kaliya taas waxay bilaabi laheyd inay shaqeyso, sida iska cad waxaad u isticmaali kartaa Px si aad ugu xirto aaladaha aad rabto inaad la xiriirto ...

Markaas waa la waayi lahaa oo keliya ku bilow tusaale sawir gudaha Arduino IDE. Waad sameyn kartaa adigoon isticmaalin maktabad dheeri ah sida ...

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

Ka gal ahaan:

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

Ama sidoo kale isticmaal maktabadaha, sida PCF8574 aad awoodid soo qaado halkan oo isticmaal koodh kan lamid ah tusaalaha laftiisa ee la socda maktabaddan:

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


Noqo kuwa ugu horreeya ee faallo bixiya

Ka tag faalladaada

cinwaanka email aan la daabacin doonaa. Beeraha loo baahan yahay waxaa lagu calaamadeeyay la *

*

*

  1. Masuul ka ah xogta: Miguel Ángel Gatón
  2. Ujeedada xogta: Xakamaynta SPAM, maaraynta faallooyinka.
  3. Sharci: Oggolaanshahaaga
  4. Isgaarsiinta xogta: Xogta looma gudbin doono dhinacyada saddexaad marka laga reebo waajibaadka sharciga ah.
  5. Kaydinta xogta: Macluumaadka ay martigelisay Shabakadaha Occentus (EU)
  6. Xuquuqda: Waqti kasta oo aad xadidi karto, soo ceshan karto oo tirtiri karto macluumaadkaaga.