DIY gjør det selv
Mesterklasser, instruksjoner, nyttige tips, oppskrifter.
» » »Hvordan koble OLED I2C-skjerm til ARDUINO
Introduksjon: Vi presenterer 128 * 64/128 * 32 OLED I2C-skjerm.
Hvordan koble OLED I2C-skjerm til ARDUINO

Hilsener! Å være amatør - elektronikkentusiast, jeg er sikker på at alt vi gjør er elektroniske leker - hjemmelagde produkter, eller store prosjekter, alt fra nysgjerrighet og latskap. Nysgjerrighet søker å forstå og forstå det enorme, ikke kjente, å forstå hvordan det fungerer der, hva det gjør, hvordan det beveger seg. Og latskap oppfinner, for å komme med dette, for ikke å komme opp, ikke passe, ikke løfte, ikke bli skitten eller noe annet viktig.

Siden det å se informasjon er bedre enn å forstå hva som er i ferd med å skje på enheten vår, eller allerede har skjedd eller skjer, vil vi definitivt ønske å få denne veldig nyttige informasjonen fra våre mikrokontrollere, sensorer eller andre enheter. Og jeg ønsker uansett å motta alle meldinger, for eksempel spørsmål, advarsler, påminnelser, uttrykksikoner, stjerner, hjerter og lignende.

For de som også har et lignende ønske, her er en rask guide til å koble til og sjekke små og rimelige OLED-skjermer.
Deretter vil vi snakke om en av de allment tilgjengelige for skinradiomodeller av OLED-skjermer kontrollert av SSD1306-brikken, med en skjermstørrelse på 0,96 tommer og en oppløsning på 128 * 64 eller 128 * 32 piksler. Disse skjermene er ideelle for små amatørradiodesign og hjemmelagde produkter.
Hvordan koble OLED I2C-skjerm til ARDUINO

Trinn 1: Tastekonsepter


Vi vil koble det til Arduino UNO / NANO, vel, og for å programmere, vil vi også koble det gjennom Arduino.
  • OLED er en organisk lysemitterende diode, dvs. en halvlederanordning laget av organiske forbindelser, som begynner å avgi lys når en elektrisk strøm går gjennom den.
  • ARDUINO er ​​en plattform for trening og bygging av automatiserings- og robotikksystemer.
  • ArduinoIDE er et utviklingsmiljø. Dette er et gratis Arduino-programmeringsverktøy.
  • I2C - Interintegrerte kretser, kommunikasjonslinje mellom mikrokretser.
  • En skisse, det er en kode, det er et program - Arduino terminologi.

Følg instruksjonene for å forstå hvordan du riktig kobler til og konfigurerer en OLED-skjerm til Arduino og hvordan du viser din egen melding på skjermen.
Vi gjør alt i trinn.

Trinn 2: Tilbehør


Vi trenger bare fire ting:
  • 1. Selve OLED-skjermen er 0,96 ”(kan kjøpes på Aliexpress eller Ebay, - lang, men billig!).
  • 2. Arduino UNO / Nano (på samme sted som skjermen).
  • 3. Koble til ledninger (ibid.).
  • 4. En datamaskin eller bærbar datamaskin med ArduinoIDE installert.

Hvordan koble OLED I2C-skjerm til ARDUINO

Generelt er det veldig kult å kjøpe deler til forskjellige prosjekter på Aliexpress og Ebay, mens du driver med ett prosjekt, er deler for et annet allerede på vei. Det viktigste er ikke å glemme å legge inn en bestilling.

Trinn 3: Koble til skjermen


Displayet styres av SSD1306-brikken, som støtter fem kommunikasjonsprotokoller, og den ene er I2C. Data om denne protokollen overføres i bare to ledninger, og jo færre ledninger i saken, desto bedre, så det passer oss godt. Men! Det er moduler med SPI-protokoll og til og med protokollbytte, så vær forsiktig når du kjøper denne modulen.
Hvordan koble OLED I2C-skjerm til ARDUINO

Brukte konklusjoner:
OLED-skjerm - SCL / SCK (klokke) og SDA (data), "Plus" strøm (VCC) og "Minus" strøm (GND).
Hvordan koble OLED I2C-skjerm til ARDUINO

Brukte konklusjoner:
Arduino UNO - SCL / SCK på A5 og SSD på A4, “Plus” strøm (+ 5V) og “Minus” strøm (GND).
Koble skjermen til Arduino:
  • Vcc - 5V
  • GND - GND
  • SDA - A4
  • SCL - A5

Hvordan koble OLED I2C-skjerm til ARDUINO

Trinn 4: I2C Scanner


Hver enhet på I2C-bussen har en heksadesimal adresse, du kan ikke endre den, den er sydd tett, hver ansvarlig produsent må indikere den et sted på saken eller i instruksjonene. Det er moduler med brytere og hoppere som du kan endre adresse, men ... hvis enhetene er billige, til stygge, kan det hende at produsenten ikke gidder å takle en slik bagatell, så du må bestemme det selv.

Totalt kan opptil 127 adresser brukes på bussen - 119 for enheter og 8 serviceadresser. Kommunikasjon foregår på disse adressene.Det er en mester, han er en mester, men det er en slave, han er også en slave - Mestere spør, følgerne svarer, alt er enkelt.
Siden vår OLED-skjerm bruker I2C-kommunikasjonsprotokollen, og adressen kanskje ikke er angitt, vil vi prøve å finne ut akkurat denne adressen.

Dette kan gjøres ved å laste ned en kort skisse til Arduino-brettet med OLED-tilkoblet. MEN!
Ta deg tid til å laste opp skissen til Arduino med en gang! La oss starte med å laste ned "driveren", dvs. vi kobler sammen bibliotekene, og for dette går vi rett til “Trinn 5”, og så går vi tilbake og fortsetter.

Trinn 4: Fortsett:


Last ned CODE Finder_I2C_Hex_Address.ino, last opp til Arduino.
Åpne "Port Monitor", sett hastigheten til 9600 og hvis alt er riktig tilkoblet, vil programmet vise enhetsadressen, i mitt tilfelle OLED med adressen 0x3F.
Hvordan koble OLED I2C-skjerm til ARDUINO

Trinn 5: Last ned og koble til biblioteker


For at alt skal fungere riktig, og du ikke måtte finne opp hjulet på nytt, må du koble et par biblioteker til ArduinoIDE-miljøet, nemlig: ADAFRUIT GFX og ADAFRUIT SSD1306, de er nødvendige for at Arduino skal kunne kommunisere uavhengig med OLED-skjermen.
Du kan koble disse bibliotekene ved å følge disse trinnene.
  • 1. Gå til Sketch-menyen i ArduinoIDE.
  • 2. Velg "Inkluder biblioteker".
  • 3. Velg "Administrer biblioteker" / Managed Libraries.
  • 4. Finn ADAFRUIT GFX og installer dem.
  • 5. Finn ADAFRUIT SSD1306 og installer dem.

Med de siste versjonene av bibliotekene fungerte skjermen skjeve for meg, kanskje dette skyldes selvfølgelig at hendene krummet, men etter at jeg installerte de aller første versjonene av disse bibliotekene, begynte alt å virke jevnt og vakkert. Av en eller annen grunn dukker Pushkins linjer opp i hans minne:
... og erfaring, sønn av vanskelige feil,
og geni, venneparadokser.

En annen måte å installere biblioteker på er å finne, laste ned og installere disse bibliotekene selv.
For et eksempel på Github:
https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/adafruit/Adafruit_SSD1306

Dette er de samme Adafruit-bibliotekene, men lignende biblioteker kan enkelt søkes i søkemotorer, på forespørsel fra OLED I2C. Mange ildsjeler skriver biblioteker "for seg selv", og legger dem deretter på nettet. Hvilket bibliotek du skal bruke er opp til deg.
For at skjermen skal kunne vise russiske bokstaver, er det også behov for spesielle biblioteker, men dette er et eget emne for en egen artikkel.
Etter at bibliotekene er installert, kan du gå tilbake til trinn 4 og til slutt finne ut den heksadesimale adressen til skjermen.

Trinn 6: Test av skjermen


For å sjekke om alt fungerer som forventet, kjør testeksemplet fra ArduinoIDE.
For å gjøre dette:
Gå FIL> EKSEMPLER> SSD 1306> Velg 128x64 i2c
Hvis du får en "Feil", kan du prøve å velge SSD 1306> 128x32 i2c.
Hvis det er feil igjen, kan du prøve å endre I2C-adressen på linje 61 i demokoden, og erstatte den med adressen til skjermen, som du bestemte i trinn 4.
Hvis feilen oppstår igjen, kan du prøve å redigere Adafruit_SSD1306.h-filen, den ligger i mappen med Arduino-bibliotekene.
Hvordan koble OLED I2C-skjerm til ARDUINO

Åpne Adafruit_SSD1306.h-filen i en tekstredigerer og finn linjene:
// # definere SSD1306_128_64
#definere SSD1306_128_32
// #definere SSD1306_96_16 

Fjern linjen:
#definere SSD1306_128_64. 

Det skal være slik:
#definere SSD1306_128_64
// # definere SSD1306_128_32
// #definere SSD1306_96_16

Hvis feilen er igjen, er det nødvendig å sjekke de riktige tilkoblingene.
Etter at nedlastingen er fullført, vil du se en testanimasjon på skjermen, som betyr at du har konfigurert OLED-skjermen.

Når du liker denne animasjonen, kan du gå videre til neste trinn.

Trinn 7: Skrive din egen melding


Hvis du vil skrive din egen melding, må du først lage en ny skisse i programmeringsmiljøet ArduinoIDE.
I overskriften kobler vi sammen 4 biblioteker:
#include 
#include 
#include 
#include 

Så skriver vi tilbakestillingsprotokollen:
#definere OLED_RESET 4
Adafruit_SSD1306-skjerm (OLED_RESET);

I VOID SETUP, spesifiser den heksadesimale adressen til 0x3C-skjermen, som vi fant ut i “Trinn nr. 4”.
Deretter initialiserer du skjermen og tøm den:
display.begin (SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay ();

Neste, i VOID LOOP, skriver vi hovedkoden, det vil si meldingen vår som vi vil vise på displayet.
For å gjøre dette, beskriver vi tekststørrelse, tekstfarge, markørposisjon, og til slutt viser vi en melding ved hjelp av kommandoen println:
display.setTextSize (2);
display.setTextColor (HVIT);
display.setCursor (0,0);
display.println ("Godt gjort!");
display.display ();

På slutten, ikke glem å skrive display.displayslik at bildet vises på skjermen, ellers får du et tomrom.
Hvis du gjorde alt riktig, vises en melding på displayene.
Hvordan koble OLED I2C-skjerm til ARDUINO

Her er KODE Start_med_Arduino_OLED.ino til programmet vårt:
[946 b] (nedlastinger: 1100)
Gå tilbake
Kommentarer (3)
  1. Tatoshka
    #1 Tatoshka gjester 14. november 2018 21:18
    0
    Takk venn! Dette er min første opplastede skisse og min introduksjon til Arduino. Ikke teller Blink blinker))
  2. Alisher
    #2 Alisher gjester 28. juli 2019 19:35
    0
    Og hvor kan du laste ned denne Finder_I2C_Hex_Address.ino-koden?
    1. Al
      #3 Al gjester 14. august 2019 12:51
      0
      under bildet er det en lenke "Her er KODE Start_med_Arduino_OLED.ino i programmet vårt:"

Les også

Feilkoder for vaskemaskiner