ዝርዝር ሁኔታ:

የ MCP-23008 ትግበራ ቅብብል በይነገጽ (I2C) :: 6 ደረጃዎች
የ MCP-23008 ትግበራ ቅብብል በይነገጽ (I2C) :: 6 ደረጃዎች

ቪዲዮ: የ MCP-23008 ትግበራ ቅብብል በይነገጽ (I2C) :: 6 ደረጃዎች

ቪዲዮ: የ MCP-23008 ትግበራ ቅብብል በይነገጽ (I2C) :: 6 ደረጃዎች
ቪዲዮ: Kmexekiye( ክመጸኪ'የ) - Nahom Ghebries(Prima) | New Eritrean Music 2023 2024, ህዳር
Anonim
የቅብብሎሽ በይነገጽ (I2C) በመጠቀም የ MCP-23008 ትግበራ
የቅብብሎሽ በይነገጽ (I2C) በመጠቀም የ MCP-23008 ትግበራ

ሰላም

እንኳን ደስ አላችሁ.. !!

እኔ (Somanshu Choudhary) አርዱዲኖ ናኖ እና ኤም.ሲ.ፒ.

ደረጃ 1 አጠቃላይ እይታ

አጠቃላይ እይታ
አጠቃላይ እይታ
  • የ MCP23X08 መሣሪያው ለ I2C አውቶቡስ ወይም ለ SPI ትግበራዎች 8-ቢት ፣ አጠቃላይ ዓላማ ፣ ትይዩ I/O ማስፋፊያ ይሰጣል።
  • MCP23X08 ለግቤት ፣ ለውጤት እና ለፖላርነት ምርጫ በርካታ የ 8 ቢት ውቅረት መመዝገቢያዎችን ያካትታል። የ I/O ውቅረት ቅንጣቶችን በመጻፍ የስርዓቱ ማስተር I/Os ን እንደ ግብዓቶች ወይም ውፅዓቶች ማንቃት ይችላል። ለእያንዳንዱ ግብዓት ወይም ውፅዓት ውሂብ በተጓዳኝ የግቤት ወይም የውጤት መመዝገቢያ ውስጥ ይቀመጣል። የግብዓት ወደብ መመዝገቢያው ዋልታ በፖላራይተርስ ተገላቢጦሽ መዝገብ ሊገለበጥ ይችላል። ሁሉም መመዝገቢያዎች በስርዓቱ ማስተር ሊነበቡ ይችላሉ።
  • የውሂብ ሉህ አገናኝ

ደረጃ 2: የሚያስፈልግዎት / አገናኞች

የሚያስፈልጉዎት / አገናኞች
የሚያስፈልጉዎት / አገናኞች

1. አርዱዲኖ ናኖ LINK:

2. መከለያ ለአርዱዲኖ ናኖ አገናኝ:

3. የዩኤስቢ ገመድ ዓይነት ሀ ወደ ማይክሮ ዓይነት ቢ 6 እግሮች ረጅም

4. I²C ገመድ አገናኝ:

5. ስምንት SPDT I²C ቁጥጥር የሚደረግበት ቅብብል

6. አስማሚ አገናኝ:

ደረጃ 3 የወረዳ ዲያግራም

የወረዳ ዲያግራም
የወረዳ ዲያግራም
የወረዳ ዲያግራም
የወረዳ ዲያግራም

ደረጃ 4 - ፕሮግራሚንግ - እኔ

ፕሮግራሚንግ - እኔ
ፕሮግራሚንግ - እኔ
ፕሮግራሚንግ - እኔ
ፕሮግራሚንግ - እኔ
  • በዚህ ኮድ ውስጥ የተግባራዊ ፕሮግራም አወጣጥ ዘዴን እጠቀማለሁ
  • ለተግባሮች ትርጓሜ እና ለተግባር ጥሪ የተለያዩ ትሮችን እጠቀም ነበር

ከጣቢያው በታች ኮድ ጥ ፦

// ቀላል ተግባር ጥሪ ኮድ

#ባዶነትን ማዋቀር () ያካትቱ

{

የ MCP23008 // I2C አድራሻ

#መግለፅ MCP_ADDR 0x20

// እንደ ዋና I2C አውቶቡስን ይቀላቀሉ

Wire.begin ();

// ተከታታይ ግንኙነትን ይጀምሩ እና የባውድ ተመን ያዘጋጁ

Serial.begin (9600);

// በ I2C አውቶቡስ ላይ በተሰጠው መሣሪያ ማስተላለፍ ይጀምሩ

Wire.begin ማስተላለፊያ (MCP_ADDR);

// IODIR - I/O DIRECTION REGISTER መዝገብ ይምረጡ

Wire.write (0x00);

// አስፈላጊውን ክወና ይምረጡ (ውፅዓት)

Wire.write (0x00);

// የውቅረት ምዝገባን ይምረጡ

Wire.write (0x05);

// አስፈላጊውን ክወና ይምረጡ

Wire.write (0x0E);

// የማስተላለፍ መጨረሻ

Wire.endTransmission ();

}

ባዶነት loop ()

{

a1_on ();

መዘግየት (1000);

a1_off ();

መዘግየት (1000);

a2_on ();

መዘግየት (1000);

a2_off ();

መዘግየት (1000);

a3_on ();

መዘግየት (1000);

a3_off ();

መዘግየት (1000);

a4_on ();

መዘግየት (1000);

a4_off ();

መዘግየት (1000);

a5_on ();

መዘግየት (1000);

a5_off ();

መዘግየት (1000);

a6_on ();

መዘግየት (1000);

a6_off ();

መዘግየት (1000);

a7_on ();

መዘግየት (1000);

a7_off ();

መዘግየት (1000);

a8_on ();

መዘግየት (1000);

a8_off ();

}

ከጣቢያ በታች ኮድ 1

// ይህ ኮድ በቦርዱ ላይ 1 ቅብብልን ለማብራት እና ለማጥፋት ነው

ባዶነት a1_on () {

// ማስተላለፍ ይጀምሩ

Wire.begin ማስተላለፊያ (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x01);

መዘግየት (1800);

Wire.requestFrom (MCP_ADDR ፣ 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// ወደ ማያ ገጹ ውፅዓት

Serial.print ("GPIO እሴት:");

Serial.println (ጂፒኦ ፣ ቢን);

}

ባዶነት a1_off ()

{

// ማስተላለፍ ይጀምሩ

Wire.begin ማስተላለፊያ (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x00);

መዘግየት (1800);

Wire.requestFrom (MCP_ADDR ፣ 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// ወደ ማያ ገጹ ውፅዓት

Serial.print ("GPIO እሴት:");

Serial.println (ጂፒኦ ፣ ቢን);

}

ከጣቢ በታች ኮድ 2

// ይህ ኮድ በቦርዱ ላይ ቅብብል 2 ን ለማብራት እና ለማጥፋት ነው

ባዶነት a2_on () {

// ማስተላለፍ ይጀምሩ

Wire.begin ማስተላለፊያ (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x02);

መዘግየት (1800);

Wire.requestFrom (MCP_ADDR ፣ 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// ወደ ማያ ገጹ ውፅዓት

Serial.print ("GPIO እሴት:");

Serial.println (ጂፒኦ ፣ ቢን);

}

ባዶነት a2_off ()

{

// ማስተላለፍ ይጀምሩ

Wire.begin ማስተላለፊያ (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x00);

መዘግየት (1800);

Wire.requestFrom (MCP_ADDR ፣ 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// ወደ ማያ ገጹ ውፅዓት

Serial.print ("GPIO እሴት:");

Serial.println (ጂፒኦ ፣ ቢን);

}

ከጣቢያ በታች ኮድ q3: // ይህ ኮድ በቦርዱ ላይ ቅብብል 3 ን ለማብራት እና ለማጥፋት ነው

ባዶነት a3_on ()

{

// ማስተላለፍ ይጀምሩ

Wire.begin ማስተላለፊያ (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x04);

መዘግየት (1800);

Wire.requestFrom (MCP_ADDR ፣ 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// ወደ ማያ ገጹ ውፅዓት

Serial.print ("GPIO እሴት:");

Serial.println (ጂፒኦ ፣ ቢን);

}

ባዶነት a3_off ()

{

// ማስተላለፍ ይጀምሩ

Wire.begin ማስተላለፊያ (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x00);

መዘግየት (1800);

Wire.requestFrom (MCP_ADDR ፣ 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// ወደ ማያ ገጹ ውፅዓት

Serial.print ("GPIO እሴት:");

Serial.println (ጂፒኦ ፣ ቢን);

}

ደረጃ 5 ፕሮግራሚንግ - II

ፕሮግራሚንግ - II
ፕሮግራሚንግ - II

ከጣቢ በታች ኮድ 4:

// ይህ ኮድ በቦርዱ ላይ ቅብብል 4 ን ለማብራት እና ለማጥፋት ነው

ባዶነት a4_on ()

{

// ማስተላለፍ ይጀምሩ

Wire.begin ማስተላለፊያ (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x08);

መዘግየት (1800);

Wire.requestFrom (MCP_ADDR ፣ 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// ወደ ማያ ገጹ ውፅዓት

Serial.print ("GPIO እሴት:");

Serial.println (ጂፒኦ ፣ ቢን);

}

ባዶነት a4_off ()

{

// ማስተላለፍ ይጀምሩ

Wire.begin ማስተላለፊያ (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x00);

መዘግየት (1800);

Wire.requestFrom (MCP_ADDR ፣ 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// ወደ ማያ ገጹ ውፅዓት

Serial.print ("GPIO እሴት:");

Serial.println (ጂፒኦ ፣ ቢን);

}

ከጣቢያ በታች ኮድ 5

// ይህ ኮድ በቦርዱ ላይ ቅብብል 5 ን ለማብራት እና ለማጥፋት ነው

ባዶነት a5_on ()

{

// ማስተላለፍ ይጀምሩ

Wire.begin ማስተላለፊያ (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x10);

መዘግየት (1800);

Wire.requestFrom (MCP_ADDR ፣ 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// ወደ ማያ ገጹ ውፅዓት

Serial.print ("GPIO እሴት:");

Serial.println (ጂፒኦ ፣ ቢን);

}

ባዶነት a5_off ()

{

// ማስተላለፍ ይጀምሩ

Wire.begin ማስተላለፊያ (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x00);

መዘግየት (1800);

Wire.requestFrom (MCP_ADDR ፣ 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// ወደ ማያ ገጹ ውፅዓት

Serial.print ("GPIO እሴት:");

Serial.println (ጂፒኦ ፣ ቢን);

}

ከጣቢያ በታች ኮድ q6: // ይህ ኮድ በቦርዱ ላይ ቅብብል 6 ን ለማብራት እና ለማጥፋት ነው

ባዶነት a6_on ()

{

// ማስተላለፍ ይጀምሩ

Wire.begin ማስተላለፊያ (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x20);

መዘግየት (1800);

Wire.requestFrom (MCP_ADDR ፣ 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// ወደ ማያ ገጹ ውፅዓት

Serial.print ("GPIO እሴት:");

Serial.println (ጂፒኦ ፣ ቢን);

}

ባዶነት a6_off ()

{

// ማስተላለፍ ይጀምሩ

Wire.begin ማስተላለፊያ (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x00);

መዘግየት (1800);

Wire.requestFrom (MCP_ADDR ፣ 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// ወደ ማያ ገጹ ውፅዓት

Serial.print ("GPIO እሴት:");

Serial.println (ጂፒኦ ፣ ቢን);

}

ከጣቢያ በታች ኮድ q7: // ይህ ኮድ በቦርዱ ላይ ቅብብል 7 ን ለማብራት እና ለማጥፋት ነው

ባዶነት a7_on () {

// ማስተላለፍ ይጀምሩ

Wire.begin ማስተላለፊያ (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x40);

መዘግየት (1800);

Wire.requestFrom (MCP_ADDR ፣ 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// ወደ ማያ ገጹ ውፅዓት

Serial.print ("GPIO እሴት:");

Serial.println (ጂፒኦ ፣ ቢን);

}

ባዶነት a7_off ()

{

// ማስተላለፍ ይጀምሩ

Wire.begin ማስተላለፊያ (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x00);

መዘግየት (1800);

Wire.requestFrom (MCP_ADDR ፣ 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// ወደ ማያ ገጹ ውፅዓት

Serial.print ("GPIO እሴት:");

Serial.println (ጂፒኦ ፣ ቢን);

}

ከጣቢያ በታች ኮድ q8: // ይህ ኮድ በቦርዱ ላይ ቅብብል 8 ን ለማብራት እና ለማጥፋት ነው

ባዶነት a8_on () {

// ማስተላለፍ ይጀምሩ

Wire.begin ማስተላለፊያ (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x80);

መዘግየት (1800);

Wire.requestFrom (MCP_ADDR ፣ 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// ወደ ማያ ገጹ ውፅዓት

Serial.print ("GPIO እሴት:");

Serial.println (ጂፒኦ ፣ ቢን);

}

ባዶነት a8_off ()

{

// ማስተላለፍ ይጀምሩ

Wire.begin ማስተላለፊያ (MCP_ADDR);

Wire.write (0x09);

Wire.write (0x00);

መዘግየት (1800);

Wire.requestFrom (MCP_ADDR ፣ 1);

int GPIO = Wire.read ();

Wire.endTransmission ();

// ወደ ማያ ገጹ ውፅዓት

Serial.print ("GPIO እሴት:");

Serial.println (ጂፒኦ ፣ ቢን);

}

ደረጃ 6 ቪዲዮ

ለተጨማሪ ጥያቄዎች ጣቢያችንን ለመጎብኘት ነፃነት ይሰማዎት-

www.dcubetechnologies.com

የሚመከር: