PCF8574: u hel biinanka isku xirka Arduino

pcf8574

Waxaa laga yaabaa inaad isku aragtay xaalad aad jeclaan lahayd inaad balaadhiso tirada agabka iyo wax soo saarka ee aad heli karto guddiga arduino, maadaama aad waddo mashruuc u baahan qalab ka badan intii la filayey. Xaaladahan waxa kaliya oo aad samayn kartaa hal shay, taas oo ah inaad ka fikirto iibsashada guddi ka mid ah moodeel sare oo leh qaar badan oo ka mid ah isku xirka. Laakiin hadda leh PCF8574 waxay balaarin kartaa I/O ee Arduino si sahlan oo raqiis ah.

Halkan waxaan ku tusi doonaa waxa uu yahay PCF8574 haddii ay dhacdo inaadan garanayn, marka lagu daro muujinta sida loogu xidhi karo guddigaaga Arduino ayaa tallaabo-tallaabo loo sharraxay iyo sida uu u shaqeeyo...

Waa maxay PCF8574?

pcf8574

El PCF8574 waa balaadhinta dhijitaalka ah iyo soosaarka (I/O) ee baska I2C1. Qalabkan oo uu sameeyay Philips ayaa kuu ogolaanaya inaad ku xidho processor-ka sida Arduino si aad u xakamayso aalado badan adigoo isticmaalaya biin2 ka yar. PCF8574-ku waxa uu ku daraa 8 biin-jiho-jiho ah oo ku salaysan wax-soo-saarka CMOS ee qaabeynta bullaacadaha furan.

Intaa waxaa dheer, PCF8574 waa qalab yar oo awood yar Waxay taageertaa hawlaha VCC min 2.5V ilaa 6V. Waxay ka kooban tahay 8-bit ka soo jeeda I/O laba jiho, wax soo saar go'an, wax soo saarka kala goynta furan, iyo awoodda wadista sare ee hadda ee LED-yada. Dhanka kale, adeegsigeeda is-taagaysigu aad buu u hooseeyaa, in ka yar 10 µA.

Aad ayey waxtar ugu leedahay Kordhi awooda guddigaaga Arduino oo ka baxsan xadkeeda, taas oo u noqon karta caawimo weyn hal-abuurayaasha u baahan wax ka badan waxa Arduino bixiyo. Hadda ugu badan ee biin kastaa bixin karo waxay ku xirnaan doontaa qaabeynta:

  • Marka uu u dhaqmo sida wax soo saarka, waa 25mA marka uu u dhaqmo sidii weel, taas oo ah, marka korantada korantada u socoto PCF8574. Tani waa qaabeynta caadiga ah.
  • Marka ay u shaqeyso sida il waa 300µA, taas oo ah, marka uu hadda ka soo qulqulo PCF8574. Sidoo kale, waa inaad ogaataa in dhammaan wax-soo-saarku ay leeyihiin Latches, taas oo ah, inay iyagu gobolka ku hayaan diiwaanka. Kaliya waa inaan ficil sameynaa markaan rabno inaan wax ka bedelno xaaladda mid ka mid ah wax soo saarka.

Isgaadhsiinta ayaa dhacda iyada oo loo marayo baska I2C, markaa way fududahay in la helo xogta qalabka ku xiran. Sidoo kale, waa in la ogaadaa in ay leedahay 3 biinanka ciwaanka, kaas oo siinaya 8 xiriir oo suurtagal ah isla baska I2C. Tani waxay ka dhigan tahay in ay suurtagal tahay in la xakameeyo 64 qalab iyadoo la adeegsanayo 2 biin oo keliya.

Dejinta Ciwaanka

Qaar ka mid ah moodooyinkan PCF8574 waxay caadi ahaan ka mid yihiin biinanka qaabeynta iyo boodayaasha sida kuwa aad ku aragto sawirka kore. Dhanka kale, moodooyinka kale waxaa ka mid ah furaha wax ka fududeeya saddexda mikroswitches. habee cinwaanada ee biinanka I/O:

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

Qiimaha iyo halka laga iibsado

Waxa lagu heli karaa dhawr yuuro. Waa qalab aad u jaban sida ay wax ku ool u noqon karto qaar ka mid ah moodooyinka Arduino kuwaas oo leh tiro yar oo I/Os ah. Markaa haddii aad raadinayso PCF8574, waxaad ka heli kartaa dukaamo khaas ah ama sidoo kale goobo waaweyn oo online ah sida Amazon, Aliexpress ama eBay. Tusaale ahaan, halkan waxaan kugula talineynaa mid:

Ku xidhida PCF8574 ilaa Arduinno

para ku xidh balaadhinta PCF8574 guddiga Arduino, Jaantusku waa mid fudud. Waxa kaliya oo aad ku xidhi doontaa:

  • Biinanka SCL ee ku calaamadsan sabuuradda PCF8574 ilaa biinka SCL ee Arduino. Biinankani wuu is beddeli karaa iyadoo ku xiran moodeelka, laakiin badiyaa wuxuu saaran yahay A5 moodooyinka caanka ah sida UNO.
  • Biinka SDA ee balaadhinta waa inuu ku xidhaa biinka SDA ee Arduino. Isla wax aan kor ku soo sheegay, way isbedeli kartaa iyadoo ku xiran qaabka, laakiin guud ahaan waa A4. Haddii aad shaki ka qabtid, hubi meesha ugu sarreysa ee moodelkaaga.
  • pin-ka GND ee PCF8574 waxa dabcan lagu xidhi doonaa kan ku calaamadsan GND ee Arduino, taas oo ah, waa xidhiidhka dhulka.
  • pin-ka Vcc ee balaadhinta waxa uu ku xidhan yahay 5V ee Arduino, habkan, GND iyo Vcc waxa aanu hore ugu siinay sabuuradda ballaadhinta si uu u bilaabo shaqada.

Hawlgalka

Marka PCF8574 lagu xiro guddiga Arduino, hadda waa waqtigii la ogaan lahaa sidee u shaqeysaa. Si tan loo sameeyo, waa inaad maskaxda ku haysaa inaad awood u yeelan doonto inaad haysato 8 biin oo dheeri ah, beddelaad inaad isticmaashay laba biin oo Arduino ah, marka lagu daro kuwa xoogga leh. Dhanka kale, waa inaad wax ku dartaa, taasina waa in mid kasta oo ka mid ah 8-da biin ee PCF8574 aad leedahay MOSFET transistor oo ay weheliso iska caabin aad u hooseeya oo iska caabin ah. Tani waxay u malaynaysaa xoojinta hadda ee 100 microA marka transistor-ku firfircoon yahay.

Waxayna tani naga reebaysaa panorama-kan soo socda:

  • Habaynta sida wax soo saarka- Marka pin-ka loo isticmaalo wax soo saar ahaan, wuxuu u dhaqmaa sidii saxan hadda jira, sidaan kor ku soo sheegay, i.. qulqulka hadda jira.
    • LOW: Marka danab hooseeya, ma dhaqmo hadda, load = Vdd.
    • SARE: marka uu ku jiro danab sare, ilaa 25mA hadda uu dhaafi karo, culeysku wuxuu ku xirnaan doonaa GND.
  • Habaynta sida gelinta: waa in had iyo jeer la dejiyaa SARE, oo xaaladdan waxay u dhaqmi doontaa sida il, taas oo ah, qulqulka hadda jira.
    • Xidhan: Marka culeyska dibadda aan la siin, danabku pin wuxuu aadaa GND.
    • Fur: Marka culeys dibadeed yimaado, danabku wuxuu noqdaa Vdd.

Arduino IDE Code

Arduino IDE, noocyada xogta, barnaamijyada

Haddii waxa aad rabto ay yihiin tusaalooyin ku saabsan sida loo sameeyo koodka si loogu isticmaalo PCF8574 ee Arduino, way fududahay sida isticmaalka tusaalahan koodka oo aad wax ka beddeli karto iyadoo loo eegayo baahiyahaaga:

  • Habaynta sida wax soo saarka:
#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);
  }
}
  • Habaynta sida gelinta:
#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);
}

Xusuusnow inaad sidoo kale isticmaali karto maktabad loo sameeyay gaar ahaan PCF8574 oo ay ku jiraan tusaalooyin wax ku ool ah…


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.