ዝርዝር ሁኔታ:

በ I2C: 4 ደረጃዎች 16x2 LCD ን ይጠቀሙ
በ I2C: 4 ደረጃዎች 16x2 LCD ን ይጠቀሙ

ቪዲዮ: በ I2C: 4 ደረጃዎች 16x2 LCD ን ይጠቀሙ

ቪዲዮ: በ I2C: 4 ደረጃዎች 16x2 LCD ን ይጠቀሙ
ቪዲዮ: SKR 1.4 - I2C BlinkM 2024, ህዳር
Anonim
ከ I2C ጋር 16x2 LCD ን ይጠቀሙ
ከ I2C ጋር 16x2 LCD ን ይጠቀሙ
ከ I2C ጋር 16x2 LCD ን ይጠቀሙ
ከ I2C ጋር 16x2 LCD ን ይጠቀሙ
ከ I2C ጋር 16x2 LCD ን ይጠቀሙ
ከ I2C ጋር 16x2 LCD ን ይጠቀሙ

በአንዱ ከቀድሞው አስተማሪዬ ውስጥ ፣ ኤልዲሲን ከአርዱዲኖ ኡኖ ጋር እንዴት ማገናኘት እና ማገናኘት እና በላዩ ላይ እሴቶችን ማሳየት እንደሚቻል አሳይቻለሁ። ግን እንደተመለከተው ፣ ብዙ ግንኙነቶች ነበሩ እና ፕሮጀክቱ በብዙ ሽቦዎች ምክንያት ብዙ መበላሸት ከጀመረ።

በዚህ መመሪያ ውስጥ ኤልሲዲውን ለመቆጣጠር እና ለመጠቀም 4 ፒኖች ብቻ ካለው I2C ጋር እንዴት እንደሚገናኙ አሳያችኋለሁ። ስለዚህ እንጀምር።

ደረጃ 1: ክፍሎች ያስፈልጋሉ

አካላት ያስፈልጋሉ
አካላት ያስፈልጋሉ
አካላት ያስፈልጋሉ
አካላት ያስፈልጋሉ
አካላት ያስፈልጋሉ
አካላት ያስፈልጋሉ

ለዚህ ፕሮጀክት የሚከተሉትን ያስፈልግዎታል

  • አርዱዲኖ ኡኖ
  • 16x2 ኤልሲዲ
  • I2C ለ 16x2 LCD
  • መንጠቆ-አፕ ሽቦዎች

በእነዚህ ሁሉ ወደ የግንኙነቶች ክፍል እንግባ።

ደረጃ 2 - ግንኙነቶች

ግንኙነቶች
ግንኙነቶች
ግንኙነቶች
ግንኙነቶች
ግንኙነቶች
ግንኙነቶች
ግንኙነቶች
ግንኙነቶች

ስዕሎቹን ይመልከቱ እና ግንኙነቶችን ያድርጉ። እሱ በጣም ቀላል ነው ፣ በኤል ሲ ዲ ወደቦች ውስጥ I2C ን መሰካት እና በቦታው ላይ መሸጥ አለብዎት። ከዚያ የ SCL ፒን በአርዱዲኖ ላይ የ A4 ፒን እና የ SDA ፒን በአርዱዲኖ ላይ ካለው A5 ፒን ጋር ያገናኙ።

እኔ ቀደም ሲል በኤልሲዲው ላይ የራስጌ ፒኖችን ስለሸጥኩ I2C ን አልሸጥም። ግን እኔ I2C ን በ LCD ላይ እንዲሸጡ ሀሳብ አቀርባለሁ።

ደረጃ 3 ኮድ

በአርዱዲኖ አይዲኢ ውስጥ የተካተተ ኤልሲዲ I2C ዋና ቤተ -መጽሐፍት አለ። ግን በውስጡ ያለው ኮድ ትንሽ ችግር አለ። በዚህ ቤተ -መጽሐፍት ውስጥ ያሉት ሁሉም ምሳሌዎች የ I2C ነባሪውን አድራሻ እንደ 0x27 ይቆጥራሉ። ስለዚህ በመጀመሪያ የእኛ I2C አድራሻ ምን እንደ ሆነ ማወቅ አለብን። የ I2C ስካነር ኮድ በመጠቀም ይህንን ማድረግ እንችላለን። አንዴ የ I2C አድራሻ ካለን ይህንን እሴት በምሳሌ ኮድ ውስጥ መተካት እና እሱን መጠቀም መጀመር እንችላለን።

I2C ስካነር ኮድ

#ያካትቱ

ባዶነት ማዋቀር () {Wire.begin (); Serial.begin (9600); ሳለ (! ተከታታይ); // ተከታታይ ማሳያ ይጠብቁ Serial.println ("\ nI2C Scanner"); } ባዶነት loop () {ባይት ስህተት ፣ አድራሻ ፤ int nDevices; Serial.println (“መቃኘት…”); nDevices = 0; ለ (አድራሻ = 1 ፤ አድራሻ <127 ፤ አድራሻ ++) {// i2c_scanner // አንድ መሣሪያ ለአድራሻው እውቅና መስጠቱን ለማየት የ // የ Write.endTransmisstion ን የመመለሻ እሴት ይጠቀማል። Wire.begin ማስተላለፊያ (አድራሻ); ስህተት = Wire.endTransmission (); ከሆነ (ስህተት == 0) {Serial.print («I2C መሣሪያ በአድራሻ 0x ተገኝቷል») ፤ ከሆነ (አድራሻ <16) Serial.print ("0"); Serial.print (አድራሻ ፣ HEX); Serial.println ("!"); nDevices ++; } ሌላ ከሆነ (ስህተት == 4) {Serial.print ("በአድራሻ 0x ላይ ያልታወቀ ስህተት"); ከሆነ (አድራሻ <16) Serial.print ("0"); Serial.println (አድራሻ ፣ HEX); }} ከሆነ (nDevices == 0) Serial.println ("I2C መሣሪያዎች አልተገኙም / n"); ሌላ Serial.println ("ተከናውኗል / n"); መዘግየት (5000); // ለሚቀጥለው ቅኝት 5 ሰከንዶች ይጠብቁ}

የምሳሌ ኮድ (በ Serial Monitor ውስጥ የገቡ ቁምፊዎችን ለማሳየት)

#አካትት #አካትት

LiquidCrystal_I2C lcd (0x3F, 20, 4); // ለ 16 chars እና ለ 2 የመስመር ማሳያ የ LCD አድራሻውን ወደ 0x27 ያዘጋጁ

ባዶነት ማዋቀር ()

{lcd.init (); // የ lcd lcd.backlight () ን ያስጀምሩ; Serial.begin (9600); }

ባዶነት loop ()

{// ቁምፊዎች በተከታታይ ወደብ ላይ ሲደርሱ… (Serial.available ()) {// መልእክቱ በሙሉ መዘግየት (100) እስኪመጣ ትንሽ ይጠብቁ። // ማያ ገጹን ያፅዱ lcd.clear (); // ሁሉንም የሚገኙትን ቁምፊዎች ያንብቡ (Serial.available ()> 0) {// እያንዳንዱን ቁምፊ ለ LCD lcd.write (Serial.read ()) ያሳዩ ፤ }}}

ደረጃ 4 - ውፅዓት

ውፅዓት
ውፅዓት
ውፅዓት
ውፅዓት

አንዴ ኮዱን ከሰቀሉ በኋላ ለመሄድ ዝግጁ ነዎት። ለዚህ አስተማሪ የ Serial Print Code ምሳሌን ወስጃለሁ። ስለዚህ አሁን ኮዱን ከሰቀሉ በኋላ ተከታታይ መቆጣጠሪያውን ይክፈቱ እና አንድ ቃል ይተይቡ እና “ላክ” ን ጠቅ ያድርጉ። አሁን ይህ እሴት በ LCD ላይ ሲታይ ማየት አለብዎት።

የሚመከር: