wyświetlacz OLED

Masz problem, z którym nie możesz sobie poradzić? Pisz śmiało!
ODPOWIEDZ
Arduino
Majsterkowicz
Posty: 56
Rejestracja: 18 sty 2016, 22:23

wyświetlacz OLED

Post autor: Arduino » 19 sty 2016, 21:49

Witam!!!
Mam problem z wyświetlaczem graficznym OLED 0,96" opartym na sterowniku SSD1308.
Gdy podłączyłem go do Arduino nic się nie działo. Nie zaświeciło się nawet podświetlenie.

W załączniku jest taki sam wyświetlacz jak mój.

Piny wyświetlacza (od lewej strony):

Vcc
Gnd
Clk
Mosi
Cs
D/C

Mógłby ktoś mi pomóc podłączyć go do arduino.
Proszę o pomoc
Będę wdzięczny ;)
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


kazzik87
Starszy majsterkowicz
Posty: 440
Rejestracja: 14 lip 2014, 21:54
Lokalizacja: Lublin

Re: wyświetlacz OLED

Post autor: kazzik87 » 20 sty 2016, 10:30

Np tak:
Obrazek
13 (SCK) - CLK
12 (MISO) - x
11 (MOSI) - Mosi
10 (SS) - Cs
---
Jeżeli pomogłem to kliknij "Pomógł".
Arduino
Majsterkowicz
Posty: 56
Rejestracja: 18 sty 2016, 22:23

Re: wyświetlacz OLED

Post autor: Arduino » 20 sty 2016, 10:35

Mógłby ktoś napisać sketch, bo mój nie działa.
Prosze!!!
kazzik87
Starszy majsterkowicz
Posty: 440
Rejestracja: 14 lip 2014, 21:54
Lokalizacja: Lublin

Re: wyświetlacz OLED

Post autor: kazzik87 » 20 sty 2016, 10:46

Zerknij tutaj: link

Masz już jakiś kod?
Wklej.
---
Jeżeli pomogłem to kliknij "Pomógł".
Arduino
Majsterkowicz
Posty: 56
Rejestracja: 18 sty 2016, 22:23

Re: wyświetlacz OLED

Post autor: Arduino » 20 sty 2016, 11:04

Mam tylko on nie mieści się w arduino uno.
Awatar użytkownika
Marhef
Złota rączka
Posty: 1257
Rejestracja: 18 lis 2011, 02:18

Re: wyświetlacz OLED

Post autor: Marhef » 20 sty 2016, 11:05

Wklej tu na forum. Bez tego trudno pomóc
Arduino
Majsterkowicz
Posty: 56
Rejestracja: 18 sty 2016, 22:23

Re: wyświetlacz OLED

Post autor: Arduino » 20 sty 2016, 11:21

Nie mogę. Nie wiem czemu.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Awatar użytkownika
Marhef
Złota rączka
Posty: 1257
Rejestracja: 18 lis 2011, 02:18

Re: wyświetlacz OLED

Post autor: Marhef » 20 sty 2016, 11:24

Bo jest tam tekst, który został uznany za link (może to być nawet adres strony internetowej, z której pobrałeś bibliotekę. Poszukaj i usuń)
Arduino
Majsterkowicz
Posty: 56
Rejestracja: 18 sty 2016, 22:23

Re: wyświetlacz OLED

Post autor: Arduino » 20 sty 2016, 11:32

Nic takiego nie ma.
kazzik87
Starszy majsterkowicz
Posty: 440
Rejestracja: 14 lip 2014, 21:54
Lokalizacja: Lublin

Re: wyświetlacz OLED

Post autor: kazzik87 » 20 sty 2016, 12:11

Wstaw go w znaczniki <code>.
Albo prześlij w wiadomości PW to ja Ci wkleję.
---
Jeżeli pomogłem to kliknij "Pomógł".
Arduino
Majsterkowicz
Posty: 56
Rejestracja: 18 sty 2016, 22:23

Re: wyświetlacz OLED

Post autor: Arduino » 20 sty 2016, 12:20

Temat do zamknięcia.
Okazało się, że miałem źle zdefiniowane piny.
Dziękuję za fatygę. :)
Awatar użytkownika
Marhef
Złota rączka
Posty: 1257
Rejestracja: 18 lis 2011, 02:18

Re: wyświetlacz OLED

Post autor: Marhef » 20 sty 2016, 13:41

A kod kolegi Arduino wygląda tak (wklejony z pw):

Kod: Zaznacz cały

// inslude the SPI library:
#include <SPI.h>
const int OledCS= 10;
const int OledDC= 9;

int Data[1024];

void OLED_command(int com)
{
digitalWrite(OledCS,LOW);
digitalWrite(OledDC,LOW);
delay(1);
SPI.transfer(com);
digitalWrite(OledCS,HIGH);
}


void OLED_init()
{
OLED_command ( 0xAE) ; //DisplayOFF
OLED_command ( 0xa8);
OLED_command ( 0x3f);
OLED_command ( 0xd3);
OLED_command ( 0x00);
OLED_command ( 0x40);

OLED_command ( 0xa0); //0--127 Segment
OLED_command ( 0xc0);

OLED_command ( 0xda);
OLED_command ( 0x02); // 12h
OLED_command ( 0x81); //Contrast Command
OLED_command ( 0x7F); //Contrast Data
OLED_command ( 0xa4); //Display Entire On
OLED_command ( 0xA6) ; // A6 nomal A7 Invert
OLED_command ( 0xd5);
OLED_command ( 0x80);

OLED_command ( 0x8d);
OLED_command ( 0x14) ;
OLED_command ( 0xAF) ;

}


void OLED_write()
{

OLED_command ( 0x21) ; //Column Adresi Belirle
OLED_command ( 0);
OLED_command ( 127);
OLED_command ( 0x22) ; //Page Adresi Belirle
OLED_command ( 0);
OLED_command ( 7);

OLED_command(0x40) ;

digitalWrite(OledDC,HIGH);
delay(2);
for (int i = 0; i < 1024; i++) {
SPI.transfer( Data[i]);

}
digitalWrite(OledCS,HIGH);
}

void setup() {
// set the slaveSelectPin as an output:
pinMode (OledCS, OUTPUT);
pinMode (OledDC, OUTPUT);

// initialize SPI:
SPI.begin();

SPI.setDataMode(SPI_MODE0);
SPI.setClockDivider(SPI_CLOCK_DIV32);

OLED_init();
}

int data , index;
void loop() {

OLED_write();

Data[index++] = data++;

if(index>1024) index = 0;
if(data>255) data = 0;
delay(100);

}
ODPOWIEDZ

Strony partnerskie: