Kako povezati zaslon OLED I2C na ARDUINO

Pin
Send
Share
Send

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

Živjo Ker sem ljubitelj - ljubitelj elektronike, sem prepričan, da vse, kar počnemo, predstavljajo elektronske igrače - domači izdelki ali veliki projekti, vse iz radovednosti in lenobe. Radovednost skuša razumeti in razumeti neizmerno, neznano, razumeti, kako deluje tam, kaj počne, kako se premika. In lenoba si izmisli, da bi se tega lotila, da ne bi vstala, ne fit, ne dvignila, se ne umazala ali kaj drugega pomembnega.
Ker je gledanje informacij boljše kot razumevanje, kaj se bo zgodilo na naši napravi, ali se je že zgodilo ali se dogaja, bomo vsekakor želeli dobiti te zelo koristne informacije iz naših mikrokontrolerjev, senzorjev ali drugih naprav. In v vsakem primeru želim prejemati kakršna koli sporočila, kot so vprašanja, opozorila, opomniki, čustva, zvezdice, srca in podobno.
Za tiste, ki imate tudi podobno željo, tukaj je kratek vodnik za povezovanje in preverjanje majhnih in poceni OLED zaslonov.
Nato bomo govorili o enem od široko dostopnih modelov radijskih pršil zaslonov OLED, ki jih nadzira čip SSD1306, z velikostjo zaslona 0,96 palca in ločljivostjo 128 * 64 ali 128 * 32 slikovnih pik. Ti zasloni so idealni za majhne amaterske zasnove radia in domače izdelke.

1. korak: Ključni pojmi


Povezali ga bomo z Arduino UNO / NANO, no, s programom pa ga bomo povezali tudi prek Arduina.
  • OLED je organska svetleča dioda, to je polprevodniška naprava iz organskih spojin, ki začne oddajati svetlobo, ko skozi njo prehaja električni tok.
  • ARDUINO je platforma za usposabljanje in sisteme avtomatizacije zgradb in robotike.
  • ArduinoIDE je razvojno okolje. To je brezplačno orodje za programiranje Arduino.
  • I2C - Inter-integrirana vezja, med-mikrovezna komunikacijska linija.
  • Skica, to je koda, to je program - Arduino terminologija.

Sledite navodilom, če želite razumeti, kako pravilno povezati in konfigurirati zaslon OLED na Arduino in kako na svojem zaslonu prikazati svoje sporočilo.
Vse naredimo po korakih.

2. korak: Dodatna oprema


Potrebovali bomo le štiri stvari:
  • 1. OLED zaslon znaša 0,96 ”(kupite ga lahko na Aliexpress ali Ebay, - dolgo, a poceni!).
  • 2. Arduino UNO / Nano (na istem mestu kot prikazovalnik).
  • 3. Povezovanje žic (prav tam).
  • 4. Računalnik ali prenosnik z nameščenim ArduinoIDE-om.

Na splošno je nakup delov za različne projekte na Aliexpressu in Ebayu zelo kul stvar, medtem ko delaš en projekt, deli za drugega so že na poti. Glavna stvar je, da ne pozabite oddati naročila.

3. korak: Priključite zaslon


Zaslon nadzoruje čip SSD1306, ki podpira pet komunikacijskih protokolov in enega od njih je I2C. Podatki o tem protokolu se prenašajo v samo dveh žicah in čim manj žic je v primeru, tem bolje, zato nam dobro ustreza. Ampak! Obstajajo moduli s protokolom SPI in celo protokolarnim preklopom, zato bodite previdni pri nakupu tega modula.

Uporabljeni sklepi:
OLED zaslon - SCL / SCK (ura) in SDA (podatki), "Plus" moč (VCC) in "Minus" moč (GND).

Uporabljeni sklepi:
Arduino UNO - SCL / SCK na A5 in SSD na A4, moč "Plus" (+ 5V) in "Minus" (GND).
Priključite zaslon na Arduino:
  • Vcc - 5V
  • GND - GND
  • SDA - A4
  • SCL - A5

4. korak: I2C optični bralnik


Vsaka naprava na vodilu I2C ima šestnajstiški naslov, ne morete ga spremeniti, tesno je prišit, vsak odgovoren proizvajalec ga mora navesti nekje na ohišju ali v navodilih. Obstajajo moduli s stikali in mostički, s katerimi lahko spreminjate naslov, toda ... če so naprave poceni, do grdote, potem se proizvajalec morda ne bo trudil ukvarjati s tako malenkostjo, zato ga boste morali določiti sami.
Skupno lahko na vodilu uporabimo do 127 naslovov - 119 za naprave in 8 naslovov storitev. Na teh naslovih poteka komunikacija. Mojster je, Mojster je, a obstaja suženj, on je tudi suženj - Mojstri sprašujejo, sledilci odgovarjajo, vse je preprosto.
Ker naš OLED zaslon uporablja komunikacijski protokol I2C in naslov morda ni naveden, bomo poskušali ugotoviti prav ta naslov.
To lahko storite s prenosom kratke skice na svojo Arduino ploščo s povezavo OLED. ALI!
Vzemite si čas, da skico takoj naložite v Arduino! Najprej naložimo "gonilnik", tj. povezali bomo knjižnice in za to bomo prešli naravnost na korak 5 in se vrnili nazaj in nadaljevali.

4. korak: Nadaljevanje:


Prenesite CODE Finder_I2C_Hex_Address.ino, naložite v Arduino.
Odprite "Port Monitor", nastavite hitrost na 9600 in če je vse pravilno povezano, bo program pokazal naslov naprave, v mojem primeru OLED z naslovom 0x3F.

5. korak: Prenesite in povežite knjižnice


Da bi vse pravilno delovalo in vam ni bilo treba znova izumiti kolesa, morate v okolje ArduinoIDE povezati nekaj knjižnic, in sicer: ADAFRUIT GFX in ADAFRUIT SSD1306, ki jih potrebujejo, da lahko Arduino lahko samostojno komunicira z zaslonom OLED.
Te knjižnice lahko povežete tako, da sledite tem korakom.
  • 1. V ArduinoIDE pojdite na meni Sketch.
  • 2. Izberite "Vključi knjižnice" / Vključi knjižnice.
  • 3. Izberite "Upravljanje knjižnic" / Upravljene knjižnice.
  • 4. Poiščite ADAFRUIT GFX in jih namestite.
  • 5. Poiščite ADAFRUIT SSD1306 in jih namestite.

Z najnovejšimi različicami knjižnic je zaslon deloval zame krivo, morda je to seveda posledica ukrivljenosti rok, toda po namestitvi prvih verzij teh knjižnic se je vse začelo videti gladko in lepo. Iz nekega razloga se Puškinove vrstice pojavijo v njegovem spominu:
... in izkušnje, sin težkih napak,
in genij, prijateljski paradoksi.

Drug način namestitve knjižnic je, da te knjižnice sami najdete, naložite in namestite.
Primer Github-a:
//github.com/adafruit/Adafruit-GFX-Library
//github.com/adafruit/Adafruit_SSD1306

Gre za iste knjižnice Adafruit, vendar je podobne knjižnice na zahtevo OLED I2C enostavno iskati v iskalnikih. Številni navdušenci napišejo knjižnice "zase", nato pa jih dajo v splet. Katero knjižnico želite uporabiti, je odvisno od vas.
Za prikaz ruskih črk so potrebne tudi posebne knjižnice, vendar je to ločena tema za ločen članek.
Po namestitvi knjižnic se lahko vrnete na korak 4 in končno ugotovite šestnajstiški naslov vašega zaslona.

6. korak: Testiranje zaslona


Če želite preveriti, ali vse deluje po pričakovanjih, zaženite testni primer podjetja ArduinoIDE.
Če želite to narediti:
Pojdi DATOTEKO> PRIMERI> SSD 1306> Izberite 128x64 i2c
Če se prikaže »Napaka«, poskusite izbrati SSD 1306> 128x32 i2c.
Če znova napaka, poskusite spremeniti naslov I2C v vrstici 61 demo kode in ga nadomestite z naslovom vašega zaslona, ​​ki ste ga določili v koraku 4.
Če se napaka ponovi, lahko poskusite urediti datoteko Adafruit_SSD1306.h, ki se nahaja v mapi z knjižnicami Arduino.

Odprite datoteko Adafruit_SSD1306.h v urejevalniku besedil in poiščite vrstice:
// # definiraj SSD1306_128_64 #define SSD1306_128_32 // #define SSD1306_96_16

Odvezi vrstico:
#define SSD1306_128_64.

To bi moralo biti tako:
#define SSD1306_128_64 // # definiraj SSD1306_128_32 // #define SSD1306_96_16

Če se napaka ponovno pojavi, je treba preveriti pravilne povezave.
Ko je prenos končan, boste na zaslonu videli testno animacijo, kar pomeni, da ste uspešno konfigurirali zaslon OLED.

Ko uživate v tej animaciji, lahko nadaljujete na naslednji korak.

7. korak: Pisanje lastnega sporočila


Če želite napisati svoje sporočilo, najprej ustvarite novo skico v programskem okolju ArduinoIDE.
V glavi povežemo 4 knjižnice:
#include #include #include #include 

Nato napišemo protokol ponastavitve:
#define OLED_RESET 4 Adafruit_SSD1306 zaslon (OLED_RESET);

V VOID SETUP določite šestnajstiški naslov našega zaslona 0x3C, ki smo ga ugotovili v "Korak št. 4".
Nato inicializirajte zaslon in ga počistite:
display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay ();

Nato v VOID LOOP zapišemo glavno kodo, to je naše sporočilo, ki ga želimo prikazati na zaslonu.
To naredimo tako, da opišemo velikost besedila, barvo besedila, položaj kazalca in na koncu prikažemo sporočilo z ukazom println:
display.setTextSize (2); display.setTextColor (WHITE); display.setCursor (0,0); display.println ("Dobro opravljeno!"); display.display ();

Na koncu ne pozabite napisati prikaz.izgledtako da se slika prikaže na zaslonu, sicer boste dobili praznino.
Če ste vse naredili pravilno, se na zaslonih prikaže sporočilo.

Tukaj je CODE Start_with_Arduino_OLED.ino našega programa:
code.zip 946 b (prenosi: 1366)

Pin
Send
Share
Send

Oglejte si video: How to connect an I2C LCD Display to an Arduino NANO (September 2024).