Kako spojiti OLED I2C zaslon na ARDUINO

Pin
Send
Share
Send

Uvod: Predstavljamo 128 * 64/128 * 32 OLED I2C zaslon.

Pozdrav! Budući da sam amater - ljubitelj elektronike, siguran sam da sve što radimo čine elektroničke igračke - domaći proizvodi ili veliki projekti, a sve iz znatiželje i lijenosti. Znatiželja želi shvatiti i shvatiti neizmjerno, neznano, da shvati kako se tamo radi, što radi, kako se kreće. I lijenost izmišlja, kako bi se ovo smislilo, kako se ne bi ustali, ne stali, ne podigli, ne zaprljali ili nešto drugo važno.
Budući da je gledanje informacija bolje nego razumijevanje onoga što će se dogoditi na našem uređaju, ili se već dogodilo ili događa, definitivno ćemo htjeti dobiti ove vrlo korisne informacije iz naših mikrokontrolera, senzora ili drugih uređaja. I ja u svakom slučaju želim primati bilo kakve poruke, poput pitanja, upozorenja, podsjetnika, emotikona, zvjezdica, srca i slično.
Za one koji također imaju sličnu želju, evo kratkog vodiča za povezivanje i provjeru malih i jeftinih OLED zaslona.
Zatim ćemo govoriti o jednom od široko dostupnih za radio modele pršuta OLED displeja upravljanih čipom SSD1306, veličine ekrana 0,96 inča i rezolucije 128 * 64 ili 128 * 32 piksela. Ovi su zasloni idealni za male amaterske radio dizajne i domaće proizvode.

Korak 1: Ključni pojmovi


Spojit ćemo ga s Arduino UNO / NANO, pa, i s programom, spojit ćemo ga i kroz Arduino.
  • OLED je organska dioda, tj. Poluvodički uređaj izrađen od organskih spojeva, koji počinje emitirati svjetlost kad kroz njega prođe električna struja.
  • ARDUINO je platforma za obuku i automatizaciju građevina i sustave robotike.
  • ArduinoIDE je razvojno okruženje. Ovo je besplatni alat za programiranje Arduino.
  • I2C - Među-integrirani krugovi, međurekružna komunikacijska linija.
  • Skica, to je šifra, to je program - Arduino terminologija.

Slijedite upute kako biste razumjeli kako pravilno povezati i konfigurirati OLED zaslon na Arduino i kako na svoju zaslon prikazati vlastitu poruku.
Sve radimo u koracima.

Korak 2: Pribor


Trebat će nam samo četiri stvari:
  • 1. OLED zaslon je 0,96 ”(može se kupiti na Aliexpressu ili Ebayu, - dugo, ali jeftino!).
  • 2. Arduino UNO / Nano (na istom mjestu kao i zaslon).
  • 3. Spajanje žica (ibid.).
  • 4. Računalo ili prijenosno računalo s instaliranim ArduinoIDE-om.

Općenito, kupovina dijelova za različite projekte na Aliexpressu i Ebayu vrlo je zgodna stvar, dok radite jedan projekt, dijelovi za drugi su već na putu. Glavna stvar je ne zaboraviti naručiti.

Korak 3: Spojite zaslon


Zaslon upravlja čipom SSD1306, koji podržava pet komunikacijskih protokola i jedan od njih je I2C. Podaci o ovom protokolu prenose se u samo dvije žice, a što je manje žica u slučaju, to je bolje, tako da nam dobro odgovara. Ali! Postoje moduli sa SPI protokolom, pa čak i prebacivanjem protokola, stoga budite oprezni prilikom kupnje ovog modula.

Korišteni zaključci:
OLED displej - SCL / SCK (sat) i SDA (podaci), "Plus" snaga (VCC) i "Minus" snaga (GND).

Korišteni zaključci:
Arduino UNO - SCL / SCK na A5 i SSD na A4, snaga "Plus" (+ 5V) i "Minus" snaga (GND).
Spojite zaslon na Arduino:
  • Vcc - 5V
  • GND - GND
  • SDA - A4
  • SCL - A5

Korak 4: I2C skener


Svaki uređaj na I2C sabirnici ima šesterokutnu adresu, ne možete ga mijenjati, čvrsto je ušiven, svaki odgovorni proizvođač mora ga navesti negdje na futroli ili u uputama. Postoje moduli s prekidačima i skakači s kojima možete promijeniti adresu, ali ... ako su uređaji jeftini, do ružnoće, proizvođač se možda neće zamarati baviti se takvom sitnicom, pa ćete to morati sami odrediti.
Ukupno se u autobusu može koristiti do 127 adresa - 119 za uređaje i 8 adresa usluga. Komunikacija se vodi na tim adresama. Postoji gospodar, on je gospodar, ali postoji rob, on je također rob - pitaju Majstori, sljedbenici odgovaraju, sve je jednostavno.
Budući da naš OLED zaslon koristi protokol komunikacije I2C, a adresa možda nije naznačena, pokušat ćemo otkriti upravo tu adresu.
To se može postići preuzimanjem kratke skice na vašu Arduino ploču s OLED spojenom. ALI!
Uzmite si vremena da odmah prebacite skicu u Arduino! Prvo preuzimamo „vozač“, tj. spojit ćemo knjižnice, a za to ćemo prijeći ravno na "korak 5", a vratit ćemo se i nastaviti.

4. korak: nastavak:


Preuzmite CODE Finder_I2C_Hex_Address.ino, prenesite na Arduino.
Otvorite "Port Monitor", postavite brzinu na 9600 i ako je sve ispravno povezano, program će pokazati adresu uređaja, u mom slučaju OLED s adresom 0x3F.

5. korak: preuzmite i povežite knjižnice


Da bi sve radilo ispravno, a niste morali ponovno izumiti kotač, trebate spojiti nekoliko knjižnica na ArduinoIDE okruženje, naime: ADAFRUIT GFX i ADAFRUIT SSD1306, oni su potrebni kako bi Arduino mogao samostalno komunicirati s OLED zaslonom.
Možete povezati ove biblioteke prateći ove korake.
  • 1. U ArduinoIDE-u idite na izbornik Sketch.
  • 2. Odaberite "Uključi knjižnice" / Uključi knjižnice.
  • 3. Odaberite "Manage Libraries" / Upravljene biblioteke.
  • 4. Pronađite ADAFRUIT GFX i instalirajte ih.
  • 5. Pronađite ADAFRUIT SSD1306 i instalirajte ih.

S najnovijim verzijama knjižnica, zaslon je kriv za mene, možda je to naravno zbog zakrivljenosti ruku, ali nakon što sam instalirao prve verzije tih knjižnica, sve se počelo pojavljivati ​​glatko i lijepo. Iz nekog razloga, Puškinove se linije pojavljuju u njegovom sjećanju:
... i iskustva, sine teške pogreške,
i genijalnost, paradoksi prijatelja.

Drugi način da se knjižnice instaliraju jest da ih sami pronađete, preuzmete i instalirate.
Primjer Githuba:
//github.com/adafruit/Adafruit-GFX-Library
//github.com/adafruit/Adafruit_SSD1306

To su iste Adafruit knjižnice, ali slične biblioteke lako se pretražuju u tražilicama, na zahtjev OLED I2C. Mnogi entuzijasti pišu knjižnice "za sebe", a zatim ih postavljaju na web. Koju biblioteku ćete koristiti ovisi o vama.
Za prikaz ruskih slova potrebne su i posebne knjižnice, ali to je zasebna tema za zasebni članak.
Nakon što su knjižnice instalirane, možete se vratiti na korak 4 i napokon pronaći heksadecimalnu adresu vašeg zaslona.

Korak 6: Testiranje zaslona


Da biste provjerili radi li sve kako se očekuje, pokrenite testni test s ArduinoIDE-a.
Da biste to učinili:
Idite FILE> PRIMJERI> SSD 1306> Odaberite 128x64 i2c
Ako dobijete pogrešku, pokušajte odabrati SSD 1306> 128x32 i2c.
Ako se opet dogodi Greška, pokušajte promijeniti I2C adresu u retku 61 demo koda i zamijenite je adresom vašeg zaslona, ​​koju ste odredili u koraku 4.
Ako se pogreška ponovi, možete pokušati uređivati ​​datoteku Adafruit_SSD1306.h, ona se nalazi u mapi s Arduino knjižnicama.

Otvorite datoteku Adafruit_SSD1306.h u uređivaču teksta i pronađite retke:
// # definiraj SSD1306_128_64 #define SSD1306_128_32 // #define SSD1306_96_16

Dekomentiranje linije:
#define SSD1306_128_64.

Trebao bi biti ovako:
#define SSD1306_128_64 // # definiraj SSD1306_128_32 // #define SSD1306_96_16

Ako se pogreška ponovi, morate provjeriti ispravnost veza.
Nakon dovršetka preuzimanja, na ekranu ćete vidjeti testnu animaciju, što znači da ste uspješno konfigurirali svoj OLED zaslon.

Kada uživate u ovoj animaciji, možete prijeći na sljedeći korak.

7. korak: pisanje vlastite poruke


Da biste napisali vlastitu poruku, prvo kreirajte novu skicu u programskom okruženju ArduinoIDE.
U zaglavlju povezujemo 4 knjižnice:
#include #include #include #include 

Zatim pišemo protokol reseta:
#define OLED_RESET 4 Adafruit_SSD1306 zaslon (OLED_RESET);

U VOID SETUP navedite heksadecimalnu adresu našeg prikaza 0x3C, koju smo saznali u "Korak br. 4".
Zatim inicijalizirajte zaslon i očistite ga:
display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay ();

Zatim u VOID LOOP upisujemo glavni kod, odnosno našu poruku koju želimo prikazati na zaslonu.
Da bismo to učinili, opisujemo veličinu teksta, boju teksta, položaj kursora i na kraju prikazujemo poruku pomoću naredbe println:
display.setTextSize (2); display.setTextColor (WHITE); prikaz.setCursor (0,0); display.println ("Bravo!"); prikaz.display ();

Na kraju ne zaboravite napisati display.displaytako da se slika pojavi na ekranu, inače ćete dobiti prazninu.
Ako ste sve napravili pravilno, na zaslonima će se pojaviti poruka.

Evo CODE Start_with_Arduino_OLED.ino našeg programa:
code.zip 946 b (preuzimanja: 1366)

Pin
Send
Share
Send