DIY gör det själv
Masterklasser, instruktioner, användbara tips, recept.
» » »Hur man ansluter OLED I2C-skärm till ARDUINO
Introduktion: introduktion av 128 * 64/128 * 32 OLED I2C-skärm.
Hur man ansluter OLED I2C-skärm till ARDUINO

Hälsningar! Att vara amatör - elektronikentusiast, jag är säker på att allt vi gör är elektroniska leksaker - hemlagade produkter eller stora projekt, allt från nyfikenhet och lathet. Nyfikenhet försöker förstå och förstå det enorma, inte kända, att förstå hur det fungerar där, vad det gör, hur det rör sig. Och latskap uppmuntrar, för att komma med detta, för att inte komma upp, inte passa, inte lyfta, inte bli smutsiga eller något annat viktigt.

Eftersom att se information är bättre än att förstå vad som håller på att hända i vår enhet, eller redan har hänt eller händer, kommer vi definitivt att få denna mycket användbar information från våra mikrokontroller, sensorer eller andra enheter. Och jag vill i alla fall ta emot alla meddelanden, till exempel frågor, varningar, påminnelser, uttryckssymboler, asterisker, hjärtan och liknande.

För dig som också har en liknande önskan, här är en snabbguide för att ansluta och kontrollera små och billiga OLED-skärmar.
Därefter kommer vi att prata om en av de allmänt tillgängliga för skinkradiomodeller av OLED-skärmar som styrs av SSD1306-chipet, med en skärmstorlek på 0,96 tum och en upplösning på 128 * 64 eller 128 * 32 pixlar. Dessa skärmar är perfekta för små amatörradiodesigner och hemmagjorda produkter.
Hur man ansluter OLED I2C-skärm till ARDUINO

Steg 1: Nyckelbegrepp


Vi kommer att ansluta den till Arduino UNO / NANO, ja, och för att programmera, kommer vi också att ansluta den genom Arduino.
  • OLED är en organisk ljusemitterande diod, dvs en halvledaranordning tillverkad av organiska föreningar, som börjar avge ljus när en elektrisk ström passerar genom den.
  • ARDUINO är en plattform för utbildning och byggande av automatiserings- och robotiksystem.
  • ArduinoIDE är en utvecklingsmiljö. Detta är ett gratis Arduino-programmeringsverktyg.
  • I2C - Interintegrerade kretsar, kommunikationslinje mellan mikrokretsar.
  • En skiss, det är en kod, det är ett program - Arduino-terminologi.

Följ instruktionerna för att förstå hur du korrekt ansluter och konfigurerar en OLED-skärm till Arduino och hur du visar ditt eget meddelande på displayen.
Vi gör allt steg.

Steg 2: Tillbehör


Vi behöver bara fyra saker:
  • 1. OLED-displayen är 0,96 ”(kan köpas på Aliexpress eller Ebay, - lång, men billig!).
  • 2. Arduino UNO / Nano (på samma plats som skärmen).
  • 3. Anslut kablar (ibid.).
  • 4. En dator eller bärbar dator med ArduinoIDE installerad.

Hur man ansluter OLED I2C-skärm till ARDUINO

I allmänhet är det mycket coolt att köpa delar till olika projekt på Aliexpress och Ebay, medan du gör ett projekt, är delar för ett annat redan på väg. Det viktigaste är att inte glömma att göra en beställning.

Steg 3: Anslut skärmen


Displayen styrs av SSD1306-chipet, som stöder fem kommunikationsprotokoll och ett av dem är I2C. Uppgifter om detta protokoll överförs i bara två ledningar, och ju färre ledningar i fallet, desto bättre, så det passar oss bra. Men! Det finns moduler med SPI-protokoll och till och med protokollväxling, så var försiktig när du köper den här modulen.
Hur man ansluter OLED I2C-skärm till ARDUINO

Använda slutsatser:
OLED-display - SCL / SCK (klocka) och SDA (data), "Plus" effekt (VCC) och "Minus" effekt (GND).
Hur man ansluter OLED I2C-skärm till ARDUINO

Använda slutsatser:
Arduino UNO - SCL / SCK på A5 och SSD på A4, “Plus” effekt (+ 5V) och “Minus” effekt (GND).
Anslut skärmen till Arduino:
  • Vcc - 5V
  • GND - GND
  • SDA - A4
  • SCL - A5

Hur man ansluter OLED I2C-skärm till ARDUINO

Steg 4: I2C Scanner


Varje enhet på I2C-bussen har en hexadecimal adress, du kan inte ändra den, den är sydd ordentligt, varje ansvarig tillverkare måste ange den någonstans i fallet eller i instruktionerna. Det finns moduler med omkopplare och hoppare som du kan ändra adress, men ... om enheterna är billiga, till fula, kan tillverkaren inte bry sig om att hantera en sådan bagatell, så du måste bestämma det själv.

Totalt kan upp till 127 adresser användas på bussen - 119 för enheter och 8 serviceadresser. Kommunikation bedrivs på dessa adresser.Det finns en mästare, han är en mästare, men det finns en slav, han är också en slav - Mästarna frågar, följarna svarar, allt är enkelt.
Eftersom vår OLED-skärm använder I2C-kommunikationsprotokollet och adressen kanske inte anges, kommer vi att försöka ta reda på just denna adress.

Detta kan göras genom att ladda ner en kort skiss till ditt Arduino-kort med OLED-ansluten. MEN!
Ta dig tid att ladda upp skissen till Arduino direkt! Låt oss börja med att ladda ner "drivrutinen", dvs. vi ansluter biblioteken, och för detta går vi direkt till "Steg 5", och sedan går vi tillbaka och fortsätter.

Steg 4: Fortsättning:


Ladda ner CODE Finder_I2C_Hex_Address.ino, ladda upp till Arduino.
Öppna "Port Monitor", ställ hastigheten på 9600 och om allt är korrekt anslutet kommer programmet att visa enhetsadressen, i mitt fall OLED med adressen 0x3F.
Hur man ansluter OLED I2C-skärm till ARDUINO

Steg 5: Ladda ner och anslut bibliotek


För att allt ska fungera korrekt, och att du inte behövde uppfinna hjulet igen, måste du ansluta ett par bibliotek till ArduinoIDE-miljön, nämligen: ADAFRUIT GFX och ADAFRUIT SSD1306, de är nödvändiga för att Arduino ska kunna kommunicera oberoende med OLED-skärmen.
Du kan ansluta dessa bibliotek genom att följa dessa steg.
  • 1. Gå till Sketch-menyn i ArduinoIDE.
  • 2. Välj "Inkludera bibliotek".
  • 3. Välj "Hantera bibliotek" / Hanterade bibliotek.
  • 4. Hitta ADAFRUIT GFX och installera dem.
  • 5. Hitta ADAFRUIT SSD1306 och installera dem.

Med de senaste versionerna av biblioteken fungerade skärmen kråkigt för mig, kanske detta beror naturligtvis på händernas krökning, men efter att jag installerade de allra första versionerna av dessa bibliotek började allt framträda smidigt och vackert. Av någon anledning dyker Pushkins linjer upp i hans minne:
... och erfarenhet, son till svåra misstag,
och geni, vänsparoxer.

Ett annat sätt att installera bibliotek är att hitta, ladda ner och installera dessa bibliotek själv.
För ett exempel på Github:
https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/adafruit/Adafruit_SSD1306

Det här är samma Adafruit-bibliotek, men liknande bibliotek kan enkelt sökas i sökmotorer på begäran av OLED I2C. Många entusiaster skriver bibliotek "för sig själva" och lägger dem sedan på webben. Vilket bibliotek du ska använda är upp till dig.
För att displayen ska visa ryska bokstäver behövs också speciella bibliotek, men detta är ett separat ämne för en separat artikel.
När biblioteken har installerats kan du återgå till steg 4 och äntligen ta reda på den hexadecimala adressen på skärmen.

Steg 6: Testa skärmen


För att kontrollera om allt fungerar som förväntat kör du testexemplet från ArduinoIDE.
Så här gör du:
Gå FIL> EXEMPEL> SSD 1306> Välj 128x64 i2c
Om du får ett "Fel" kan du prova att välja SSD 1306> 128x32 i2c.
Om fel igen, försök att ändra I2C-adressen på rad 61 i demokoden och ersätt den med adressen till din skärm, som du bestämde i steg # 4.
Om felet uppstår igen kan du försöka redigera Adafruit_SSD1306.h-filen, den finns i mappen med Arduino-biblioteken.
Hur man ansluter OLED I2C-skärm till ARDUINO

Öppna Adafruit_SSD1306.h-filen i en textredigerare och hitta raderna:
// # definiera SSD1306_128_64
#definiera SSD1306_128_32
// # definiera SSD1306_96_16 

Avmarkera raden:
#definiera SSD1306_128_64. 

Det borde vara så här:
#definiera SSD1306_128_64
// # definiera SSD1306_128_32
// # definiera SSD1306_96_16

Om felet är igen är det nödvändigt att kontrollera rätt anslutningar.
När nedladdningen är klar ser du en testanimation på skärmen, vilket innebär att du har konfigurerat din OLED-skärm.

När du tycker om den här animeringen kan du gå vidare till nästa steg.

Steg 7: Skriva ditt eget meddelande


För att skriva ditt eget meddelande, först skapa en ny skiss i programmeringsmiljön ArduinoIDE.
I huvudet ansluter vi fyra bibliotek:
#include 
#include 
#include 
#include 

Sedan skriver vi återställningsprotokollet:
#definiera OLED_RESET 4
Adafruit_SSD1306-display (OLED_RESET);

I VOID SETUP, ange den hexadecimala adressen för vår 0x3C-skärm, som vi hittade i "Steg nr 4".
Starta sedan skärmen och rensa den:
display.begin (SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay ();

Därefter skriver vi i VOID LOOP huvudkoden, det vill säga vårt meddelande, som vi vill visa på displayen.
För att göra detta, beskriver vi textstorlek, textfärg, markörposition och slutligen visar vi ett meddelande med kommandot println:
display.setTextSize (2);
display.setTextColor (VIT);
display.setCursor (0,0);
display.println ("Bra gjort!");
display.display ();

I slutet, glöm inte att skriva display.displayså att bilden visas på skärmen, annars får du ett tomrum.
Om du gjorde allt korrekt visas ett meddelande på skärmarna.
Hur man ansluter OLED I2C-skärm till ARDUINO

Här är CODE Start_med_Arduino_OLED.ino för vårt program:
[946 b] (nedladdningar: 1100)
Kommentarer (3)
  1. Tatoshka
    #1 Tatoshka gäster 14 november 2018 21:18
    0
    Tack vän! Detta är min första uppladdade skiss och min introduktion till Arduino. Räknar inte Blink blinkar))
  2. Alisher
    #2 Alisher gäster 28 juli 2019 19:35
    0
    Och var kan du ladda ner denna Finder_I2C_Hex_Address.ino-kod?
    1. al
      #3 al gäster 14 augusti 2019 12:51
      0
      under bilden finns en länk "Här är KODEN Start_med_Arduino_OLED.ino i vårt program:"

Läs också

Felkoder för tvättmaskiner