Hur man ansluter OLED I2C-skärm till ARDUINO

Pin
Send
Share
Send

Introduktion: introduktion av 128 * 64/128 * 32 OLED I2C-skärm.

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 på vår enhet, eller som 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.

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.

I allmänhet är det mycket coolt att köpa delar för 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.

Använda slutsatser:
OLED-display - SCL / SCK (klocka) och SDA (data), "Plus" effekt (VCC) och "Minus" effekt (GND).

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

Steg 4: I2C Scanner


Varje enhet på I2C-bussen har en hexadecimal adress, det är omöjligt att ändra den, den är sydd ordentligt, varje ansvarig tillverkare måste ange den någonstans i fallet eller i instruktionerna. Det finns moduler med brytare 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-display använder I2C-kommunikationsprotokollet och adressen kanske inte anges kommer vi att försöka ta reda på samma 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 först 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.

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" / 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:
//github.com/adafruit/Adafruit-GFX-Library
//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.

Öppna Adafruit_SSD1306.h-filen i en textredigerare och hitta raderna:
// # definiera SSD1306_128_64 # definiera SSD1306_128_32 // #define 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:
#define OLED_RESET 4 Adafruit_SSD1306-display (OLED_RESET);

I VOID SETUP, ange den hexadecimala adressen till 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.

Här är CODE Start_med_Arduino_OLED.ino för vårt program:
code.zip 946 b (nedladdningar: 1366)

Pin
Send
Share
Send