Manual

do

Maker

.

com

Display OLED no Raspberry

Display OLED no Raspberry

Estou com uma ideia muito boa aqui, mas não tenho certeza de que vá funcionar, então, para não perder todo o processo (porque acredite, para escrever os artigos me demanda um esforço tremendo), resolvi colocar parcialmente o projeto. Com isso, pelo menos o OLED você já terá funcionando no Raspberry.

Se estiver procurando por configuração desse display OLED para ESP8266 ou ESP32, dê uma olhada nesse artigo com tema de natal. Se estiver procurando essa configuração para Arduino, tem esse outro artigo. Também fiz a configuração de um display OLED no Onion Omega para validar CPF,  ou esse para validar cartão de crédito,  também para se comunicar com o twitter, esse para gerar QR code, e o polêmico artigo de como fazer uma bomba com Arduino.

Preparando o shield de prototipagem do Raspberry Pi

Esse shield é uma mão na roda. Mesmo que você só queira reproduzir temporariamente o artigo, é muito chato usar um monte de jumpers e protoboard. Fazendo com esse shield você terá a opção de aproveitar o barramento I2C para outros dispositivos posteriormente. E se desejar um setup permanente, lá estará ele, compacto sobre sua Raspberry.

Repare na imagem de destaque que tudo o que fiz foi soldar os slots para expandir os pinos de I2C para o shield. Simplesmente solde os slots, depois puxe um jumper dos bornes ou dos slots pre-existentes  para os respectivos pinos do display, SDA e SCL. A alimentação é 3v3, no borne da esquerda puxei o 3v3 e o GND. Daí aproveitei para colocar um PCF8574 no borne do canto inferior esquerdo, de modo que pude expandir os GPIO em mais 8 pinos com apenas um módulo endereçável. Isso é possível porque no barramento I2C podemos colocar até 127 dispositivos, desde que todos tenham endereços diferentes.

Da forma que fiz, só precisei de alguns pontos de solda e utilizando jumpers sobre o shield me permite dar outras aplicações a ele.

Como configurar o display OLED no Raspberry

A primeira questão que muitos podem levantar é em relação ao display. O Raspberry suporta video analógico e tem HDMI, então por qual razão utilizar um display OLED de 0.96i com baixíssima resolução (se comparado a um Full-HD)? Bem, temos que ter em mente alguns fatores.

O Raspberry Pi pode ser utilizado como desktop ou como video-game, mas ele é uma plataforma embarcada da arquitetura ARM rodando Linux. Do mesmo modo que um Arduino, você tem pinos de propósito geral para acionar relés, piscar LEDs, fazer leituras de estado, interrupções eos barramentos SPI e I2C, que lhe conferem a possibilidade de utilizar praticamente todos os módulos sensores que você tem disponível no Arduino. Se for utilizá-lo para IoT, provavelmente não quererá um display conectado a ele. Além disso, você pode minimizar os custos utilizando um display OLED apenas para ser informativo.

Material

Habilite o I2C

Precisaremos habilitar o barramento I2C no Raspberry para utilizar o display. Esse é o primeiro passo, então abra um terminal e execute o comando raspi-config. Vá ao menu Interfacing Options > I2C. Habilite-o e reinicie o sistema. Mas se por acaso estiver utilizando a proteção do micro SD descrito nesse artigo, primeiramente faça a mudança para modo de escrita no sistema:

mount -o remount,rw /
mount -o remount,rw /boot

Para instalar os pacotes mais abaixo, faça o mesmo após reiniciar o sistema.

Instalar e configurar os pacote necessários

Estou utilizando o Raspbian baseado no Debian Stretch. Deixe seus repositórios assim:

deb http://ftp.debian.org/debian stretch-backports main
deb http://archive.raspberrypi.org/debian/ stretch main ui
deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi firmware
deb http://httpredir.debian.org/debian/ stretch main contrib non-free

Para isso, edite o arquivo /etc/apt/sources.list com seu editor preferido.

Torne-se root com o comando sudo su, depois proceda com a instalação e download.

cd
apt-get update
apt-get install apt-utils python-pip build-essential python-smbus \
python-imaging git wget
pip install RPi.GPIO
wget -c https://github.com/adafruit/Adafruit_Python_SSD1306/archive/master.zip
unzip master.zip
ln -s ~/Adafruit_Python_SSD1306-master ~/oled

Instalei o git para clonar o repositório da Adafruit, mas por alguma razão não foi possível clonar, então utilizei o programa wget para fazer o download do arquivo com todos os arquivos contidos na raíz do github da Adafruit.

Hora de instalar o driver:

cd oled
python setup.py install

Nesse ponto, o display já estará pronto para uso. Basta agora rodar algum dos exemplos para testar:

cd examples
python animate.py

Bem, essa é a parte simples do projeto pretendido. Claro que se obtiver sucesso, vou disponibilizar todo o processo e o código para você poder brincar sem esforço, é só acompanhar!

Inscreva-se no nosso canal Manual do Maker no YouTube.

Também estamos no Instagram.

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.