Ovdje pročitajte kako se registrirati na forum.

Kako povezati OLED 128x64

Zapeli ste s projektom? Ovdje je pravo mjesto za postaviti pitanje. Imajte na umu da ekipa e-radionice neće uvijek i/ili redovno odgovarati na pitanja postavljena u ovom podforumu.
Odgovorite
luka.sambol#4602
Novak
Novak
Postovi: 7
Pridružen/a: pet sij 17, 2020 3:47 pm

Kako povezati OLED 128x64

Post Postao/la luka.sambol#4602 » pet sij 17, 2020 4:04 pm

Pozdrav,
pokušavam pokrenuti oled 128x64 pomoću i2c komunikacije preko mikrokontrolera frdm k64f ali nikako ne uspijem. Vidio sam na tutorijalima da treba koristiti biblioteku SSD1306 za arduino, ali pošto ja koristim ovaj mikrokontroler ne znam kako ga pokrenuti da prikazuje na display.
domagoj#8089
Elektroničar
Elektroničar
Postovi: 194
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Zagreb

Re: Kako povezati OLED 128x64

Post Postao/la domagoj#8089 » pet sij 17, 2020 4:52 pm

Nema veze što je drugi mikrokontroler. Ima više SSD1306 biblioteka i nisu Arduionve. Najčešće se koristi Adafruit SSD1306 ali ni to nije uvjet. Ja sam se isto mučio dok nisam negdje pročitao da prije korištenja treba resetirati OLED display. U setup() funkciji primjera koji šaljem se vidi da OLED_RST postavljam na LOW, pa nakon 20ms na HIGH. Da bi display radio treba ostati HIGH. To je taj reset.
U nastavku šaljem svoj primjer. Može se dogoditi da različite biblioteke koriste različite nazive funkcija, ali načelno rade istu stvar. Ovaj moj primjer radi s Adafruit SSD1306 i mikrokontroler je Wemos TTGO Lora32, dakle nije Arduuino.
Pozdrav, Domagoj

Kod: Označite sve

//------------ OLED ------------
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_SDA 4
#define OLED_SCL 15 
#define OLED_RST 16
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
//------------ OLED ------------


Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RST);

int brojalica;

void setup() {
pinMode(OLED_RST, OUTPUT);
digitalWrite(OLED_RST, LOW);
delay(20);
digitalWrite(OLED_RST, HIGH);
Wire.begin(OLED_SDA, OLED_SCL);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3c, false, false))
{ // Address 0x3C for 128x32
    Serial.println(F("SSD1306 allocation failed"));
    for(;;); // Don't proceed, loop forever
}
display.clearDisplay();
display.setTextColor(BLACK,WHITE); //invertiraj boju i podlogu
display.setTextSize(2);
display.setCursor(0,0);
display.print("OLED init done.");
display.display();
display.setTextColor(WHITE);
delay(3000);
}

void loop() {
brojalica++;
display.clearDisplay();
display.setCursor(0,0);
display.print(String(brojalica));
display.drawLine(0,20,display.width()-1,20,WHITE);
display.display();
delay(1000);
}
luka.sambol#4602
Novak
Novak
Postovi: 7
Pridružen/a: pet sij 17, 2020 3:47 pm

Re: Kako povezati OLED 128x64

Post Postao/la luka.sambol#4602 » pet sij 17, 2020 7:03 pm

Hvala na odgovoru. Uzeo sam Adafruit SSD1306 biblioteku i u inicijalizaciji me navodi da deklariram RST pin,a na oledu su samo 4 linije za spajanje(GND,Vcc koji sam spojio na 5v,SCL,SDA). Ne znam kako deklarirati taj RST pin jer bez njega ne mogu kompajlirati program.
Pozdrav, Luka
domagoj#8089
Elektroničar
Elektroničar
Postovi: 194
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Zagreb

Re: Kako povezati OLED 128x64

Post Postao/la domagoj#8089 » pet sij 17, 2020 7:42 pm

Koji je to OLED?
luka.sambol#4602
Novak
Novak
Postovi: 7
Pridružen/a: pet sij 17, 2020 3:47 pm

Re: Kako povezati OLED 128x64

Post Postao/la luka.sambol#4602 » sub sij 18, 2020 11:31 am

To je oled 0.96" 128x64 i podržava samo i2c komunikaciju( ima samo 4 pina: GND,VCC,SDA,SCL.
domagoj#8089
Elektroničar
Elektroničar
Postovi: 194
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Zagreb

Re: Kako povezati OLED 128x64

Post Postao/la domagoj#8089 » sub sij 18, 2020 11:42 am

Mislim, koji je proizvođač OLEDA? Ima li neki naziv?
luka.sambol#4602
Novak
Novak
Postovi: 7
Pridružen/a: pet sij 17, 2020 3:47 pm

Re: Kako povezati OLED 128x64

Post Postao/la luka.sambol#4602 » sub sij 18, 2020 11:53 am

Ne piše ništa na njemu o proizvođaču tako da ne bih znao.
domagoj#8089
Elektroničar
Elektroničar
Postovi: 194
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Zagreb

Re: Kako povezati OLED 128x64

Post Postao/la domagoj#8089 » sub sij 18, 2020 8:43 pm

Može onda slika? Možda Google zna. :D
luka.sambol#4602
Novak
Novak
Postovi: 7
Pridružen/a: pet sij 17, 2020 3:47 pm

Re: Kako povezati OLED 128x64

Post Postao/la luka.sambol#4602 » ned sij 19, 2020 12:19 am

Pozdrav,
ovako to izgleda

slika

slika
domagoj#8089
Elektroničar
Elektroničar
Postovi: 194
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Zagreb

Re: Kako povezati OLED 128x64

Post Postao/la domagoj#8089 » ned sij 19, 2020 10:39 am

Pozdrav!
Našao sam dva linka koja bi mogla dati rješenje:
https://github.com/SmingHub/Sming/issues/501
https://forums.adafruit.com/viewtopic.php?f=47&t=109804
Nemam takav OLED pa ne mogu probati, ali po opisu mi se čini da bi moglo raditi.
luka.sambol#4602
Novak
Novak
Postovi: 7
Pridružen/a: pet sij 17, 2020 3:47 pm

Re: Kako povezati OLED 128x64

Post Postao/la luka.sambol#4602 » ned sij 19, 2020 5:01 pm

Hvala puno na pomoći. Poslužiti ću se time.
Avatar
dekip#2700
Ozbiljni hardveraš
Ozbiljni hardveraš
Postovi: 70
Pridružen/a: pon srp 30, 2018 10:04 pm
Lokacija: Beograd
Kontakt:

Re: Kako povezati OLED 128x64

Post Postao/la dekip#2700 » ned sij 19, 2020 7:24 pm

Adafruit_SSD1306 nudi čak pet example skečeva od kojih su dva baš za I2C komunikaciju sa mikrokontrolerom a razlikuju se samo po veličini ekrana. Ukoliko si ekran pravilno povezao sa Arduino kompatibilnom pločom (bilo kojom), to naprosto mora da radi. Ako ne radi:
1. Nisi dobro povezao
2. neispravan ekran ili/i MCU
3. loši dupont konektori
4. example koji pokušavaš pokrenuti nije I2C već možda SPI.
5. prepravljao si example skeč

Ja još nisam video I2C OLED ekran sa SSD1306 drajverom koji nije hteo da radi sa ovom bibliotekom. Uključujući i moje custom ploče.

Ako i dalje ne radi, slikaj što je moguće jasnije šta i kako si povezao i okači primer koji pokušavaš da pokreneš. Ovako pričamo napamet.
luka.sambol#4602
Novak
Novak
Postovi: 7
Pridružen/a: pet sij 17, 2020 3:47 pm

Re: Kako povezati OLED 128x64

Post Postao/la luka.sambol#4602 » ned sij 19, 2020 8:16 pm

Hvala svima na pomoći. Uzeo sam tu biblioteku i uspio ga pokrenuti.
slika
Odgovorite