Gawin mo ito sa iyong sarili
Mga klase ng master, mga tagubilin, kapaki-pakinabang na tip, mga recipe.
» » »Paano ikonekta ang display ng OLED I2C sa ARDUINO
Panimula: Ipinapakilala ang 128 * 64/128 * 32 OLED I2C Display.
Paano ikonekta ang pagpapakita ng OLED I2C sa ARDUINO

Kumusta Ang pagiging isang baguhan - isang mahilig sa electronics, sigurado ako na ang lahat ng ginagawa namin ay mga laruang elektroniko - mga produktong gawang bahay, o malalaking proyekto, lahat mula sa pagkamausisa at katamaran. Ang pagkamausisa ay naglalayong maunawaan at maunawaan ang napakalawak, hindi kilala, upang maunawaan kung paano ito gumagana doon, kung ano ang ginagawa, kung paano ito gumagalaw. At ang mga katamaran ay nag-imbento, upang makabuo nito, upang hindi makabangon, hindi magkasya, hindi mag-angat, hindi maiangat, marumi o iba pa.

Dahil ang nakakakita ng impormasyon ay mas mahusay kaysa sa pag-unawa sa malapit nang mangyari sa aming aparato, o naganap na o naganap, tiyak na nais nating makuha ang napakahusay na impormasyong ito mula sa aming mga microcontroller, sensor, o iba pang mga aparato. At ako, sa anumang kaso, ay nais na makatanggap ng anumang mga mensahe, tulad ng mga katanungan, mga babala, paalala, mga emoticon, asterisk, puso at mga katulad nito.

Para sa mga mayroon ding katulad na pagnanasa, narito ang isang mabilis na gabay sa pagkonekta at pagsuri sa maliit at murang mga pagpapakita ng OLED.
Susunod, pag-uusapan natin ang tungkol sa isa sa malawak na magagamit para sa mga modelo ng ham radio ng OLED na ipinapakita na kinokontrol ng SSD1306 chip, na may sukat ng screen na 0.96 pulgada at isang resolusyon ng 128 * 64 o 128 * 32 mga piksel. Ang mga pagpapakita na ito ay mainam para sa maliit na disenyo ng mga radio ng amateur at mga produktong homemade.
Paano ikonekta ang pagpapakita ng OLED I2C sa ARDUINO

Hakbang 1: Mga Pangunahing Konsepto


Ikononekta namin ito sa Arduino UNO / NANO, mabuti, at sa programa, ayon sa pagkakabanggit, ikonekta din natin ito sa pamamagitan ng Arduino.
  • Ang OLED ay isang Organic Light-Emitting Diode, i.e., isang aparato ng semiconductor na ginawa mula sa mga organikong compound, na nagsisimula na maglabas ng ilaw kapag ang isang electric current ay dumadaan dito.
  • Ang ARDUINO ay isang platform para sa pagsasanay at pagbuo ng automation at robotics system.
  • Ang ArduinoIDE ay isang kapaligiran sa pag-unlad. Ito ay isang libreng tool sa programming Arduino.
  • I2C - Mga Inter-Integrated Circuits, linya ng komunikasyon na inter-microcircuit.
  • Isang sketsa, ito ay isang code, ito ay isang programa - Arduino terminolohiya.

Sundin ang mga tagubilin upang maunawaan kung paano maayos na kumonekta at i-configure ang isang OLED na display sa Arduino at kung paano ipakita ang iyong sariling mensahe sa pagpapakita nito.
Ginagawa namin ang lahat sa mga hakbang.

Hakbang 2: Mga Kagamitan


Kailangan lang namin ng apat na bagay:
  • 1. Ang pagpapakita ng OLED mismo ay 0.96 "(maaaring mabili sa Aliexpress o Ebay, - mahaba, ngunit mura!).
  • 2. Arduino UNO / Nano (sa parehong lugar tulad ng pagpapakita).
  • 3. Pagkonekta ng mga wire (ibid.).
  • 4. Ang isang computer o laptop na may ArduinoIDE na naka-install.

Paano ikonekta ang pagpapakita ng OLED I2C sa ARDUINO

Sa pangkalahatan, ang pagbili ng mga bahagi para sa iba't ibang mga proyekto sa Aliexpress at Ebay ay isang napaka-cool na bagay, habang ginagawa mo ang isang proyekto, ang mga bahagi para sa isa pa ay nasa daan na. Ang pangunahing bagay ay hindi kalimutan na maglagay ng order.

Hakbang 3: Ikonekta ang display


Ang pagpapakita ay kinokontrol ng SSD1306 chip, na sumusuporta sa limang mga protocol ng komunikasyon at isa sa kung saan ay I2C. Ang data sa protocol na ito ay ipinadala sa loob lamang ng dalawang mga wire, at ang mas kaunting mga wire sa kaso, mas mabuti, kaya ito ay nababagay sa amin ng maayos. Ngunit! May mga module na may protocol ng SPI at kahit na lumilipat ang protocol, kaya't maging maingat kapag bumili ng modyul na ito.
Paano ikonekta ang pagpapakita ng OLED I2C sa ARDUINO

Ginamit na mga konklusyon:
OLED display - SCL / SCK (orasan) at SDA (data), "Plus" na kapangyarihan (VCC) at "Minus" na kapangyarihan (GND).
Paano ikonekta ang pagpapakita ng OLED I2C sa ARDUINO

Ginamit na mga konklusyon:
Arduino UNO - SCL / SCK sa A5 at SSD sa A4, "Plus" na kapangyarihan (+ 5V) at "Minus" na kapangyarihan (GND).
Ikonekta ang pagpapakita sa Arduino:
  • Vcc - 5V
  • GND - GND
  • SDA - A4
  • SCL - A5

Paano ikonekta ang pagpapakita ng OLED I2C sa ARDUINO

Hakbang 4: I2C Scanner


Ang bawat aparato sa bus na I2C ay may isang hexadecimal address, hindi mo ito mababago, ito ay mahigpit na natahi, dapat ipahiwatig ng bawat responsable na tagagawa ito sa isang lugar sa kaso o sa mga tagubilin. Mayroong mga module na may mga switch at mga jumper na kung saan maaari mong baguhin ang address, ngunit ... kung ang mga aparato ay mura, sa pagkadilim, kung gayon ang tagagawa ay maaaring hindi mag-abala upang harapin ang tulad ng isang walang kabuluhan, kaya kailangan mong matukoy ito sa iyong sarili.

Sa kabuuan, hanggang sa 127 mga address ay maaaring magamit sa bus - 119 para sa mga aparato at 8 mga serbisyo ng serbisyo. Ang komunikasyon ay isinasagawa sa mga adres na ito.Mayroong isang panginoon, siya ay isang Guro, ngunit mayroong isang alipin, siya rin ay isang Alipin - tanong ng Masters, ang mga tagasunod ay tumugon, ang lahat ay simple.
Dahil ginagamit ng aming OLED display ang protocol ng komunikasyon ng I2C, at maaaring hindi ipahiwatig ang address, susubukan naming malaman ang mismong address na ito.

Magagawa ito sa pamamagitan ng pag-download ng isang maikling sket sa iyong Arduino board na may koneksyon sa OLED. PERO!
Dalhin ang iyong oras upang i-upload ang sketsa sa Arduino kaagad! Magsimula tayo sa pamamagitan ng pag-download ng "driver", i.e. ikinonekta namin ang mga aklatan, at para dito dumiretso kami sa "Hakbang 5," at pagkatapos ay babalik tayo at magpatuloy.

Hakbang 4: Patuloy:


I-download ang CODE Finder_I2C_Hex_Address.ino, mag-upload sa Arduino.
Buksan ang "Port Monitor", itakda ang bilis sa 9600 at kung ang lahat ay konektado nang tama, ipapakita ng programa ang address ng aparato, sa aking kaso OLED kasama ang address 0x3F.
Paano ikonekta ang pagpapakita ng OLED I2C sa ARDUINO

Hakbang 5: I-download at ikonekta ang mga aklatan


Upang ang lahat ay gumana nang tama, at hindi mo kailangang muling likhain ang gulong, kailangan mong kumonekta ng ilang mga aklatan sa ArduinoIDE na kapaligiran, na: ADAFRUIT GFX at ADAFRUIT SSD1306, kinakailangan nila para sa Arduino na nakapag-iisa na makipag-usap nang malaya sa ipinakita na OLED.
Maaari mong ikonekta ang mga aklatang ito sa pamamagitan ng pagsunod sa mga hakbang na ito.
  • 1. Sa ArduinoIDE, pumunta sa menu ng Sketch.
  • 2. Piliin ang "Isama ang Mga Aklatan".
  • 3. Piliin ang "Pamahalaan ang Mga Aklatan" / Pinamamahalaang Mga Aklatan.
  • 4. Maghanap ng ADAFRUIT GFX at i-install ang mga ito.
  • 5. Maghanap ng ADAFRUIT SSD1306 at i-install ang mga ito.

Sa mga sariwang bersyon ng mga aklatan, ang display ay nagtrabaho nang baluktot para sa akin, marahil siyempre ito ay dahil sa kurbada ng mga kamay, ngunit matapos kong mai-install ang pinakaunang mga bersyon ng mga aklatang ito, ang lahat ay nagsimulang lumitaw nang maayos at maganda. Sa ilang kadahilanan, ang mga linya ni Pushkin ay lumitaw sa kanyang memorya:
... at karanasan, ang anak ng mahihirap na pagkakamali,
at henyo, mga kabalintunaan ng kaibigan.

Ang isa pang paraan upang mai-install ang mga aklatan ay ang maghanap, mag-download at mai-install ang mga aklatang ito sa iyong sarili.
Para sa isang halimbawa ng Github:
https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/adafruit/Adafruit_SSD1306

Ito ay ang parehong mga aklatan ng Adafruit, ngunit ang mga katulad na mga aklatan ay madaling hinanap sa mga search engine, sa kahilingan ng OLED I2C. Maraming mga mahilig magsulat ng mga aklatan "para sa kanilang sarili", at pagkatapos ay ilagay ang mga ito sa web. Aling library ang gagamitin ay nasa iyo.
Upang ipakita ang pagpapakita ng mga liham na Ruso, kinakailangan din ang mga espesyal na aklatan, ngunit ito ay isang hiwalay na paksa para sa isang hiwalay na artikulo.
Matapos mai-install ang mga aklatan, maaari kang bumalik sa hakbang 4 at sa wakas alamin ang hexadecimal address ng iyong display.

Hakbang 6: Pagsubok sa Pagpapakita


Upang masuri kung ang lahat ay gumagana tulad ng inaasahan, patakbuhin ang halimbawa ng pagsubok mula sa ArduinoIDE.
Upang gawin ito:
Pumunta FILE> HALIMBAWA> SSD 1306> Piliin ang 128x64 i2c
Kung nakakakuha ka ng isang "Error", subukang piliin ang SSD 1306> 128x32 i2c.
Kung muling Error, subukang baguhin ang I2C address sa linya ng 61 ng demo code, at palitan ito ng address ng iyong display, na iyong tinukoy sa hakbang # 4.
Kung ang error ay naganap muli, maaari mong subukang i-edit ang file ng Adafruit_SSD1306.h, matatagpuan ito sa folder na may mga aklatang Arduino.
Paano ikonekta ang pagpapakita ng OLED I2C sa ARDUINO

Buksan ang Adafruit_SSD1306.h file sa isang text editor at hanapin ang mga linya:
// # tukuyin ang SSD1306_128_64
#define SSD1306_128_32
// #define SSD1306_96_16 

Uncomment ang linya:
#define SSD1306_128_64. 

Dapat itong ganito:
#define SSD1306_128_64
// # tukuyin ang SSD1306_128_32
// #define SSD1306_96_16

Kung ang error ay muli, kinakailangan upang suriin ang tamang mga koneksyon.
Matapos kumpleto ang pag-download, makakakita ka ng isang pagsubok sa animation sa screen, na nangangahulugang matagumpay mong na-configure ang iyong OLED display.

Kapag nasiyahan ka sa animation na ito, maaari kang magpatuloy sa susunod na hakbang.

Hakbang 7: Pagsulat ng Iyong Sariling Mensahe


Upang isulat ang iyong sariling mensahe, lumikha muna ng isang bagong plano sa ArduinoIDE programming environment.
Sa header, ikinonekta namin ang 4 na mga aklatan:
#include 
#include 
#include 
#include 

Pagkatapos ay isusulat namin ang pag-reset ng protocol:
#define OLED_RESET 4
Adafruit_SSD1306 display (OLED_RESET);

Sa VOID SETUP, tukuyin ang hexadecimal address ng aming 0x3C display, na nalaman namin sa "Hakbang Hindi 4".
Pagkatapos, simulan ang pagpapakita at limasin ito:
display.begin (SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay ();

Susunod, sa VOID LOOP, isinusulat namin ang pangunahing code, iyon ay, ang aming mensahe, na nais naming ipakita sa display.
Upang gawin ito, inilalarawan namin ang laki ng teksto, kulay ng teksto, posisyon ng cursor, at sa wakas, magpakita ng isang mensahe gamit ang println na utos:
display.setTextSize (2);
display.setTextColor (WHITE);
display.setCursor (0,0);
display.println ("Magaling!");
display.display ();

Sa dulo, huwag kalimutang sumulat display.displayupang ang imahe ay ipinapakita sa screen, kung hindi, makakakuha ka ng walang bisa.
Kung tama mong ginawa ang lahat, isang mensahe ang lilitaw sa mga ipinapakita.
Paano ikonekta ang pagpapakita ng OLED I2C sa ARDUINO

Narito ang CODE Start_with_Arduino_OLED.ino ng aming programa:
[946 b] (mga pag-download: 1100)
Bumalik
Mga Komento (3)
  1. Tatoshka
    #1 Tatoshka Panauhin 14 november 2018 21:18
    0
    Salamat kaibigan! Ito ang aking unang nai-upload na sketsa at ang aking pagpapakilala sa Arduino. Hindi mabibilang ang kumukurap na Blink))
  2. alisher
    #2 alisher Panauhin Hulyo 28, 2019 19:35
    0
    At saan i-download ang code na Finder_I2C_Hex_Address.ino na ito?
    1. Al
      #3 Al Panauhin August 14, 2019 12:51
      0
      sa ilalim ng larawan ay may isang link na "Narito ang CODE Start_with_Arduino_OLED.ino ng aming programa:"

Basahin din

Mga error code para sa mga washing machine