OLED1
| Datasheet |
|---|
| OLED1 |
O OLED1 é uma placa de extensão fabricada pela Atmel/Microchip que possui 3 botões, 3 LEDs e um display OLED.

Placa Adaptadora
Desenvolvemos uma placa adaptadora que permite facilmente utilizarmos o OLED1 com a Raspberry Pi Pico. A placa elimina a necessidade de conexão, minimizando erros de montagem.
Os pinos da Pico foram selecionados de tal maneira que a placa OLED seja conectada ao SPI1 da mesma, através do header EXT, conforme imagem abaixo:
Os pinos para o OLED (SPI), Botões e LEDS foram mapeados da seguinte maneira:
!!! warning Nenhum pino listado a seguir deve ser utilizado para outra funcionalidade.
| Conexão Pico W | Conexão OLED1 |
|---|---|
| GND | GND |
| VCC | VCC |
| GPIO-9 (SPI1) | DISPLAY_CS |
| GPIO-10 (SPI1) | SPI_SCK |
| GPIO-11 (SPI1) | SPI_TX (MOSI) |
| GPIO-14 | DISPLAY_RESET |
| GPIO-15 | DISPLAY_DC |
| GPIO-20 | LED 1 |
| GPIO-21 | LED 2 |
| GPIO-22 | LED 3 |
| GPIO-26 | BUTTON 2 |
| GPIO-27 | BUTTON 3 |
| GPIO-28 | BUTTON 1 |

Display
O display da placa OLED é:
- UG-2832HSWEG04 monocromático OLED Display
- 128 x 32 pixels
- Controlado por interface SPI de 4 fios, de até 100 MHz
O importante é que para acessarmos o display, precisamos usar o protocolo de comunicação SPI! Esse protocolo é muito utilizado para esse tipo de comunicação entre microcontrolador e periféricos, então a maioria dos uC possuem um periférico específico para isso (que é o caso da nossa Raspberry Pi Pico).
Driver
O driver é responsável por fazer a interface de baixo nível com o display externo, no nosso caso isso é feito pela comunicação SPI. O driver possui funções básicas como inicializar o display e escrever um pixel no display. O nosso microcontrolador possui dois periféricos de interface SPI:

Lib Gráfica - glx
O display apenas exibe pixels, ele não processa ou gera textos. Para isso, será necessário usarmos uma biblioteca gráfica (glx) que será capaz de criar componentes básicos no display e facilitar a nossa vida!
A estrutura normalmente é realizada da seguinte maneira:

A aplicação faz uso da biblioteca glx, que gera as imagens e salva em um framebuffer local ao microcontrolador (vetor que possui todos os pixels do display). Quando a aplicação requisita uma mudança (por exemplo, escrever um texto), o glx modifica o framebuffer e, via o driver ssd1306, atualiza o display para exibir o novo resultado.