ዝርዝር ሁኔታ:

OLED I2C ማሳያ Arduino/NodeMCU አጋዥ ስልጠና 15 ደረጃዎች
OLED I2C ማሳያ Arduino/NodeMCU አጋዥ ስልጠና 15 ደረጃዎች

ቪዲዮ: OLED I2C ማሳያ Arduino/NodeMCU አጋዥ ስልጠና 15 ደረጃዎች

ቪዲዮ: OLED I2C ማሳያ Arduino/NodeMCU አጋዥ ስልጠና 15 ደረጃዎች
ቪዲዮ: Arduino Nano, BME280 and SSD1306 OLED Weather Station 2024, ሀምሌ
Anonim
Image
Image

መማር ሲጀምሩ የሚጽፉት በጣም የመጀመሪያ ፕሮግራም ሀ

አዲስ የፕሮግራም ቋንቋ “ሰላም ዓለም!” ነው።

ፕሮግራሙ እራሱ በማያ ገጹ ላይ “ጤና ይስጥልኝ” የሚል ጽሑፍ ከማተም ያለፈ ምንም አያደርግም።

ስለዚህ የእኛን አርዱኢኖ ‹ሰላም ዓለም!› እንዲያሳይ እንዴት እናደርጋለን?

በዚህ ቪዲዮ ውስጥ በአነስተኛ 0.91 (128x32) እና 0.96 (128x64) I2C OLED ማሳያዎች እንዴት እንደሚጀምሩ አሳያችኋለሁ።

በድር ላይ ተመሳሳይ ነገሮችን በተለያዩ መንገዶች የሚያብራሩ 100 ዎች አጋዥ ሥልጠናዎች አሉ ፣ ግን ስለ OLED ማሳያ ሁሉንም የሚነግረኝን አላገኘሁም እና በተለያዩ ሁኔታዎች ውስጥ እንዴት እንደሚጠቀሙበት። ሁሉንም ለማስተካከል የተወሰነ ጊዜ ፈጅቶብኛል። ስለዚህ ፣ እኔ በተማርኩት ላይ አጋዥ ስልጠና መፍጠር እና የኦሌድ ማሳያዎች በፕሮጀክቶቻችን ውስጥ ጥቅም ላይ ሊውሉ የሚችሉባቸውን ሁሉንም ባህሪዎች እና መንገዶች ማዋሃድ አለብኝ ብዬ አስቤ ነበር።

ደረጃ 1 ዛሬ የምንማራቸው ነገሮች

የሃርድዌር አስፈላጊነት
የሃርድዌር አስፈላጊነት

በዚህ ቪዲዮ ውስጥ ስለዚህ ጉዳይ እንነጋገራለን-

- የ OLED ማሳያ ምንድነው?

- ከዚያ የ 0.91 (128x32) እና 0.96 (128x64) I2C OLED ማሳያዎችን በቅርበት እንመለከታለን

- በመቀጠል የአዳፍ ፍሬም ቤተ -መጽሐፍትን ወደ አርዱዲኖ አይዲኢ ስለመጫን እንነጋገራለን

- ከዚያ NodeMCU እና Arduino ን ከ OLED ማሳያ ጋር እናገናኛለን

- በመቀጠል ኮዱን እንመለከታለን እና በላዩ ላይ አንዳንድ ግራፊክስ እና ጽሑፍ እናሳያለን

- እንዲሁም ብጁ ቅርጸ -ቁምፊዎችን ስለመተግበር እና ምስሎችን ስለማሳየት እንነጋገራለን

- ከዚያ I2C Multiplexer ን በመጠቀም ብዙ OLEDs ን ወደ ማይክሮ መቆጣጠሪያ እናገናኛለን

- በመጨረሻም ፣ የ OLED ማሳያዎችን ሲጠቀሙ ሰዎች ስለሚሠሩ ጥቂት የተለመዱ ስህተቶች እንነጋገራለን

ደረጃ 2 የሃርድዌር አስፈላጊነት

ለዚህ ትምህርት እኛ ያስፈልገናል-

- የዳቦ ሰሌዳ

- 0.91 ኢንች (128x32) እና 0.96”(128x64) I2C OLED ማሳያዎች

- አርዱዲኖ UNO/NANO (ምቹ የሆነ ሁሉ)

- NodeMCU

- TCA9548A I2C ባለብዙ ማሰራጫ

- ጥቂት የሚያገናኙ ገመዶች

- እና ኮዱን ለመስቀል የዩኤስቢ ገመድ

ደረጃ 3: የ OLED ማሳያ ምንድነው?

የ OLED ማሳያ ምንድነው?
የ OLED ማሳያ ምንድነው?
የ OLED ማሳያ ምንድነው?
የ OLED ማሳያ ምንድነው?

OLED ወይም ኦርጋኒክ ብርሃን አመንጪ ዳዮድ ብርሃን አመንጪ ነው

ዲዲዮ (ኤልኢዲ) የሚለቀቀው የኤሌክትሮላይዜሽን ንብርብር የኦርጋኒክ ውህደት (በሚሊዮኖች የሚቆጠሩ አነስተኛ የ LED መብራቶች) ለኤሌክትሪክ ፍሰት ምላሽ ብርሃን የሚያበራ ፊልም ነው።

OLED ዎች እንደ የቴሌቪዥን ማያ ገጾች ፣ የኮምፒተር ማሳያዎች ፣ ተንቀሳቃሽ ስልኮች ፣ ተንቀሳቃሽ የእጅ መጫወቻዎች እና PDAs ባሉ ተንቀሳቃሽ መሣሪያዎች ውስጥ ዲጂታል ማሳያዎችን ለመፍጠር ያገለግላሉ። የ OLED ማሳያ የሚታየው ብርሃን ስለሚያመነጭ የጀርባ ብርሃን ሳይኖር ይሠራል።

ደረጃ 4

ምስል
ምስል

በ ውስጥ ብዙ ዓይነት የ OLED ማሳያዎች አሉ

በእነሱ ላይ የተመሠረተ ገበያ

- መጠኖች

- ቀለም

- የምርት ስሞች

- ፕሮቶኮል

- SPI (Serial Peripheral Interface) ወይም I2C

-ተገብሮ-ማትሪክስ (PMOLED) ወይም ንቁ-ማትሪክስ (AMOLED) የቁጥጥር መርሃግብር

በዚህ መማሪያ ውስጥ እኔ ስለማገናኘት እነጋገራለሁ

ሰማያዊ ቀለም 0.91 (128x32 OLED) እና 0.96 (128x64 OLED) I2C OLDE ለ Arduino NANO እና NodeMCU ያሳያል። የ I2C አውቶቡስ ቴክኖሎጂ የ MCU 2 ፒኖችን ብቻ ይጠቀማል ስለዚህ ለሌሎች አነፍናፊዎች ክምር አለን።

ደረጃ 5 - ቅርብ እይታ

ቅርብ እይታ
ቅርብ እይታ
ቅርብ እይታ
ቅርብ እይታ
ቅርብ እይታ
ቅርብ እይታ

በእነዚህ ሁለት ማሳያዎች ላይ የበለጠ ቅርብ እንሁን።

በእነዚህ ማሳያዎች ጀርባ ላይ በቦርዱ ላይ የተሸጡ የ SMD መያዣዎች እና ተከላካዮች አሉ። ነገር ግን ፣ እሱ የ I2C መሣሪያ ስለሆነ እኛ ስለእነዚህ 2 ፒኖች (SCL እና SDA) ብቻ እንጨነቃለን።

ማሳያው አራት ገመዶችን ብቻ በመጠቀም ከአርዱዲኖ ጋር ይገናኛል - ሁለት ለኃይል (VCC እና GND) እና ሁለት ለመረጃ (ተከታታይ ሰዓት SCL እና

ተከታታይ ውሂብ SDA) ፣ ሽቦውን በጣም ቀላል ያደርገዋል። የውሂብ ግንኙነቱ I2C (I²C ፣ IIC ወይም Inter-Integrated Circuit) ሲሆን ይህ በይነገጽ TWI (ሁለት ሽቦ በይነገጽ) ተብሎም ይጠራል።

- በቦርዱ ላይ ያሉት ፒኖች በተለያየ ቅደም ተከተል ሊሆኑ ይችላሉ ፣ ስለሆነም ከፕሮጀክትዎ ጋር ከመገናኘትዎ በፊት ሁል ጊዜ ሶስት ጊዜ ያረጋግጡ።

- የአሠራር voltage ልቴጅ ከ 3v እስከ 5v መካከል ነው ፣ ግን መመሪያውን ከአምራቹ የውሂብ ሉህ መጠቀሙ የተሻለ ነው።

- አንዳንድ ጊዜ በፕሮጀክቶቻችን ውስጥ 2 ማሳያዎችን መጠቀም ያስፈልገናል። ስለዚህ ፣ ይህንን እንዴት ማሳካት እንችላለን?

ዘዴው በማሳያዎ ላይ ሊዋቀር የሚችል አድራሻ እንዲኖርዎት ነው። ይህ ክፍል በ 0x78 እና 0x7A መካከል ሊስተካከል የሚችል አድራሻ አለው። የ 0Ohm resistor ን ከአንድ ወገን በማላቀቅ እና ወደ ሌላኛው ጎን በማያያዝ ወይም ዓለም አቀፋዊ ሻጭ በማስቀመጥ አድራሻውን መለወጥ እንችላለን። በዚህ የማጠናከሪያ ትምህርት ክፍል ውስጥ ብዙ ማሳያዎችን ለአርዱዲኖ ስንይዝ ስለእሱ በጥልቀት እንነጋገራለን።

በሥዕሉ ላይ እነዚህ ማሳያዎች በጣም ትልቅ ይመስላሉ። ግን በተግባር ሲናገሩ እነሱ ጥቃቅን ናቸው። እነሱ በ 128 x 32/64 ነጠላ የ OLED ፒክስሎች የተሠሩ እና ምንም የኋላ መብራት አያስፈልጋቸውም። ይህንን ይመልከቱ እና ምን ያህል ትንሽ እንደሆነ ይመልከቱ። ምንም እንኳን ትንሽ ቢሆኑም በማንኛውም የኤሌክትሮኒክ ፕሮጄክቶች ውስጥ በጣም ጠቃሚ ሊሆኑ ይችላሉ።

ደረጃ 6 ቤተ -መጽሐፍት

ቤተ -መጽሐፍት
ቤተ -መጽሐፍት
ቤተ -መጽሐፍት
ቤተ -መጽሐፍት
ቤተ -መጽሐፍት
ቤተ -መጽሐፍት

እነዚህን ለመቆጣጠር በርካታ ቤተ -መጻሕፍት አሉ

ማሳያዎች። ቀደም ሲል ‹u8glib ቤተ -መጽሐፍት› ን እጠቀም ነበር ፣ ነገር ግን በፕሮጀክቶቻችን ውስጥ የአዳፍሬትን ቤተ -መጽሐፍት ለመረዳት እና ለመጠቀም በጣም ቀላል ሆኖ አግኝቼዋለሁ። ስለዚህ ፣ በዚህ አጋዥ ስልጠና ውስጥ የአዳፍሬትን ቤተ -መጽሐፍት እጠቀማለሁ።

የ OLED ማሳያውን ለመቆጣጠር “adafruit_GFX.h” ቤተ -መጽሐፍት እና “adafruit_SSD1306.h” ቤተ -መጽሐፍት ያስፈልግዎታል።

ቤተ -መጽሐፍቱን ወደ አርዱዲኖ አይዲኢ ማውረድ እና መጫን የሚችሉበት ሁለት መንገዶች አሉ።

ዘዴ 1

ወደ “የቤተመጽሐፍት አስተዳዳሪ” ይሂዱ እና “adafruit_SSD1306” እና “adafruit_gfx” ን ይፈልጉ

የቅርብ ጊዜውን ስሪት ይምረጡ እና ጫን የሚለውን ቁልፍ ይጫኑ።

አንዴ ከተጫኑ በፕሮግራምዎ ውስጥ እነዚህን ቤተመፃህፍት መጠቀም ይችላሉ።

ዘዴ 2

እነዚህ ሁለት ቤተ -መጽሐፍት እንዲሁ ከ github ማውረድ ይችላሉ (ሁለቱንም ያስፈልግዎታል)

ከዚህ በታች ባለው መግለጫ ውስጥ አገናኞችን አቀርባለሁ።

የማሳያ ቤተ -መጽሐፍት

የ GFX ቤተ-መጽሐፍት-

አንዴ ካወረዱ ፣ Adafruit_SSD1306- ዋና አቃፊውን ከወረደው ዚፕ ፋይል ወደ አርዱዲኖ ቤተመፃህፍት አቃፊ ይቅዱ። ይህ አቃፊ ብዙውን ጊዜ በዊንዶውስ ሲስተሞች ላይ በሰነዶች> አርዱinoኖ> ቤተ -መጻሕፍት ላይ ይገኛል። በሊኑክስ ላይ ብዙውን ጊዜ በቤት አቃፊ> አርዱinoኖ> ቤተ -መጽሐፍት ውስጥ ይገኛል። በመጨረሻ በአርዱዲኖ ቤተመጽሐፍት አቃፊ ውስጥ Adafruit_SSD1306- ዋና አቃፊውን ወደ አዳፍ ፍሬ_SSD1306 እንደገና ይለውጡ። ምንም እንኳን እንደገና ካልሰየሙ ጥሩ ነው።

ደረጃ 7

ምስል
ምስል

አሁን ፣ “Adafruit_SSD1306.h” ን እንመልከት።

ፋይል

በዚህ ቤተ -መጽሐፍት ውስጥ ማወቅ ያለብን ሁለት ነገሮች

1. አነስተኛውን ማሳያ ለመጠቀም ከፈለጉ ነባሪውን 128_32 ይጠቀሙ ፣ አለበለዚያ ለትልቁ ማሳያ አስተያየት 128_32 ን እና 128_64 ን አለማወቅ።

2. በቦርዱ ላይ የ 0x7A አድራሻውን ከሸጡ (በኋላ የምንነጋገረው) ከዚያ ለትላልቅ ማሳያዎች 7 ቢት 0x3 ዲ አድራሻ ይጠቀሙ ፣ አለበለዚያ ነባሪውን የ 0x3C አድራሻ ይጠቀሙ። ለአነስተኛ ማሳያዎች አድራሻው 0x3C ነው።

ደረጃ 8 - ሽቦ 128 X 64/32 OLED ዎች

ሽቦ 128 X 64/32 OLED ዎች
ሽቦ 128 X 64/32 OLED ዎች

NodeMCU ን ከማሳያው ጋር በማገናኘት እንጀምር።

ልብ ሊባል የሚገባው የመጀመሪያው እና በጣም አስፈላጊው ነገር አንዳንድ ማሳያዎች የ GND እና VCC የኃይል ቁልፎች በዙሪያቸው ተለዋውጠው ሊኖራቸው ይችላል። ከምስሉ ጋር ተመሳሳይ መሆኑን ለማረጋገጥ ማሳያዎን ይፈትሹ። ካስማዎቹ ከተለዋወጡ ግንኙነቶቹን ወደ አርዱዲኖ ወይም ኖድኤምሲዩ መለወጥዎን ያረጋግጡ።

- NodeMCU OLED ሽቦ

OLED VCC - NodeMCU 3.3V

OLED GND - NodeMCU GND

OLED SCL - NodeMCU D1

OLED SDA - NodeMCU D2

- አርዱዲኖ ኡኖ ኦሌድ ሽቦ

OLED VCC - Arduino 5V

OLED GND - Arduino GND

OLED SCL - Arduino Uno A5

OLED SDA - Arduino Uno A4

- አርዱዲኖ MEGA 2560 OLED ሽቦ

OLED VCC - Arduino 5V

OLED GND - Arduino GND

OLED SCL - Arduino MEGA 2560 pin 21

OLED SDA - Arduino MEGA 2560 pin 20

ደረጃ 9 ኮድ

ኮድ
ኮድ
ኮድ
ኮድ
ኮድ
ኮድ
ኮድ
ኮድ

አዳፍ ፍሬዝ ቤተ -መጽሐፍት ለሁለቱም በእውነት ጥሩ ምሳሌዎችን ይዞ ይመጣል

128x32 እና 128x64 ማሳያዎች።

ቤተ -መጽሐፍት በፋይል> ምሳሌዎች> Adafruit SSD1306> እና ከዚያ በአርዱዲኖ አይዲኢ ውስጥ የማሳያ ዓይነት ይገኛል።

እኛ የ 128x32 I2C ምሳሌን እንጠቀማለን እና ከአርዱዲኖ እና ከዚያ ወደ ኖድኤምሲዩ ቦርድ በማያያዝ ከሁለቱም 128x64 እና 128x32 ማሳያዎች ጋር እንዲሠራ እናስተካክለዋለን።

ኮዱ የሚጀምረው ሁለቱንም የአዳፍሮት ቤተ -መጻሕፍት በማካተት ነው። በዚህ መማሪያ ውስጥ በሁለቱም ሰሌዳዎች እና ማሳያዎች ላይ ለመጫን የሚያስፈልጉንን የኮዱን ክፍሎች ብቻ አፅንዖት እሰጣለሁ። ስለ ኮዱ የበለጠ ለማወቅ ከፈለጉ እባክዎን በብሎጌ ላይ ወይም ከዚህ በታች ባለው የአስተያየቶች ክፍል ውስጥ አስተያየት ይጣሉ እና ወደ እርስዎ ለመመለስ እጥራለሁ።

- በመጀመሪያ ኮዱን ከ 128x32 ማሳያ ጋር ወደተገናኘ አርዱዲኖ ናኖ እንጭነዋለን።

ያለ ምንም ማሻሻያዎች ኮዱን ልንጠቀምበት እንችላለን።

128x32 የ 0x3C አድራሻ ይጠቀማል ስለዚህ ይህ ትንሽ እዚህ ጥሩ ይመስላል ፣ የራስጌ ቤተመፃሕፍትን ሁለት ጊዜ እንዲፈትሽ ያስችለዋል ፣ አዎ እሱ ደግሞ የ 0x3C አድራሻውን ይጠቀማል እና የማሳያው ዓይነት 128x32 ነው።

- አሁን 128x64 ማሳያውን እናገናኝ። እኛ እንደምናውቀው የ 0x3C አድራሻውን በነባሪነት ይጠቀማል ስለዚህ አድራሻውን በኮድ ወይም በቤተመጽሐፍት ውስጥ ማዘመን አያስፈልገንም።

እኛ 128_32 ን አስተያየት መስጠት እና 128_64 ን በአርዕስት ቤተ -መጽሐፍት ውስጥ ማቃለል እና LCDHEIGHT ን በእኛ ኮድ ውስጥ ወደ 64 መለወጥ ብቻ ያስፈልገናል።

- አሁን በ NodeMCU ላይ ተመሳሳይ ኮድ ለማሄድ በእኛ ኮድ ውስጥ አንድ ተጨማሪ መስመር መለወጥ አለብን።

“#ገላጭ OLED_RESET 4”> “#ገላጭ OLED_RESET LED_BUILTIN” የተቀረው ኮድ ከአርዱinoኖ ጋር አንድ ነው

በመጠቀም ቀዳሚውን ማያ ገጽ ለማጽዳት መጀመሪያ የሚያስፈልገንን ማንኛውንም ነገር ለማሳየት በጣም ቆንጆ

display.clearDisplay (); // ቋቱን ያፅዱ

ከዚያ እቃውን ይሳሉ

testdrawline (); // መስመር ይሳሉ

በሃርድዌር ላይ ያሳዩ

display.display (); // በማሳያ ሃርድዌር ላይ እንዲታዩ ያድርጓቸው!

የሚቀጥለውን ንጥል ከማሳየትዎ በፊት ለተወሰነ ጊዜ ይጠብቁ።

መዘግየት (2000); // ለ 2 ሰከንዶች ይጠብቁ

በዚህ ምሳሌ ውስጥ እንደ ጽሑፍ ፣ መስመሮች ፣ ክበቦች ፣ የማሸብለል ጽሑፍ ፣ ሦስት ማዕዘኖች እና ሌሎችም ያሉ ጥቂት ንጥሎችን እያሳየን ነው። ይቀጥሉ እና ሀሳብዎን ይጠቀሙ እና በእነዚህ ጥቃቅን ማሳያዎች ላይ የሚፈልጉትን ሁሉ ያሳዩ።

ደረጃ 10 ጽሑፍን ማበጀት እና ምስሎችን ማከል

ጽሑፍን ማበጀት እና ምስሎችን ማከል
ጽሑፍን ማበጀት እና ምስሎችን ማከል
ጽሑፍን ማበጀት እና ምስሎችን ማከል
ጽሑፍን ማበጀት እና ምስሎችን ማከል
ጽሑፍን ማበጀት እና ምስሎችን ማከል
ጽሑፍን ማበጀት እና ምስሎችን ማከል

አንዳንድ ጊዜ ኮድዎ ብጁ ቅርጸ -ቁምፊዎችን ማሳየት እና ይፈልጋል

ምስሎች። በቢት ካርታ ውስጥ በጣም ጥሩ ከሆኑ ታዲያ ብጁ ቅርጸ -ቁምፊዎችን እና ምስሎችን ለመፍጠር የማሳያውን ጥቃቅን LED ዎች በማብራት ወይም በማጥፋት የባይት ድርድር መፍጠር ያስፈልግዎታል።

ሆኖም ፣ እኔ እነዚህን ካርታዎች በማድረጉ በጣም ጥሩ አይደለሁም እና የትንሽ ካርታ ሰንጠረ creatingችን በመፍጠር ሰዓታት ማሳለፍ አልፈልግም።

ስለዚህ ፣ የእኔ አማራጮች ምንድ ናቸው? እኔ ብጁ ቅርጸ -ቁምፊዎችን እና ምስሎችን ለማመንጨት በአጠቃላይ ሁለት ድር ጣቢያዎችን እጠቀማለሁ። አገናኞቹ ከዚህ በታች ባለው መግለጫ ቀርበዋል።

ብጁ ቅርጸ ቁምፊዎች

ወደ የቅርጸ -ቁምፊ መቀየሪያ ድር ጣቢያ ይሂዱ ፣ የቅርጸ -ቁምፊውን ቤተሰብ ፣ ዘይቤ ፣ መጠን ፣ የቤተ -መጽሐፍት ሥሪት እንደ “አዳፍ ፍሬፍ ጂኤፍኤክስ ቅርጸ -ቁምፊ” ይምረጡ እና ከዚያ “ፍጠር” ቁልፍን ይምቱ። በዚህ ገጽ በስተቀኝ በኩል ቅርጸ -ቁምፊዎ በእውነተኛ ማሳያ ላይ እንዴት እንደሚመስል ማየት ይችላሉ።

በምርጫዎ ላይ በመመስረት ድረ -ገጹ የቅርጸ -ቁምፊዎች ራስጌ ፋይልን ያመነጫል። ኮድዎ ባለበት በዚሁ አቃፊ ውስጥ “modified_font.h” የተባለ ፋይል ይፍጠሩ እና የተፈጠረውን ኮድ ይቅዱ እና ያስቀምጡ። ከዚያ ብጁ ቅርጸ -ቁምፊውን ለመጠቀም የራስዎን ፋይል በኮድዎ ውስጥ ማካተት ብቻ ያስፈልግዎታል።

#"የተቀየረ_ፎንት.ህ" ን ያካትቱ

ከዚያ ብጁ ቅርጸ -ቁምፊውን በእሱ ላይ ለመተግበር ጽሑፉን ከማሳየቱ በፊት ቅርጸ -ቁምፊውን ማዘጋጀት ያስፈልግዎታል።

display.setFont (& Your_Fonts_Name);

አሁን በፕሮጀክትዎ ላይ ካከሉት የራስጌ ፋይል የቅርጸ ቁምፊውን ስም ማግኘት ይችላሉ። ያ ፣ ቀላል።

ብጁ ቅርጸ -ቁምፊዎችን በሚጠቀሙበት ጊዜ ማህደረ ትውስታ ሁል ጊዜ የሚያሳስብ ነው ፣ ስለሆነም ሁል ጊዜ በማስታወሻው የሚጠቀሙትን ባይቶች ያስቡ። ያስታውሱ አርዱዲኖ UNO የማስታወስ ችሎታ 32 ኪ ብቻ ነው።

ብጁ ምስሎች

በማያ ገጽዎ ላይ የቢት ካርታ ምስል ለማሳየት በመጀመሪያ 128 x 64/32 መጠን ያለው ምስል መፍጠር ያስፈልግዎታል።

እኔ ወደዚህ የምስል መቀየሪያ ድር ጣቢያ የምሰቅለውን 128 x 64 ቢትማፕ ምስል ለመፍጠር ጥሩውን “MS Paint” እጠቀማለሁ። ድር ጣቢያው ምስሎችን ወደ ባይት-ሕብረቁምፊዎች ይቀይራል ፣ ይህም ከአርዱዲኖ እና ከ OLED ማሳያዎች ጋር ሊያገለግል ይችላል።

ምስሉን ወደ ድር ጣቢያው በመስቀል ይጀምሩ። ከዚያ በ “የምስል ቀለሞችን ይገለብጡ” አመልካች ሳጥኑ ላይ ምልክት ያድርጉ እና “የውጤት ኮድ ቅርጸት” ወደ “አርዱዲኖ ኮድ” በመቀጠል አቅጣጫውን ይምረጡ እና የባይት ድርድር ለማመንጨት “ኮድ ፍጠር” ቁልፍን ይምቱ። የ “ቅድመ ዕይታ” ክፍል ምስልዎ በእውነተኛ ማሳያ ላይ እንዴት እንደሚመስል ያሳየዎታል።

ምስሎችዎን ለማሳየት ሊጠቀሙበት ከሚችሉት ከዚህ አጋዥ ስልጠና ጋር ኮዱን አካትቻለሁ። እርስዎ በኮድዎ ውስጥ ያለውን ድርድር እርስዎ አሁን በፈጠሩት መተካት እና ከዚያ ወደ አርዱinoኖ መጫን ብቻ ያስፈልግዎታል።

ደረጃ 11 - 2 ማሳያዎችን በማገናኘት ላይ

2 ማሳያዎችን በማገናኘት ላይ
2 ማሳያዎችን በማገናኘት ላይ
2 ማሳያዎችን በማገናኘት ላይ
2 ማሳያዎችን በማገናኘት ላይ

ሁለት 128 x 64 ማሳያዎችን ከፕሮጀክትዎ ጋር ማገናኘት ቀላል ነው።

ከ 0x78 አድራሻ የ 0Ohm resistor ን መፍታት እና በ 0x7A ላይ ማስቀመጥ እና ከዚያ በነባሪ 0x3C ምትክ በኮድዎ ውስጥ የ 0x3D አድራሻ መጠቀም ያስፈልግዎታል።

ለምን 0x3C እና 0x3D አድራሻ እንጠቀማለን እና ትክክለኛው 0x78 እና 0x7A እንዳልሆነ እያሰቡ መሆን አለበት። አርዱinoኖ የ 7 ቢት አድራሻውን እንጂ የ 8 ቢት ሃርድዌር አድራሻዎችን አይቀበልም። ስለዚህ ፣ መጀመሪያ የ 8 ቢት አድራሻውን ወደ ሁለትዮሽ መለወጥ እና በመቀጠል 7 ቱን ቢት ለማግኘት ቢያንስ ጉልህ የሆነውን ትንሽ መቁረጥ አለብን። ከዚያ በኮድዎ ውስጥ ያስገቡትን 0x3C ወይም 0x3D አድራሻዎችን ለማግኘት 7 ቢትዎቹን ወደ HEX ይለውጡ።

በመጀመሪያ ፣ ልዩ ስም በመስጠት ማሳያውን ያስጀምሩት-

Adafruit_SSD1306 ማሳያ 1 (OLED_REST);

Adafruit_SSD1306 ማሳያ 2 (OLED_REST);

ከዚያ በኮድዎ ውስጥ የመሣሪያ አድራሻዎች በውስጣቸው ያሉትን የመጀመሪያ መግለጫዎች ለመደወል ማሳያውን 1 እና 2 ን ይጠቀሙ -

display1.begin (SSD1306_SWITCHCAPVCC ፣ 0x3C); // ማሳያ 1 የአድራሻ አድራሻ 0x3C

display2.begin (SSD1306_SWITCHCAPVCC, 0x3D); // ማሳያ 2 ኦፕ አድራሻ 0x3D

ያ ብቻ ነው ፣ አሁን በቀሪው ኮድዎ ውስጥ ማሳያ 1 ወይም ማሳያ 2 ን በመጠቀም የፈለጉትን ማድረግ ይችላሉ። በዚህ አጋዥ ስልጠና አንድ ምሳሌ ሰጥቻለሁ።

ሽቦ ከዚህ በፊት ከሠራነው ጋር አንድ ነው ፣ እርስዎ በአርዲኖ ወይም በ NodeMCU ተመሳሳይ I2C ፒኖች ላይ ሌላ ማሳያ ማከል ብቻ ያስፈልግዎታል። በአድራሻዎቹ ላይ በመመስረት ፣ MCU ከዚያ መረጃውን በ I2C የውሂብ መስመር ላይ ይልካል።

ደረጃ 12 ከ 2 በላይ ማሳያዎችን ማገናኘት

ከ 2 በላይ ማሳያዎችን በማገናኘት ላይ
ከ 2 በላይ ማሳያዎችን በማገናኘት ላይ
ከ 2 በላይ ማሳያዎችን በማገናኘት ላይ
ከ 2 በላይ ማሳያዎችን በማገናኘት ላይ
ከ 2 በላይ ማሳያዎችን በማገናኘት ላይ
ከ 2 በላይ ማሳያዎችን በማገናኘት ላይ

አሁን ፣ ከ 2 ማሳያዎች በላይ ማያያዝ ከፈለጉስ?

አርዱዲኖ የተወሰነ የፒን ብዛት አለው እና ስለሆነም ከእሱ ጋር ከተያያዙት የተወሰኑ ጋሻዎች በላይ ሊኖርዎት አይችልም። ከዚህም በላይ አንድ ጥንድ I2C አውቶቡሶች ብቻ አሉት።

ስለዚህ ፣ ከ 2 I2C ማሳያዎች በላይ እንዴት ወደ አርዱዲኖ ማያያዝ እንችላለን? ዘዴው TCA9548 Multiplexer ን መጠቀም ነው።

TCA9548 ለእያንዳንዱ ማይክሮሶፍት ባሪያ ንዑስ አውቶቡስ ልዩ ሰርጥ በመመደብ አንድ ዓይነት ማይክሮ መቆጣጠሪያ እስከ ‹64 ዳሳሾች ›ድረስ ሁሉም ተመሳሳይ ወይም የተለየ የ I2C አድራሻ እንዲገናኝ ያስችለዋል።

ከ 2 ሽቦዎች በላይ መረጃን ወደ ብዙ መሣሪያዎች ስለ መላክ ስንነጋገር ከዚያ እነሱን ለመቅረፍ መንገድ እንፈልጋለን። ፖስታ ቤቱ በአንድ መንገድ ላይ እንደመጣ እና የፖስታ ጥቅሎችን ወደ ተለያዩ ቤቶች እንደወረደ ተመሳሳይ ነው ምክንያቱም እነሱ የተፃፉባቸው የተለያዩ አድራሻዎች ስላሉ።

Multiplexer ከጥቃቅን ተቆጣጣሪው 3V3 ፣ GND ፣ SDA እና SCL መስመሮች ጋር ይገናኛል። የባሪያ ዳሳሾች በቦርዱ ላይ ካሉት ስምንት SCL/SDA የባሪያ ወደቦች በአንዱ ተገናኝተዋል። ሰርጦቹ የተመረጡት TCA9548A ን የ I2C አድራሻውን (0x70 {default} - 0x77) በመቀጠል የሰርጥ ቁጥር (0b00000001 - 0b10000000) በመላክ ነው። 64 ተመሳሳይ የ I2C አድራሻ ክፍሎች 64 ን ለመቆጣጠር በ 0x70-0x77 አድራሻዎች ላይ በአንድ ላይ የተገናኙት የእነዚህ ባለብዙ ሜትሮች ከፍተኛው 8 ላይ ሊኖርዎት ይችላል። ሦስቱን የአድራሻ ነጥቦችን A0 ፣ A1 እና A2 ን ከ VIN ጋር በማገናኘት የተለያዩ የአድራሻዎችን ጥምረት ማግኘት ይችላሉ። ይህንን በጥልቀት በ TCA9548A የመገንጠያ ሰሌዳ ላይ በሚቀጥለው ትምህርቴ ውስጥ አብራራለሁ። ለአሁን ፣ 8 ሰሌዳዎችን (OLED) ብቻ በዚህ ሰሌዳ ላይ ለማገናኘት እና ኮዱን በፍጥነት ለመመልከት ያስችለናል።

ግንኙነት ፦

ቪን ወደ 5 ቪ (ወይም 3.3 ቪ)

GND ወደ መሬት

SCL ወደ I2C ሰዓት

ኤስዲኤ ወደ I2C ውሂብ

ከዚያ ዳሳሾቹን ወደ ቪን ፣ ጂኤንዲ ያገናኙ እና ከ SCn / SDn ባለብዙ -አውቶቡሶች አንዱን ይጠቀሙ

አሁን ፣ Int ኮዱ የ “ሽቦ” ቤተ -መጽሐፍትን በማካተት እና የብዙ -ነጥብ አድራሻን በመወሰን ይጀምራል።

#"Wire.h" ን ያካትቱ

#ያካትቱ

#መግለፅ MUX_Address 0x70 // TCA9548A የኢኮደር አድራሻዎች

ከዚያ እኛ ልንገናኝበት የምንፈልገውን ወደብ መምረጥ እና ይህንን ተግባር በመጠቀም በላዩ ላይ ያለውን ውሂብ መላክ ያስፈልገናል-

ባዶነት tcaselect (uint8_t i) {

(i> 7) ከተመለሰ;

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

Wire.write (1 << i);

Wire.endTransmission ();

}

በመቀጠል “u8g.begin ();” ን በመደወል በማዋቀሪያው ክፍል ውስጥ ማሳያውን እናስጀምራለን። ከ MUX “tcaselect (i)” ጋር ለተያያዘ ለእያንዳንዱ ማሳያ።

አንዴ ከተነሳን በኋላ ተግባሩን “tcaselect (i) ፤” ብለን በመጥራት የፈለግነውን ማድረግ እንችላለን። ባለ ብዙ ባለአውቶቡስ ዋጋ “i” እና ከዚያ መረጃውን እና ሰዓቱን በዚሁ መሠረት ይልካል።

ደረጃ 13 ጥቅሞች እና ጉዳቶች

ጥቅሞች እና ጉዳቶች
ጥቅሞች እና ጉዳቶች

የ OLED ምስል ቆንጆ ነው። ሆኖም ኦሌዶችም እንዲሁ አላቸው

ጉዳቶች። የ OLED ማያ ገጾች የኦርጋኒክ ቁሳቁሶችን ስለያዙ ፣ ዕድሜያቸው ከኤልሲዲ ማሳያዎች አጭር ነው። በተጨማሪም ፣ ብዙ የ OLED ማሳያዎች ተመሳሳይ ምስል ለረጅም ጊዜ ካሳዩ በኋላ ይቃጠላሉ። ከተቃጠለ በኋላ ምስሉ ሌላ ምስል ካሳየ በኋላ እንኳን በማያ ገጹ ላይ ይቆያል። ስለዚህ ማያ ገጹን በየጥቂት ሰከንዶች ማደስዎን ያረጋግጡ። ውሃ የእነዚህን ማሳያዎች ኦርጋኒክ ቁሳቁሶች ወዲያውኑ ሊጎዳ ይችላል።

ጥቅሞች

የጀርባ ብርሃን አያስፈልግም

ማሳያዎች በጣም ቀጭን እና ቀላል ናቸው

ዝቅተኛ የኃይል ፍጆታ

የእይታ ማዕዘኖች ከ LCDs የበለጠ ሰፊ ናቸው

ብሩህነት እና ንፅፅር በጣም ጥሩ ናቸው

ከፍተኛ ፍጥነት እና ዝቅተኛ የምላሽ ጊዜ አላቸው

ጥልቅ ጥቁር ቀለም

ጉዳቶች

ውድ ቴክኖሎጂ

አጭር የሕይወት ዑደት

OLEDS የመቃጠል እድላቸው ሰፊ ነው

የውሃ ጉዳት

ደረጃ 14 የተለመዱ ስህተቶች

የተለመዱ ስህተቶች
የተለመዱ ስህተቶች

ትምህርቱን ለማጠቃለል ስለ ጥቂት የተለመዱ ስህተቶች እንነጋገር

ሰዎች እነዚህን ማሳያዎች ሲጠቀሙ ያደርጉታል-

- በፕሮጀክትዎ ውስጥ ከመጠቀምዎ በፊት ሁል ጊዜ ፒኖችን ይፈትሹ

- በአርዕስት ፋይል ውስጥ እና በኮድዎ ውስጥ ትክክለኛውን የቤተ -መጽሐፍት አድራሻ ያንሱ

#መግለፅ SSD1306_I2C_ADDRESS 0x3C // በአዳፍሪት_SSD1306.h

እና

display.begin (SSD1306_SWITCHCAPVCC ፣ 0x3C); // በኮድዎ ውስጥ

አድራሻው የተሳሳተ ከሆነ OLED ምንም አያሳይም

- ጥቅም ላይ ከመዋሉ በፊት የማሳያው መጠን በአሽከርካሪው ውስጥ መለወጥ አለበት። ካልተለወጠ ኮዱን ለማረጋገጥ ሲሞክሩ የስህተት መልእክት ይደርሰዎታል

#ስህተት ("ቁመት ትክክል አይደለም ፣ እባክዎን Adafruit_SSD1306.h!");

- NodeMCU ን የሚጠቀሙ ከሆነ OLED_RESET ን ከ 4 ወደ LED_BUILTIN መተካትዎን ያረጋግጡ።

#OLED_RESET LED_BUILTIN ን ይግለጹ

ይህንን የ OLED ማሳያ በመጠቀም ሁሉንም ዓይነት ነገሮችን የሚያደርጉ ትዕይንት ሰዎች አሉኝ። እንዲያውም አንዳንዶቹ የቪዲዮ ጨዋታዎችን እና ሁሉንም ሠርተዋል። ይህንን ትንሽ ማሳያ በመጠቀም የቪዲዮ ጨዋታ ለመሥራት በእውነት ፍላጎት የለኝም። ሆኖም ፣ ሀሳቦችዎን ለመመርመር እና በሚያስደንቁ ሀሳቦች እንዲወጡ አሁን እተወዋለሁ።

ደረጃ 15 አገናኞች

- ብሎግ -

- ምስል ያክሉ -

- ብጁ ጽሑፍ:

- የአዳፍሮት ማሳያ ቤተ -መጽሐፍት-

-አዳፍ ፍሬው ጂኤፍኤፍ ቤተ-መጽሐፍት-

- u8glib ቤተ -መጽሐፍት https://code.google.com/archive/p/u8glib/ ወይም

አነስተኛውን ማሳያ ለመጠቀም ከፈለጉ ነባሪውን 128_32 ይጠቀሙ ፣ አለበለዚያ ለትልቁ ማሳያ አስተያየት 128_32 ን እና በኮድዎ ውስጥ 128X64 NO_ACK ን አለማክበር (እርስዎ የሚጠቀሙበትን የማያ ገጽ አይነት ብቻ አለማክበር) (ቅርጸ -ቁምፊዎች በፎንቶች ቤተ -መጽሐፍት ውስጥ ናቸው)

የሚመከር: