Pasidaryk pats pasidaryk pats
Meistriškumo kursai, instrukcijos, naudingi patarimai, receptai.
» » »Kaip prijungti OLED I2C ekraną prie ARDUINO
Įvadas: 128 * 64/128 / * * 32 OLED I2C ekrano pristatymas.
Kaip prijungti OLED I2C ekraną prie ARDUINO

Sveiki Būdamas mėgėjas - elektronikos entuziastas, esu įsitikinęs, kad viskas, ką mes darome, yra elektroniniai žaislai - namie gaminami gaminiai ar dideli projektai - visa tai iš smalsumo ir tingumo. Smalsumas siekia suprasti ir suvokti didžiulį, nežinomą, suprasti, kaip jis ten veikia, ką jis veikia, kaip juda. Ir tinginystė sugalvoja tam, kad sugalvotų tai, kad neprisikeltų, neprigultų, nepakiltų, nesusigundytų ar dar ką nors svarbaus.

Kadangi pamatyti informaciją yra geriau nei suprasti, kas įvyks mūsų įrenginyje, jau įvyko ar vyksta, mes tikrai norėsime gauti šią labai naudingą informaciją iš savo mikrovaldiklių, jutiklių ar kitų prietaisų. Bet kuriuo atveju aš noriu gauti bet kokias žinutes, tokias kaip klausimai, įspėjimai, priminimai, šypsenėlės, žvaigždutės, širdys ir panašiai.

Tiems, kurie taip pat nori panašių, čia yra trumpas mažų ir nebrangių OLED ekranų prijungimo ir tikrinimo vadovas.
Toliau kalbėsime apie vieną iš plačiai prieinamų OLED ekranų, kuriuos valdo SSD1306 mikroschema, radijo bangų radijo modelių, kurių ekrano dydis yra 0,96 colio, o skiriamoji geba yra 128 * 64 arba 128 * 32 pikselių. Šie ekranai idealiai tinka mažiems mėgėjiškiems radijo imtuvams ir naminiams gaminiams kurti.
Kaip prijungti OLED I2C ekraną prie ARDUINO

1 žingsnis: Pagrindinės sąvokos


Mes jį sujungsime su Arduino UNO / NANO, gerai, ir pagal programą, mes taip pat sujungsime per Arduino.
  • OLED yra organinis šviesą skleidžiantis diodas, t.y., iš organinių junginių pagamintas puslaidininkinis įtaisas, kuris pradeda skleisti šviesą, kai pro jį praeina elektros srovė.
  • ARDUINO yra mokymo ir pastatų automatikos bei robotikos sistemų platforma.
  • ArduinoIDE yra vystymosi aplinka. Tai yra nemokamas Arduino programavimo įrankis.
  • I2C - integruotosios grandinės, tarpmikroschemų ryšio linija.
  • Eskizas, tai kodas, tai programa - „Arduino“ terminija.

Vykdykite instrukcijas, kad suprastumėte, kaip tinkamai prijungti ir konfigūruoti OLED ekraną prie „Arduino“ ir kaip savo ekrane rodyti savo pranešimą.
Viską darome žingsniais.

2 žingsnis: Priedai


Mums reikės tik keturių dalykų:
  • 1. Pats OLED ekranas yra 0,96 colio (galima nusipirkti „Aliexpress“ ar „Ebay“, - ilgas, bet pigus!).
  • 2. „Arduino UNO / Nano“ (toje pačioje vietoje kaip ir ekranas).
  • 3. Jungiamieji laidai (ten pat).
  • 4. Kompiuteris ar nešiojamas kompiuteris su įdiegtu ArduinoIDE.

Kaip prijungti OLED I2C ekraną prie ARDUINO

Apskritai pirkti dalis įvairiems projektams „Aliexpress“ ir „Ebay“ yra labai šaunus dalykas, kol jūs darote vieną projektą, dalys kitam jau yra pakeliui. Svarbiausia nepamiršti pateikti užsakymo.

3 veiksmas: prijunkite ekraną


Ekraną valdo SSD1306 mikroschema, palaikanti penkis ryšio protokolus, iš kurių vienas yra I2C. Duomenys apie šį protokolą perduodami tik dviem laidais, ir kuo mažiau laidų tuo atveju, tuo geriau, todėl jis mums tinka. Bet! Yra moduliai su SPI protokolu ir net protokolo perjungimu, todėl būkite atsargūs pirkdami šį modulį.
Kaip prijungti OLED I2C ekraną prie ARDUINO

Naudotos išvados:
OLED ekranas - SCL / SCK (laikrodis) ir SDA (duomenys), „Plus“ galia (VCC) ir „Minus“ galia (GND).
Kaip prijungti OLED I2C ekraną prie ARDUINO

Naudotos išvados:
„Arduino UNO - SCL / SCK“ ant A5 ir SSD su A4 formatu, „Plus“ galia (+ 5 V) ir „Minus“ galia (GND).
Prijunkite ekraną prie „Arduino“:
  • Vcc - 5 V
  • GND - GND
  • SDA - A4
  • SCL - A5

Kaip prijungti OLED I2C ekraną prie ARDUINO

4 žingsnis: „I2C“ skaitytuvas


Kiekvienas „I2C“ magistralės įrenginys turi šešioliktainį adresą, jo pakeisti negalite, jis yra sandariai susiūtas, kiekvienas atsakingas gamintojas turi tai nurodyti kažkur ant dėklo ar instrukcijose. Yra moduliai su jungikliais ir trumpikliais, kuriais galite pakeisti adresą, tačiau ... jei prietaisai yra pigūs - iki bjaurumo, tada gamintojas gali nesivarginti elgtis su tokia smulkmena, todėl jūs turėsite tai nustatyti patys.

Iš viso autobuse gali būti naudojama iki 127 adresų - 119 įrenginių ir 8 paslaugų adresai. Bendravimas vyksta šiais adresais.Yra meistras, jis yra meistras, bet yra ir vergas, jis taip pat yra vergas - kapitonai klausia, sekėjai reaguoja, viskas paprasta.
Kadangi mūsų OLED ekrane naudojamas I2C ryšio protokolas, o adresas gali būti nenurodytas, pabandysime išsiaiškinti patį adresą.

Tai galima padaryti atsisiųsdami trumpą eskizą į savo „Arduino“ plokštę, prie kurios prijungta OLED. BET!
Neskubėkite įkelti eskizo iš karto į Arduino! Pradėkime atsisiųsdami „tvarkyklę“, t. mes sujungsime bibliotekas, ir mes pereisime tiesiai prie „5 žingsnio“, o tada grįšime ir tęsime.

4 veiksmas: Tęsinys:


Atsisiųskite „CODE Finder_I2C_Hex_Address.ino“, įkelkite į „Arduino“.
Atidarykite „Port Monitor“, nustatykite 9600 greitį ir, jei viskas tinkamai sujungta, programa parodys įrenginio adresą, mano atveju OLED, kurio adresas 0x3F.
Kaip prijungti OLED I2C ekraną prie ARDUINO

5 veiksmas: atsisiųskite ir prijunkite bibliotekas


Norint, kad viskas veiktų tinkamai, ir nereikėjo išradinėti rato iš naujo, reikia prijungti porą bibliotekų prie „ArduinoIDE“ aplinkos, būtent: „ADAFRUIT GFX“ ir „ADAFRUIT SSD1306“, jos yra būtinos „Arduino“ galimybėms savarankiškai bendrauti su OLED ekranu.
Šias bibliotekas galite sujungti atlikdami šiuos veiksmus.
  • 1. „ArduinoIDE“ eikite į meniu „Eskizas“.
  • 2. Pasirinkite „Įtraukti bibliotekas“.
  • 3. Pasirinkite „Tvarkyti bibliotekas“ / Tvarkomos bibliotekos.
  • 4. Raskite ADAFRUIT GFX ir įdiekite juos.
  • 5. Suraskite ADAFRUIT SSD1306 ir įdiekite juos.

Naudojant naujausias bibliotekų versijas, ekranas man veikė kreivai, galbūt, žinoma, taip yra dėl rankų kreivumo, tačiau įdiegus pačias pirmąsias šių bibliotekų versijas viskas ėmė rodytis sklandžiai ir gražiai. Dėl tam tikrų priežasčių jo atmintyje pasirodo Puškino eilutės:
... ir patirtis, sunkių klaidų sūnus,
ir genijus, draugų paradoksai.

Kitas būdas įdiegti bibliotekas yra susirasti, atsisiųsti ir įdiegti šias bibliotekas.
Github pavyzdys:
https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/adafruit/Adafruit_SSD1306

Tai yra tos pačios „Adafruit“ bibliotekos, tačiau OLED I2C prašymu panašių bibliotekų lengva ieškoti paieškos sistemose. Daugelis entuziastų rašo bibliotekas „sau“, o paskui jas talpina internete. Kurią biblioteką naudoti, priklauso nuo jūsų.
Kad ekrane būtų rodomos rusiškos raidės, reikalingos ir specialios bibliotekos, tačiau tai yra atskira straipsnio tema atskirai.
Įdiegę bibliotekas, galite grįžti į 4 veiksmą ir galiausiai sužinoti šešioliktainį ekrano adresą.

6 žingsnis: Ekrano patikrinimas


Norėdami patikrinti, ar viskas veikia taip, kaip tikėtasi, paleiskite bandomąjį pavyzdį iš ArduinoIDE.
Norėdami tai padaryti:
Eikite Failas> PAVYZDŽIAI> SSD 1306> Pasirinkite 128x64 i2c
Jei gausite klaidą, pabandykite pasirinkti SSD 1306> 128x32 i2c.
Jei vėl kyla klaida, pabandykite pakeisti I2C adresą demonstracinio kodo 61 eilutėje ir pakeiskite jį ekrano adresu, kurį nustatėte atlikdami 4 veiksmą.
Jei klaida pasikartoja, galite pabandyti redaguoti „Adafruit_SSD1306.h“ failą, kuris yra aplanke su „Arduino“ bibliotekomis.
Kaip prijungti OLED I2C ekraną prie ARDUINO

Atidarykite „Adafruit_SSD1306.h“ failą teksto rengyklėje ir raskite eilutes:
// # apibrėžti SSD1306_128_64
#define SSD1306_128_32
// #define SSD1306_96_16 

Atšaukti eilutę:
#define SSD1306_128_64. 

Tai turėtų būti tokia:
#define SSD1306_128_64
// # apibrėžti SSD1306_128_32
// #define SSD1306_96_16

Jei klaida vėl pasireiškia, būtina patikrinti, ar teisingi jungtys.
Kai atsisiuntimas bus baigtas, ekrane pamatysite bandomąją animaciją, tai reiškia, kad sėkmingai sukonfigūravote savo OLED ekraną.

Kai jums patinka ši animacija, galite pereiti prie kito žingsnio.

7 veiksmas: rašykite savo pranešimą


Norėdami parašyti savo pranešimą, pirmiausia sukurkite naują eskizą „ArduinoIDE“ programavimo aplinkoje.
Antraštėje mes sujungiame 4 bibliotekas:
# įtraukti 
# įtraukti 
# įtraukite 
# įtraukite 

Tada mes rašome atstatymo protokolą:
#define OLED_RESET 4
„Adafruit_SSD1306“ ekranas (OLED_RESET);

VOID SETUP skyriuje nurodykite šešioliktainį mūsų 0x3C ekrano adresą, kurį sužinojome skyriuje Nr. 4.
Tada inicijuokite ekraną ir išvalykite:
„display.begin“ (SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay ();

Toliau, VOID LOOP, mes rašome pagrindinį kodą, tai yra mūsų pranešimą, kurį norime parodyti ekrane.
Norėdami tai padaryti, aprašome teksto dydį, teksto spalvą, žymeklio padėtį ir galiausiai, naudodami komandą println, rodome pranešimą:
display.setTextSize (2);
display.setTextColor (WHITE);
display.setCursor (0,0);
display.println („Gerai padaryta!“);
rodyti.display ();

Pabaigoje nepamirškite parašyti ekranaskad vaizdas būtų rodomas ekrane, priešingu atveju jūs padarysite tuštumą.
Jei viską padarėte teisingai, ekranuose pasirodys pranešimas.
Kaip prijungti OLED I2C ekraną prie ARDUINO

Čia yra mūsų programos KODAS, prasidedantis_Arduino_OLED.ino:
[946 b] (atsisiuntimai: 1100)
Komentarai (3)
  1. Tatoshka
    #1 Tatoshka Svečiai 2018 m. Lapkričio 14 d. 21:18
    0
    Ačiū draugei! Tai yra mano pirmasis įkeltas eskizas ir mano įvadas į Arduino. Neskaičiuojant mirksėjimo mirksi))
  2. alisheris
    #2 alisheris Svečiai 2019 m. Liepos 28 d. 19:35
    0
    O kur atsisiųsti šį „Finder_I2C_Hex_Address.ino“ kodą?
    1. Al
      #3 Al Svečiai 2019 rugpjūčio 14 d., 12:51
      0
      po paveikslėliu yra nuoroda „Čia yra mūsų programos KODAS, prasidedantis_Arduino_OLED.ino“:

Taip pat skaitykite

Skalbimo mašinų klaidų kodai