lunes, 11 de octubre de 2021

Pantalla Oled SSD1306

OLED significa diodo emisor de luz orgánico 

La pantalla que tenemos es de 128px de ancho y 64px de alto dando una relación de aspecto de 2:1

Su conexión es extremadamente simple de dos cables



La pantalla es bicolor debido a que la zona superior de 128 x 16 es de color amarillo y la zona inferior de 48 x 128 es de color cyan

El sistema de coordenadas es el convencional con el inicio 0 0 en la ezquina superior izquierda. En el eje y comenza de 0 a 63 y en el eje x de 0 a 127. Si por ejemplo usamos las coordenadas (20, 10) el pinto de pixel estaría ubicado en la zona que se indica

La pantalla oled utiliza el circuito integrado SSD1306 incorporado en la pantalla

Conexión

1. El pin que dice GND lo conectamos al GND del Arduino

2. VDD a la salida 5v de arduino

3. El pin SCK a la salida analoga de arduino A5

4. El pin SDA a la salida analoga de arduino A4



Instalar librerías

Instalamos la de Adafruit GFX que es una librería generica que nos ayudará a la manipulación de texto y gráficos en la pantalla. Se usa para todo tipo de pantallas gráficas 


y una especifica del driver de controlador SSD1306

Programación

1. Incluímos la librería wile que es necesaria para la comunicación 
2. Incluimos las librerías que hemos descargado


3. Definimos con dos numerales la directiva al compilador para que reemplace toda ocurrencia de ancho por el 128 y alto por el 64
4. Debemos definir el numero de pines de la pantalla OLED ya que las librerías de Adafruit se configuradas a otra cantidad de salidas correspondientes a modulso propios. Por ello es necesario especificar 
5. Creamos un objeto de tipo "Adafruit_SSD1306" llamado "oled" y dentro del parantesis le pasaremos una serie de parámetros de inicialización
  • Numero de pixeles de ANCHO
  • Número de pixeles de ALTO
  • La referencia de la librería Wire
  • El pin de reset

6. En void setup comenzamos la comuniación con wire.begin
7. Luego la msima función pero con el objeto creado "oled". En el parentesis indicamos dos parámetros: 
  • El primero uan constanet definida dentro de la librería con el nombre SSD1306_SWITCHCAPVCC que es un comando para establecer un valor especifico de alimentación para la pantalla
  • El segundo se trata de la ubicación IDOCE que es 0x3C

8. En el void loop comenzamos con la primer función del objeto oled llamada cleardisplay que solamente borra y blanquea la pantalla de cualquier contenido que pudiera haber quedado de otro programa
9. Luego con al función setTextColor indicamos entre parentesis  el color del pixel a mostrar. Como la pantalla es monocromo solo usaremso el color blanco
10. Luego con la función setCursor especificamos al coordenadas desde donde deseamos comenzar a escribir 
11. Luego con setTextSize indicamos el tamaño de los caracteres a escribir
12. Luego con la función print escribimos en pantalla el texto
13. Luego volvemos a usar la función setcursor para definir nuevas coordenadas para otro texto a imprimir y setTextSize para definir otro tamaño
14. Luego en print poderíamos colocar la cuenta en segundos desde que arranca el arduino. Usamos la función millis y la dividimos en 1000 para ver reflejado en segundos la cuenta
15. Luego simplemente agregamos un print seg. para que se coloque seguidamente de la cuenta
16. Finalmente colocamos la función display que lo que hace es mostrar todo lo que acabmso de crear


Generar un círculo

Dibujar un circulo requiere de 4 parámetros

  • Los dos primeros son las coordenadas (x,y) del punto centrar desde donde va a comenzar a dibujar el circulo
  • El radio que se mide desde el punto central
  • Luego el color

Dentro de un bucle for vamos a agregar
1. DrawCircle para dibujar el circulo 
2. Dentro de drawCircle usamos primeramente las funciones widht para el ancho de la pantalla y height para el alto y lo dividimos por 2 para obtener exactamente el centro de la pantalla
3. Luego en el tercer parámetro correspondiente al radio del circulo agregamos el i para generar una animación de un circulo que incrementa su tamaño
4. Luego el color
5. El display para que muestre la animación y un delay 

Generar un rectángulo

Un recatangulo consta de 5 parámetros:
  • Las dos primeras son las coordenada (x,y9 que nacen desde el vertice superior izquierdo
  • Luego tenemos la anchura y altura en pixeles que también nacen del mismo vértice
  • Finalmente el color
Usamos drawrect para dibujar el rectángulo con todos los parámetros que indican la posición en que se crea el rectangulo, sus dimensiones y color

Luego podemos agregar un texto

Generar pixeles

Para generar un pixel usamos el drawPixel


Rectangulo relleno

Para rellenar un rectangulo usamos el fillRect y para hacer las letras usamos el color Black



Y tiene muchas más opciones que podemos ver desde aquí
https://learn.adafruit.com/adafruit-gfx-graphics-library/graphics-primitives


No hay comentarios:

Publicar un comentario

Instalar paquetes de phyton en blender

Para agregar nuevos paquetes o mpdulos al phyton que tiene blender tenemos dos opciones según la documentación de blender   1. Reemplazar el...