ዝርዝር ሁኔታ:

መግቢያ ESP32 ሎራ OLED ማሳያ 8 ደረጃዎች
መግቢያ ESP32 ሎራ OLED ማሳያ 8 ደረጃዎች

ቪዲዮ: መግቢያ ESP32 ሎራ OLED ማሳያ 8 ደረጃዎች

ቪዲዮ: መግቢያ ESP32 ሎራ OLED ማሳያ 8 ደረጃዎች
ቪዲዮ: MAC Address Explained 2024, ሀምሌ
Anonim
Image
Image
መግቢያ ESP32 ሎራ OLED ማሳያ
መግቢያ ESP32 ሎራ OLED ማሳያ

የ ESP32 LoRa መግቢያ በተመለከተ ይህ ሌላ ቪዲዮ ነው። በዚህ ጊዜ በተለይ ስለ ግራፊክ ማሳያ (ከ 128x64 ፒክሰሎች) እንናገራለን። በዚህ የ OLED ማሳያ ላይ መረጃን ለማሳየት እና የ XBM ምስሎችን በመጠቀም የአኒሜሽን ምሳሌን ለማቅረብ SSD1306 ቤተ -መጽሐፍትን እንጠቀማለን።

ደረጃ 1 - ያገለገሉ ሀብቶች

ጥቅም ላይ የዋሉ ሀብቶች
ጥቅም ላይ የዋሉ ሀብቶች

1 ሄልቴክ ዋይፋይ LoRa 32

ፕሮቶቦርድ

ደረጃ 2 - ማሳያ

ማሳያ
ማሳያ
ማሳያ
ማሳያ

በልማት ቦርድ ላይ ጥቅም ላይ የዋለው ማሳያ 0.96 ኢንች OLED ነው።

128x64 አለው እና ሞኖክሮም ነው።

የ I2C ግንኙነት አለው እና ከ ESP32 ጋር በ 3 ሽቦዎች ተገናኝቷል-

ኤስዲኤ በ GPIO4 (ለመረጃ)

SCP በ GPIO15 (ለሰዓት)

በ GPIO16 ላይ RST (ለዳግም ማስጀመር እና ለማሳየት መጀመሪያ)

ደረጃ 3 - SSD1306 ቤተ -መጽሐፍት

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

ይህ በሄልቴክ-አሮን-ሊ ከሚሰጡት የቤተ-መጻህፍት ስብስብ ጋር አብሮ ሊገኝ ይችላል።

ሕብረቁምፊዎችን ለመፃፍ ፣ መስመሮችን ለመሳል ፣ አራት ማዕዘን ቅርጾችን ፣ ክበቦችን እና ምስሎችን ለማሳየት በርካታ ተግባራት አሉት።

github.com/Heltec-Aron-Lee/WiFi_Kit_series

ደረጃ 4 የአኒሜሽን እና የኤክስቢኤም ፋይሎች

አኒሜሽን እና ኤክስቢኤም ፋይሎች
አኒሜሽን እና ኤክስቢኤም ፋይሎች
አኒሜሽን እና ኤክስቢኤም ፋይሎች
አኒሜሽን እና ኤክስቢኤም ፋይሎች
አኒሜሽን እና ኤክስቢኤም ፋይሎች
አኒሜሽን እና ኤክስቢኤም ፋይሎች

እነማ ለማሳየት የቤተ መፃህፍቱን drawXbm ተግባር እንጠቀማለን።

የኤክስቢኤም ምስል ቅርጸት በሄክሳዴሲማል እሴት አማካይነት እያንዳንዱ ንጥረ ነገር በጽሑፍ የሞኖክሮም ፒክሰሎችን (እያንዳንዳቸው 1 ቢት) ስብስብ የሚወክልባቸውን የቁምፊዎች ድርድር ያካትታል። እነዚህ ከአንድ ባይት ጋር እኩል ናቸው።

ብዙ ቁምፊዎች አንድ ባይት ለመወከል ጥቅም ላይ ስለሚውሉ ፣ እነዚህ ፋይሎች በአሁኑ ጊዜ ከተቀበሉት ቅርፀቶች የበለጠ ይበልጣሉ። ጥቅሙ ያለ ቅድመ ህክምና ሳያስፈልጋቸው በቀጥታ ሊሰበሰቡ ይችላሉ።

ከድርድር በተጨማሪ ፣ የምስል መጠኑን የሚወስኑ ሁለት ቅንብሮች ተካትተዋል።

እነማውን ለመገንባት ፣ ፍሬሞችን የሚሠሩ ምስሎች ያስፈልጉናል።

ሥራ ለማግኘት ማንኛውንም የምስል አርትዖት ሶፍትዌር መጠቀም እንችላለን። ልናደርጋቸው የሚገቡን ጥንቃቄዎች በመጀመሪያ መጠኑን ከማሳያው ጋር ተኳሃኝ እንዲሆኑ ማድረግ እና የሞኖክሮም ፋይሎችን መጠቀም ነው።

ፋይሎቹን ለማመንጨት እነሱን መሳል ወይም ምስሎችን ማስመጣት እንችላለን። እዚህ ፣ PaintBrush ን በመጠቀም የቀለም ምስል ለማርትዕ ወስነናል ፣ እና እያንዳንዱን ክፈፎች ቀረብን

የመጀመሪያው ምስል - 960x707 ፒክሰሎች --p.webp

ቀጣዩ ደረጃ እንደ monochrome bitmap በማስቀመጥ monochrome ማድረግ ነው።

ከዚያ ፣ ከማሳያው ጋር በሚስማማ መጠን እንለውጠዋለን።

ለመለኪያ አሃዶች ልዩ ትኩረት ይስጡ። በዚህ ሁኔታ ፣ የማሳያውን አጠቃላይ ቁመት (ቀጥ ያለ = 64 ፒክሰሎች) እንዲይዝ ምስሉን አስተካክለናል።

በትክክለኛው መጠን በምስሉ ፣ ክፈፎቹን ለማስተካከል እናስተካክለዋለን። እዚህ ፣ እያንዳንዱን የምልክት ደረጃ ቀስት እያጠፋን እና እንደ ተጓዳኝ ክፈፎች እናስቀምጣቸዋለን።

አሁን ፣ የ BMP ፋይሎችን ወደ XBM ቅርጸት መለወጥ አለብን።

ይህንን ልወጣ ማድረግ የሚችሉ በርካታ የሶፍትዌር አማራጮች አሉ። እንዲሁም GIMP ን እንደ አርታዒ አማራጭ መርጠናል።

በእኛ ምሳሌ ውስጥ ፋይሎችን ለማመንጨት እና ለማርትዕ PaintBrush ን እንጠቀም ነበር። ሆኖም ፣ እያንዳንዳቸው እነዚህ ሂደቶች በጂምፕ (ወይም በሌላ አርታኢ) ውስጥ ሊከናወኑ ይችሉ ነበር።

ለመለወጥ መጀመሪያ ፋይሉን እንከፍተዋለን።

ምስሉ ክፍት ሆኖ ፋይል => ወደ ውጭ ላክ እንደ…

በኤክስፖርት ምስል መስኮት ውስጥ ለኤክስቢኤም የመድረሻ ፋይል ቅጥያውን መለወጥ አለብን። ጂምፕ የሚፈለገውን ቅርጸት የመለየት እና ተጨማሪ አማራጮችን የማቅረብ ሃላፊነት ይኖረዋል…

ወደ ውጭ በሚላክበት ጊዜ ጂምፕ ሌሎች አማራጮችን ይሰጣል። ነባሪ እሴቶችን መተው እንችላለን።

ሁሉንም ፋይሎች ከለወጡ በኋላ ፣ ለእያንዳንዱ ክፈፍ አንድ አራት የኤክስቢኤም ፋይሎች ይኖረናል።

አሁን ወደ ምንጭ ኮድ አቃፊ እንገለብጣቸው እና ቅጥያዎቻቸውን ወደ.h በመቀየር እንደገና እንሰይማቸው።

ደረጃ 5 - ከ XBM ፋይሎች በመውጣት ላይ

ከ XBM ፋይሎች በመውጣት ላይ
ከ XBM ፋይሎች በመውጣት ላይ

በማንኛውም የጽሑፍ አርታኢ ውስጥ የ XBM ፋይሎችን መክፈት እንችላለን ፣ እዚያም ቀደም ሲል የተገለጹትን የምስል ማትሪክስ እና የምስል መጠን መረጃን እናያለን።

ደረጃ 6: የምንጭ ኮድ

ምንጭ ኮድ መግለጫዎች

አስፈላጊዎቹን ቤተ -መጻሕፍት ፣ እንዲሁም የምስል ፋይሎችን እንጨምራለን። የምስሉን አቀማመጥ እና የሽግግር ክፍተቱን እንገልፃለን። እንዲሁም ከ ESP32 ጋር የተገናኙትን የ OLED ፒኖችን እንጠቁማለን። በመጨረሻ ፣ የማሳያውን ነገር እንፈጥራለን እና እናስተካክለዋለን።

// Incluindo እንደ bibliotecas necessárias # # #SSD1306.h ን #ያካትቱ // Incluindo os arquivos de imagem #ያካትቱ “frame1.h” #Include “frame2.h“#include”frame3.h“#include”frame4.h” // definições de posição da imagem e intervalo de transição #define posX 21 #define posY 0 #define intervalo 500 // Pinos do OLED estão conctados ao ESP32: I2C // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // O RST deve ser controlado por ሶፍትዌር SSD1306 ማሳያ (0x3c ፣ SDA ፣ SCL ፣ RST) ፤ // Cria e ajusta o Objeto ማሳያ

ምንጭ ኮድ: ማዋቀር ()

ማሳያውን ያስጀምሩ እና ማያ ገጹን በአቀባዊ ይገለብጡ። እርምጃ አማራጭ አይደለም።

ባዶነት ማዋቀር () {display.init (); // inicia o የማሳያ ማሳያ። ተንሸራታች ማያ ገጽ በአቀባዊ (); // የተገላቢጦሽ አቀባዊ አንድ ቴላ (ኦፒዮናል)}

የምንጭ ኮድ - ሉፕ ()

በሉፕ ውስጥ የመጀመሪያው ነገር ማያ ገጹን ማጽዳት ነው። POSX እና posY የመጀመሪያ ቦታዎችን በመጠቀም ክፈፉን 1 ወደ ቋት ውስጥ እንጭነዋለን። በ frame1_width እና frame1_height የምስሉን መጠን እና የምስሉን ቁርጥራጮች የያዘውን የድርድር ስም እናሳውቃለን። ቀጣዩን ፍሬም ከማሳየታችን በፊት በማሳያው ላይ ያለውን ቋት እናሳያለን እና አንድ ክፍተት እንጠብቃለን።

ባዶነት loop () {display.clear (); // limpa tela // carrega para o buffer o frame 1 // usando as posições iniciais posX e posY // informa o tamanho da imagem com frame1_width e frame1_height // informa o nome da matriz que contem os bits da imagem, no caso frame1_bits display.drawXbm (posX ፣ posY ፣ frame1_width ፣ frame1_height ፣ frame1_bits); // mostra o buffer ምንም የማሳያ ማሳያ። አሳይ (); // aguarda um intervalo antes de mostrar o próximo frame frame (intervalo);

ለሁሉም ሌሎች ክፈፎች ሂደቱን እንደግማለን።

// repete o processo para todos os outros ክፈፎች display.clear (); display.drawXbm (posX ፣ posY ፣ frame2_width ፣ frame2_height ፣ frame2_bits); display.display (); መዘግየት (ኢንተርቫሎ); ማሳያ። ግልጽ (); display.drawXbm (posX ፣ posY ፣ frame3_width ፣ frame3_height ፣ frame3_bits); display.display (); መዘግየት (ኢንተርቫሎ); ማሳያ። ግልጽ (); display.drawXbm (posX ፣ posY ፣ frame4_width ፣ frame4_height ፣ frame4_bits); display.display (); መዘግየት (ኢንተርቫሎ); }

ደረጃ 7 የኮድ ጫን ማድረግ

የኮድ UpLoad ማድረግ
የኮድ UpLoad ማድረግ
የኮድ UpLoad ማድረግ
የኮድ UpLoad ማድረግ
የኮድ UpLoad ማድረግ
የኮድ UpLoad ማድረግ

በ IDE ክፍት ፣ የ.ino ፋይልን ሁለቴ ጠቅ በማድረግ ወይም ወደ ፋይል ምናሌ በመሄድ ፋይሉን ከምንጩ ኮድ ጋር ይክፈቱት።

በሄልቴክ ከዩኤስቢ ጋር በተገናኘ ምናሌውን ይምረጡ Tools => Card: "Heltec_WIFI_LoRa_32"

አሁንም በመሳሪያዎች ምናሌ ውስጥ ሄልቴክ የተገናኘበትን የ COM ወደብ ይምረጡ።

የ UPLOAD አዝራርን ጠቅ ያድርጉ…

… እና መደምደሚያውን ይጠብቁ።

ደረጃ 8 - ፋይሎች

ፋይሎቹን ያውርዱ ፦

ፒዲኤፍ

INO

የሚመከር: