PCF8574: ስለ አይ 2 ሲ አይ / ኦ ማስፋፊያ ለአርዱይኖ

PCF8574 TI ቺፕ

በእርግጠኝነት ሰምተሃል አይሲ PCF8574፣ በተናጥል ሊገዛ ወይም ቀድሞውኑ እንደ ብዙ ሞዱል ላይ ሊጫን የሚችል ቺፕ ኤሌክትሮኒክ አካላት ከአርዱዲኖ ቦርድዎ ጋር ውህደትዎን ለማመቻቸት ፡፡ በዚህ ጊዜ ለ ግብዓቶች እና ውጤቶች ማራዘሚያ ነው አይ 2 ሲ አውቶቡስ.

አርዱይኖ ቀድሞውኑ የራሱ አለው ብለው ያስቡ ይሆናል የተዋሃደ I2C አውቶቡስ፣ እና እውነት ነው። ነገር ግን PCF8574 ያንን አውቶቡስ ከእድገት ቦርድዎ ወሰን በላይ ለማራዘም ሊረዳ ይችላል ፣ ይህም በአርዱinoኖ ከሚቀርበው በላይ ለሚፈልጉ አንዳንድ ፈጣሪዎች ከፍተኛ እገዛ ሊያደርግ ይችላል ፡፡

የ I2C አውቶቡስ ምንድን ነው?

Arduino UNO ሚሊስ ተግባራት

አይ 2 ሲ የሚለው ስም የመጣው ነው እርስ በእርስ የተቀናጀ የወረዳ ወይም እርስ በእርስ የተቀናጁ ሰርኩይቶች ፡፡ የእሱ ስሪት 1.0 እ.ኤ.አ. በ 1992 በፊሊፕስ ተፈጠረ ፡፡ ከዚያ ሁለተኛው 2.1 እ.ኤ.አ. በ 2000 ይመጣ ነበር እናም ዛሬ ደረጃው (በ 100 ኪባ / ሰከንድ ምንም እንኳን እስከ 3.4 ሜባ / ሰ ቢበዛ ቢፈቅድም) ደረጃው ሆኗል (ፓተንት) በ 2006 ተጠናቆ በነፃነት ጥቅም ላይ ሊውል ይችላል ፡፡

በአሁኑ ጊዜ በኢንዱስትሪው ውስጥ በስፋት ጥቅም ላይ ውሏል ለግንኙነትእና እንዲሁም በአንድ አይሲ ውስጥ የተዋሃዱ የተለያዩ ማይክሮ መቆጣጠሪያዎችን እና መለዋወጫዎችን ለማገናኘት ለፕሮጀክቶቻቸው በሰፊው በጣም አድናቆት አላቸው ፡፡

El አይ 2 ሲ አውቶቡስ ነው በደንብ የታወቀ ተከታታይ ግንኙነት ፡፡ እሱ ከ 2 ሰርጦች ጋር ብቻ የተመሳሰለ የግንኙነት ፕሮቶኮልን ይጠቀማል (ሶስተኛው አለ ፣ ግን ከማጣቀሻ ወይም ከጂ.ኤን.ዲ. ጋር ተጣምሯል) ፣ በእውነቱ እሱ TWI (ሁለት ሽቦ በይነገጽ) በመባል ይታወቃል።

  • አንድ ለሰዓት (SCL) ፡፡
  • ሌላ ለመረጃ (ኤስዲኤ) ፡፡
ሁለቱም ክፍት የፍሳሽ ማስወገጃ (CMOS) ግንኙነቶች እና የመሳብ ተከላካዮች ያስፈልጋሉ ፡፡ እንዲሁም አንድ መሣሪያ 0 እና ሌላ 1 ን የሚያስተላልፍ ከሆነ ችግሮች ሊኖሩ ይችላሉ ፣ ለዚያም ነው መስመሩ ሁል ጊዜ ወደ 1 (ከፍተኛ ደረጃ) የተቀመጠው እና መሣሪያዎቹ ሁልጊዜ 0 (ዝቅተኛ ደረጃ) የሚያስተላልፉት።

ያ የሚያመለክተው እ.ኤ.አ. ጌታ እና ባሪያ የሰዓት ምልክትን በሚያመነጭ የመጀመሪያው በሚቆጣጠረው በዚያው ገመድ ወይም ትራክ ላይ መረጃ ይልካሉ ፡፡ ከ I2C አውቶቡስ ጋር የተገናኙ እያንዳንዱ የጎን መሣሪያዎች ስርጭቶችን ለመምራት ልዩ የተመደበ አድራሻ ይኖራቸዋል ፡፡ ግን አስተማሪው ሁል ጊዜ አንድ ነው (ብዙ አስተማሪ) አስፈላጊ አይደለም ፣ ዝውውሩን የሚጀምረው እሱ ራሱ ነው።

ቀደም ሲል በፅሁፉ ላይ እንዳስቀመጥኩት አርዱዲኖ I2C ቀደም ብዬ ዋቢ አድርጌያለሁ ፣ እያንዳንዱ ቦርድ እነዚህ የ I2C ግንኙነቶች በተለያዩ ቦታዎች አሉት ፡፡ በእያንዳንዱ የታርጋ ስሪት ውስጥ በትክክል ለመጠቀም መቻልዎን ልብ ማለት ያለብዎት ነገር ነው-

  • Arduino UNOSDA በ A4 እና SC5 በ AXNUMX ውስጥ ነው
  • አርዱዲኖ ናኖከቀዳሚው ጋር ተመሳሳይ ፡፡
  • አርዱዲኖ ሚኒ ፕሮ: ተመሳሳይ.
  • አርዱዲኖ ሜጋSDA በፒን 20 እና በ 21 ላይ SCK ላይ ነው ፡፡
  • ስለ ሳህኖች ተጨማሪ መረጃ ፡፡

ከ. ጀምሮ I2C ን ለሥነ-ስዕሎችዎ በቀላሉ እንደሚጠቀሙ ቀድመው ያውቃሉ Wire.h ቤተ-መጽሐፍት ለዚህ ተከታታይ ግንኙነት ከተለያዩ ተግባራት ጋር

  • ጀምር (): የሽቦ ቤተመፃህፍት ይጀምሩ እና ጌታ ወይም ባሪያ መሆኑን ይግለጹ
  • ጥያቄ ከ (): - ከባሪያው መረጃ ለመጠየቅ ጌታው ይጠቀምበታል።
  • ማስተላለፍ ጀምር ()ከባርነት ጋር ማስተላለፍ ይጀምሩ ፡፡
  • መጨረሻ ማስተላለፍ ()መጨረሻ ማስተላለፍ.
  • ፃፍ ()- ከባለቤቱ ላቀረበው ጥያቄ ምላሽ ለመስጠት ከባሪያ የተገኘውን መረጃ ይጻፉ ወይም ለጌታ ማስተላለፍ ወረፋ መስጠት ይችላሉ
  • ይገኛል (): ለማንበብ የባይተሮችን ቁጥር ይመልሳል።
  • አንብብ ()ከባሪያ ወደ ጌታ የተላለፈ ባይት ያንብቡ ወይም በተቃራኒው ፡፡
  • ተቀበል (): አንድ ባሪያ ከጌታው ስርጭትን ሲቀበል ተግባርን ይጠራል።
  • onRequest (): አንድ ባሪያ ከባለቤቱ መረጃን ሲጠይቅ ተግባርን ይጠራል።

ምዕራፍ ተጨማሪ መረጃ ስለ አርዱዲኖ ፕሮግራም እና የእኛን ማውረድ የሚችሏቸው ተግባራት የፒዲኤፍ አጋዥ ስልጠና.

PCF8574 ምንድነው?

PCF8574 ሞዱል

PCF8574 እ.ኤ.አ. የ I2C የአውቶቡስ ዲጂታል ግብዓቶች እና ውጤቶች (I / O) ማስፋፊያ. በአይሲዎች እና ሞጁሎች ውስጥ ከመገኘቱ በተጨማሪ በተለያዩ አምራቾች ሊመረቱ ይችላሉ ፡፡ በማንኛውም ሁኔታ ከእርስዎ አርዱዲኖ ቦርድ ጋር መገናኘት እና ማዘርቦርዱ ከሚፈቅደው በላይ ብዙ መሣሪያዎችን የመቆጣጠር አቅም በጣም ተግባራዊ ነው ፡፡

El PCF8574 ቅጥነት የሚለውን ብቻ የሚያካትት ስለሆነ ቀላል ነው 8 ክሮች ባለ አራት አቅጣጫ (P0-P7 ለመገናኘት ቺፕስ የሚገናኝበት) ፣ በሌላ በኩል ደግሞ ከአርዱዲኖ ቦርድ ጋር መገናኘት ያለብዎት SDA እና SCL እንዲሁም ሞጁሉን ለማብቃት ቪሲሲ እና ጂኤንዲ አለዎት ፡፡ ግንኙነቱ ወደ የትኛው አቅጣጫ እንደሚመራ ለመምረጥ ሦስቱን የአድራሻ ቁልፎች A0 ፣ A1 ፣ A2 አይርሱ ፡፡

PCF8574 ቅጥነት

የራስ ሌሎች ባህሪዎች ማወቅ ያለብዎት

  • የእሱ ግንኙነቶች ፣ ክፍት የፍሳሽ ማስወገጃ መሆን ፣ ሊሆኑ ይችላሉ እንደ ግብዓት እና እንደ ውፅዓት ጥቅም ላይ ውሏል.
  • La ከፍተኛ ወቅታዊ እንደ ውፅዓት ሆኖ ሲሠራ 25 mA ነው (ሲንክ ፣ የአሁኑ ወደ PCF8574 ሲፈስ) እና 300 µA (ምንጭ ፣ የአሁኑ ፍሰት ከፒሲኤፍ 8574) ፡፡
  • La ውጥረት የኃይል አቅርቦት 2.5 እና 6v ነው ፡፡ የተጠባባቂ ፍጆታ በጣም ዝቅተኛ ነው ፣ 10 µA ብቻ።
  • ሁሉም ውጤቶች መቆለፊያዎች አሏቸው, የውጭ እርምጃዎችን ሳያስፈልግ ሁኔታውን ለመጠበቅ. እርምጃውን መውሰድ ያለብዎት ሁኔታውን ለመለወጥ ሲፈልጉ ብቻ ነው ፡፡
  • 8 ማግኘት ይችላሉ ሊሆኑ የሚችሉ አቅጣጫዎች ፣ ማለትም እስከ 8 መሣሪያዎች ድረስ ለማስፋት እስከ 8 ሞጁሎች ጋር ለመገናኘት ወይም ለመጠቀም እስከ 64 መሣሪያዎች። አድራሻዎች (ፒኖች A0 ፣ A1 ፣ A2) ይሆናሉ-
    • 000: አድራሻ 0x20
    • 001: አድራሻ 0x21
    • 010: አድራሻ 0x22
    • 011: አድራሻ 0x23
    • 100: አድራሻ 0x24
    • 101: አድራሻ 0x25
    • 110: አድራሻ 0x26
    • 111: አድራሻ 0x27
  • ይቀበላል መቋረጥ (INT) ያለማቋረጥ ክትትል ሳያደርጉ መረጃን ለመለየት በልዩ መስመር።

ከአርዱዲኖ ጋር ውህደት

የ Arduino IDE ቅጽበታዊ ገጽ እይታ

ከአርዱዲኖ ጋር ያለው ግንኙነት በጣም ቀላል ነው ፣ እርስዎ ቪሲሲን ከአርዱዲኖ ቦርድ 5 ቪ ፒን ፣ እና GND ከአርዱዲኖ GND ጋር ማገናኘት አለብዎት ፡፡ በሌላ በኩል የ PCF8574 SDA እና SCL ሞዱል ምስማሮች ሊሆኑ ይችላሉ ከፒን ጋር ያገናኙ 14 (A5 SCL) እና 15 (A4 SDA)። ከዚህ ጋር ብቻ መሥራት ይጀምራል ፣ በግልጽ ለመገናኘት የሚፈልጉትን መሳሪያዎች ለማገናኘት Px ን መጠቀም ይችላሉ ...

ያኔ ብቻ የሚቀር ነበር በምስል ንድፍ ይጀምሩ በአርዱዲኖ አይዲኢ ውስጥ. እንደ ... ያሉ ተጨማሪ ቤተ-መጽሐፍት ሳይጠቀሙ ማድረግ ይችላሉ

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

እንደ ግብዓት

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

ወይም ደግሞ ቤተ-መጻሕፍት ይጠቀሙ፣ እንደ ‹PCF8574› ይችላሉ እዚህ አውርድ እና ከዚህ ቤተ-መጽሐፍት ጋር ከሚመጣው ምሳሌ ራሱ ከዚህ ጋር ተመሳሳይ የሆነውን ኮድ ይጠቀሙ:

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


የጽሑፉ ይዘት የእኛን መርሆዎች ያከብራል የአርትዖት ሥነ ምግባር. የስህተት ጠቅ ለማድረግ እዚህ.

አስተያየት ለመስጠት የመጀመሪያው ይሁኑ

አስተያየትዎን ይተው

የእርስዎ ኢሜይል አድራሻ ሊታተም አይችልም. የሚያስፈልጉ መስኮች ጋር ምልክት ይደረግባቸዋል *

*

*

  1. ለመረጃው ኃላፊነት ያለው: ሚጌል Áንጌል ጋቶን
  2. የመረጃው ዓላማ-ቁጥጥር SPAM ፣ የአስተያየት አስተዳደር ፡፡
  3. ህጋዊነት-የእርስዎ ፈቃድ
  4. የመረጃው ግንኙነት-መረጃው በሕጋዊ ግዴታ ካልሆነ በስተቀር ለሶስተኛ ወገኖች አይተላለፍም ፡፡
  5. የውሂብ ማከማቻ በኦክሴንትስ አውታረመረቦች (አውሮፓ) የተስተናገደ የውሂብ ጎታ
  6. መብቶች-በማንኛውም ጊዜ መረጃዎን መገደብ ፣ መልሰው ማግኘት እና መሰረዝ ይችላሉ ፡፡