Fork me on GitHub

Microcontrolandos

O Blog está passando por uma fase de mudanças. Todos os posts estão sendo atualizados, códigos, links e imagens estão sendo arrumados. Conteúdos novos ainda estão por vir.

PIC: SSD1306

Share:

PIC: SSD1306




SSD1306 é um controlador para display OLED. Este display pode ser encontrado no Mercado Livre, possui uma resolução de 128x64 pixels e tem o mesmo tamanho de uma moeda de 1 real.


Comunica-se através do barramento I2C, por isso utiliza apenas dois fios ( Clock e Data ).

CARACTERÍSTICAS
  • Resolução de 128x64 pixels;
  • Tensão de alimentação: 3.3V ou 5V ( O display que eu comprei no Mercado Livre suporta esta tensão. Verifique se o seu display também suporta ).
  • Contraste ajustável;

FUNCIONAMENTO
A interface I2C com o display consiste no envio de um endereço ( 0b011110XY ), na qual o bit X corresponde ao endereço do display ( 0 ou 1 ). Na parte de trás do display há um jumper com um pingo de solda, selecionando por padrão o endereço 0. Com isso, você é capaz de ligar até dois displays no mesmo barramento. O bit Y informa se a operação será de escrita(0) ou leitura(1). Após isso, é necessário enviar no mínimo dois bytes ( um de comando e outro de dado ). O byte de comando ( 0bXY000000 ) é composto pelo bit X que, uma vez setado, você poderá enviar n dados na sequência. O bit Y quando for igual a 1, diz que o próximo dado corresponde a um comando interno do display. Quando for igual à 0, diz que o próximo dado corresponde a uma carácter, por exemplo, que é gravado na GDDRAM ( memoria utilizada pelo display para exibir as informações na tela ).

CÓDIGO DA BIBLIOTECA
MikroC PRO PIC

EXEMPLO





MikroC PRO PIC

17 comentários:

  1. Tem como simular esse display no Proteus?

    ResponderExcluir
    Respostas
    1. nao! proteus so tem UG-2864HSWEG01 com esse controlador SSD1306, e ele não é I2C!

      Excluir
  2. O meu display SSD1306 não possui o pingo de solda que você menciona, o que eu deveria alterar no código para que ele funcione corretamente. E mais outra dúvida, pq no desenho do esquemático, você ligou eles nos pinos D0 e D1? Não seria B0 e B1?

    ResponderExcluir
  3. hi..
    i cant compile this code on mikro c 6.5.0
    (project manager-add source file to project-ssd1306.c)
    can you help me about this project.

    ResponderExcluir
  4. It is possible to get the proteus libary anywhere for the oled 182x64. Thanks!

    ResponderExcluir
  5. It is possible to get the proteus libary anywhere for the oled 182x64. Thanks!

    ResponderExcluir
  6. O que eu comprei no ML não vem com um pingo de solda atrás, compilei o código certinho, porém o LCD nem sinal de vida, alguma dica?

    ResponderExcluir
    Respostas
    1. Atras do display, na parte onde está escrito "address", tem um jumper que define o endereço no barramento ( 0 ou 1 )...Voce pode confirmar isso?

      Excluir
    2. Ele é esse aqui, desse mesmo jeito é a traseira dele.

      http://i00.i.aliimg.com/wsphoto/v0/32275937420_1/Best-Seller-Price-1pcs-Serial-128X64-font-b-OLED-b-font-LCD-LED-Display-0-96.jpg

      Excluir
    3. Na imagem o endereço está definido como 0x78 ( ou 0, como eu tinha dito acima ). Então era pra funcionar.
      Veja se não alterou algum fio ( na imagem q voce postou, os pinos GND e VCC então invertidos comparados com a imagem lá em cima do post ).

      Excluir
    4. Sim, eu me atentei a isso. Vou comprar um segundo LCD, pra ver se o meu não veio com problemas, vou procurar alguma biblioteca pronta no arduíno tb, assim se eu conseguir fazer funcionar nele o problema não é o LCD, e sim eu que não estou acertando usar sua biblioteca. Mas muito obrigado pela ajuda! É algo que estou fazendo errado e não estou percebendo rsrs.

      Excluir
  7. hello please send me isis library and model files for ssd1306 and thx
    email: rody2005@hotmail.com

    ResponderExcluir
  8. Alguém tem esse display no proteus? Alguma biblioteca para download?

    ResponderExcluir
  9. Hi,
    Please can you send me isis library and model files ?

    mladen.bruck@gmail.com

    ResponderExcluir
  10. hello, please send me final project (mikroC project - all files, hex, mcppi etc.) for ssd1306. thanks :) . email: tunerymanta@mail.com

    ResponderExcluir
  11. Boa tarde.
    Já usou o novo mplab xpress da microchip ?!
    Estou com dificuldade em comunicar o display oled (ssd1306) com o pic 16F15376 no protocolo I2C usando as funções que o próprio site disponibiliza.

    ResponderExcluir