# mCookie - OLED

![](/files/0YUkIjcC2bprygRdh4jd) ![](/files/9onBP8crLMhI0LLQd9eF) ![](/files/GrgvrDw7us1cgx4tNmWJ)

### Características

* Sem necessidade de backlight, visível no escuro.
* Baixo consumo de energia;
* Comunicação via I2C, economiza portas I/O.
* Pequeno e empilhável sobre outros módulos.

### Especificações Técnicas&#x20;

<table><thead><tr><th></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td>Tensão de operação</td><td>3.3V</td><td></td></tr><tr><td>Tamanho do display</td><td>0.96 polegadas</td><td></td></tr><tr><td>Resolução</td><td>128x64 pixels</td><td></td></tr><tr><td>Interface</td><td>I2C</td><td></td></tr></tbody></table>

### Pinagem

![Conexões do módulo](/files/MMNilE2giG1Ka01ccsIg)

![Pinagem da conexão I2C ](/files/JOYZvIacE7so3Rwxrvtc)

PINO 1 - GND

PINO 2 - VCC&#x20;

PINO 3 - SDA

PINO 4 - SCL

### Utilizando o OLED no mDesigner

Utilizando o mDesigner é possível exibir textos e até mesmo o valor da leitura de sensores externos, no display OLED. Para fazer isso, podemos utlizar os blocos de programação mostrados nas imagens abaixo.

![Bloco Mostrar na tela OLED](/files/TOCSdQW2IQLKEztZSxhi)

O bloco mostrar é o primeiro que devemos inserir quando desejamos apresentar algo no display. Dentro dele iremos inserir as informações que desejamos apresentar, bem como posicioná-las da maneira que desejarmos.

![Bloco para apresentação de texto no display](/files/sRAYKoJFN3mxjFHYQg6d)

Com o bloco mostrado acima, você pode exibir textos no OLED e posicioná-los em qualquer lugar dentro das dimensões da tela, alterando os valores da coordenadas X e Y. Esse bloco deve ser inserido dentro do bloco "*Mostrar na tela OLED*".

Também é possível utilizar esse bloco para exibir o valor da leitura de sensores. Basta inserir a variável que deseja apresentar, no espaço da *mensagem.* Veja na imagem abaixo.

![Exibir valor de uma variável no Display](/files/rN2ehZhJWqrOn7mtr2bb)

Para melhorar o entendimento vamos ver como fazer a programação para exibir um texto e posicioná-lo no centro do display. Veja a programação abaixo.

![Programação para exibir textos no display](/files/ahAB8iq0DV6F7DWyHUNu)

Veja que a programação acima é bem simples e utiliza apenas 3 blocos. O primeiro bloco é o de inicialização, necessário em toda programação em modo *offline*. Em seguida temos o bloco "*Mostrar na tela OLED*", e dentro dele colocamos o bloco responsável por receber e posicionar a mensagem que desejamos mostrar.&#x20;

![Resultado da programação](/files/2mdKjAE3vFXjgf5UXdyz)

Veja que o texto é exibido no centro da tela. Vale ressaltar que o posicionamento do texto vai depender do seu tamanho, ou seja, nem sempre o valores para X e Y mostrado na parte da programação deixarão o texto centralizado. Então é necessário ir ajustando esses valores até conseguir posicionar o texto da maneira que você desejar.&#x20;

### Exemplo prático utilizando o display OLED

Neste exemplo, vamos utilizar o display OLED para exibir os valores de temperatura e umidade lidos de um sensor. Para executar esse projeto, iremos precisar de:

* 1 x mCenter+
* 1 x Sensor de Temperatura e Umidade
* 1 x Display OLED
* 2 x Cabo JST

#### 1º Passo - Montagem&#x20;

![Montagem do projeto](/files/ay8fbekyHjTD6GkNfQDm)

Como a conexão de ambos os sensores é I2C, nossa montagem se torna bem mais simples, bastando apenas conectá-los nas portas I2C disponíveis no mCenter.

#### 2º Passo - Programação

Primeiramente precisaremos criar duas variáveis que irão receber a leitura do sensor, então, no menu "Variáveis", crie uma variável para receber o valor da temperatura e outra para receber o valor da umidade, conforme a imagem abaixo.&#x20;

![Variáveis para armazenar a leitura do sensor](/files/hy8IFvXoUxY6uZ5PRbWP)

Agora, precisamos atribuir a leitura do sensor a cada uma das variáveis que foram criadas. No menu de blocos "sensor" procure pelo bloco "Temperatura e Umidade", e atribua a leitura à variável  correspondente, como mostra a imagem abaixo.

![Atribuindo valores em cada variável ](/files/zJlRf8Aj23fBYLEeJ9Ot)

Por fim, iremos exibir os valores no display. Para isso, vamos inserir na nossa programação o bloco "Mostrar na tela OLED".&#x20;

![Bloco para apresentar valores no display](/files/HdGyYErTO0lYYBD2LPuE)

Agora precisamos posicionar os valores no display, usando o bloco "OLED", e determinando a posição em que cada palavra e valor irão ficar. Veja a imagem abaixo.

![Posição dos valores no display](/files/YzFFnrnZvZn90CUPI7ri)

Vamos entender o que essa parte do código faz. O primeiro bloco inserido exibe na tela a palavra "Temperatura", em seguida é adicionado o bloco que irá exibir o valor da temperatura lido pelo sensor. Os dois blocos em seguida, imprimem na tela "*ºC*" para indicar que o valor da temperatura está sendo apresentada em Celsius. O três últimos blocos seguem a mesma lógica, para apresentar o valor da umidade.

Os valores de X e Y podem parecer confusos, mas você pode alterá-los para exibir cada palavra da forma que achar melhor. Veja na imagem abaixo como ficou o resultado no nosso projeto.&#x20;

![Resultado Final](/files/ohSeuVBqICGZ6R8LGgMs)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://microduinobrasil.gitbook.io/mdesigner/kit-mcookie/mcookie-oled.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
