La Pantalla OLED de 1.3 pulgadas con el controlador SSH1106 de 128x64 píxeles son de uso común con Arduino sin embargo también las podemos usar con Raspberry PI.
Si bien estas pantallas son muy pequeñas también son muy visibles dado su alto contraste incluso a plena luz del día.
El driver interno es un SSH1106 que se comunica por I2C (también existen por SPI). Internamente todo el conjunto funciona a 3,3V pero se han acoplado tanto la alimentación como los pines de entrada para funcionar perfectamente a 5V lo que lo hace ideal para utilizar con cualquier microcontrolador de 5V.
El consumo general depende en gran medida de cuantos píxeles están encendidos, pero el consumo medio ronda los 80mA.
El ejemplo propuesto es bastante simple, obtiene algunos datos del estado interno de la placa Raspberry y los muestra en la pantalla.
Para hacer funcionar la pantalla será necesario cargar una biblioteca que se encarga de resolver todos los problemas de hardware y su acople con Raspberry PI a través del bus I2C.
Para instalar el correspondiente driver escribimos directamente en la terminal lo siguiente:
sudo -H pip3 install --upgrade luma.oled
Para verificar su funcionamiento podemos ejecutar el siguiente sript Python:
Con el siguiente resultado.
Es importante estar seguro de cual es el controlador de la pantalla, puede ser SSD1306 o SH1106, no son exactamente iguales en lo que es el manejo de memoria interna, observe que en el programa se lee device = sh1106(serial, rotate=0) donde se especifica el controlador de pantalla y en este caso no se rota la pantalla. La rotación de pantalla puede ser 90, 180 o 360 grados, puede consultar la ayuda de la biblioteca y los ejemplos que se descargan con el propio driver.
Puede ser necesario descargar "psutil" con sudo -H pip3 install psutil esto depende de la instalación que tiene de Python3