U8glib

Librería
pic

La U8glib es una librería para Arduino creada para simplificar la tarea de mostrar información en pantallas pequeñas.

Cuenta con funciones para mostrar texto con distintos tipos de letra y tamaños, hacer dibujos, crear animaciones... tareas que de otro modo serían tediosas de realizar. Aquí puedes encontrar una lista de dispositivos compatibles con esta pantalla.

Estas son las funciones de la librería:

Ahora veamos cada una de ellas con detenimiento:

begin

Descripción:

Reinicia el display y lo pone en su estado por decto

Argumentos:

-

disableCursor

Descripción:

Vuelve invisible el cursor. Se debe usar fuera del bucle de pintado

Argumentos:

-

pic
ejemplo de funcion drawBitmap

drawBitmap

Descripción:

Dibuja un mapa de bits en la posición dada.

Si se le envia un Array, cada posición del Array representa un pixel de la pantalla. Por lo que el tamaño máximo del array deberá ser igual al tamaño de la pantalla. Un 1 en una posición del array indica que el pixel correspondiente deberá iluminarse, un 0 indica que debe permanecer apagado.

Argumentos:

  • u8g : Pointer to the u8g structure (C interface only).
  • x: Posicion en X.
  • y: Posición en Y.
  • cnt: Número de Bytes que tiene la imagen en horizontal.
  • h: altura de la imagen.
						//Establece los pines a los que esta conectada la pantalla.
						//SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
						U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);

						//Declaramos el array con el dibujo que queremos utilizar
						const uint8_t dibujito[] U8G_PROGMEM = {
						  0x00,         // 00000000 
						  0x55,         // 01010101
						  0x7f,          // 01111111
						  0x3e,         // 00111110
						  0x3e,         // 00111110 
						  0x3e,         // 00111110
						  0x3e,         // 00111110 
						  0x7f           // 01111111
						};

						void draw(void) {
						  //llamamos a la función drawBitmapP y le indicamos la posición en la que queremos que dibuje nuestro Array
						  u8g.drawBitmapP( 0, 0, 1, 8, dibujito);
						}

						void setup(void) {
						}

						void loop(void) {
						  // bucle de pintado
						  u8g.firstPage();  
						  do {
						    draw();
						  } while( u8g.nextPage() );
						  
						  // esperamos un segundo antes de volver a pintar en la pantalla.
						  delay(1000);
						}						
					
pic
Ejemplo con función drawBox

drawBox

Descripción:

Dibuja un cuadro de las dimensiones que recibe como argumento (h y w) en la posición dada (x,y)

Si una parte del cuadro esta fuera de los limites de la pantalla dibuja unicamente la parte que si queda dentro.

Argumentos:

  • u8g : Pointer to the u8g structure (C interface only).
  • x: posicion en X de la esquina superior izquierda del cuadrado a dibujar.
  • y: Posición en Y del la esquina superior izquierda del cuadrado a dibujar.
  • w: Ancho del cuadrado.
  • h: Alto del cuadrado.
						//Establece los pines a los que esta conectada la pantalla.
						//SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
						U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);

						void setup(void) {}

						void loop(void) {
						  // bucle de pintado
						  u8g.firstPage();  
						  do {
						  	//dibujamos un cuadrado
						    u8g.drawBox(10,12,20,30);
						  } while( u8g.nextPage() );
						  
						  // esperamos un segundo antes de volver a pintar en la pantalla.
						  delay(1000);
						}				
					
pic
Ejemplo de drawCircle

drawCircle

Descripción:

Dibuja un circulo (o una porción de un circulo) del radio que recibe como parámetro (rad) en la posición dada (x,y)

Argumentos:

  • u8g : Pointer to the u8g structure (C interface only).
  • x0, y0: Posición del centro del circulo.
  • rad: Tamaño del circulo (su radio).
  • opt: Sección del circulo a dibujar.
    • U8G_DRAW_UPPER_RIGHT: Sección superior derecha
    • U8G_DRAW_UPPER_LEFT: Sección superior izquierda
    • U8G_DRAW_LOWER_LEFT: Sección inferior izquierda
    • U8G_DRAW_LOWER_RIGHT: Sección inferior derecha
    • U8G_DRAW_ALL: Circulo completo
						//Establece los pines a los que esta conectada la pantalla.
						//SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
						U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);

						void setup(void) {}

						void loop(void) {
						  // bucle de pintado
						  u8g.firstPage();  
						  do {
						  	//dibujamos un circulo de radio 14 en la posición 20,20
						     u8g.drawCircle(20, 20, 14);
						  } while( u8g.nextPage() );
						  
						  // esperamos un segundo antes de volver a pintar en la pantalla.
						  delay(1000);
						}	
					
pic
Ejemplo con drawDisc

drawDisc

Descripción:

Dibuja una circunferencia (o una porción de ella) del radio que recibe como parámetro, en la posición que recibe.

Argumentos:

  • u8g : Pointer to the u8g structure (C interface only).
  • x0, y0: Posición del centro del circulo.
  • rad: Tamaño del circulo (su radio).
  • opt: Sección del circulo a dibujar.
    • U8G_DRAW_UPPER_RIGHT: Sección superior derecha
    • U8G_DRAW_UPPER_LEFT: Sección superior izquierda
    • U8G_DRAW_LOWER_LEFT: Sección inferior izquierda
    • U8G_DRAW_LOWER_RIGHT: Sección inferior derecha
    • U8G_DRAW_ALL: Circulo completo
						//Establece los pines a los que esta conectada la pantalla.
						//SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
						U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);

						void setup(void) {}

						void loop(void) {
						  // bucle de pintado
						  u8g.firstPage();  
						  do {
						  	//dibujamos un circulo de radio 14 en la posición 20,20
						     u8g.drawDisc(20, 20, 14);
						  } while( u8g.nextPage() );
						  
						  // esperamos un segundo antes de volver a pintar en la pantalla.
						  delay(1000);
						}	
					
pic
Ejemplo de drawEllipse

drawEllipse

Descripción:

Dibuja una elipse (o una porción de ella) con rx radus y 'ry' en la posición (x0, y0). rx * ry debe ser inferior a 1024 en el modo de 8 bits de u8glib.

Argumentos:

  • u8g : Pointer to the u8g structure (C interface only).
  • x0, y0: Posición del centro de la elipse.
  • rx,ry: Tamaño de la elipse.
  • opt: Sección del circulo a dibujar.
    • U8G_DRAW_UPPER_RIGHT: Sección superior derecha
    • U8G_DRAW_UPPER_LEFT: Sección superior izquierda
    • U8G_DRAW_LOWER_LEFT: Sección inferior izquierda
    • U8G_DRAW_LOWER_RIGHT: Sección inferior derecha
    • U8G_DRAW_ALL: Circulo completo
						//Establece los pines a los que esta conectada la pantalla.
						//SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
						U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);

						void setup(void) {}

						void loop(void) {
						  // bucle de pintado
						  u8g.firstPage();  
						  do {
						  	//dibujamos una elipse 
						         u8g.drawEllipse(20, 20, 14,10,U8G_DRAW_ALL);   
						  } while( u8g.nextPage() );
						  
						  // esperamos un segundo antes de volver a pintar en la pantalla.
						  delay(1000);
						}	
					
pic
Ejemplo de drawFilledEllipse

drawFilledEllipse

Descripción:

Dibuja una elipse sin relleno, del tamaño que recibe como parametro y en la posición que se le indica

Argumentos:

  • u8g : Pointer to the u8g structure (C interface only).
  • x0, y0: Posición del centro de la elipse.
  • rx,ry: Tamaño de la elipse.
  • opt: Sección del circulo a dibujar.
    • U8G_DRAW_UPPER_RIGHT: Sección superior derecha
    • U8G_DRAW_UPPER_LEFT: Sección superior izquierda
    • U8G_DRAW_LOWER_LEFT: Sección inferior izquierda
    • U8G_DRAW_LOWER_RIGHT: Sección inferior derecha
    • U8G_DRAW_ALL: Elipse completa
						//Establece los pines a los que esta conectada la pantalla.
						//SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
						U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);

						void setup(void) {}

						void loop(void) {
						  // bucle de pintado
						  u8g.firstPage();  
						  do {
						  	//dibujamos una elipse en la posición 20,20
						     u8g.>drawFilledEllipse(20, 20, 14,10,U8G_DRAW_ALL);
						  } while( u8g.nextPage() );
						  
						  // esperamos un segundo antes de volver a pintar en la pantalla.
						  delay(1000);
						}	
					
pic
Ejemplo de drawFrame

drawFrame

Descripción:

Dibuja un cuadrado del tamaño que recibe como parametro y de la posición dada.

Argumentos:

  • u8g : Pointer to the u8g structure (C interface only).
  • x: Posición X.
  • y: Posición Y.
  • w: Ancho del cuadrado.
  • h: Altura del cuadrado.
						//Establece los pines a los que esta conectada la pantalla.
						//SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
						U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);

						void setup(void) {}

						void loop(void) {
						  // bucle de pintado
						  u8g.firstPage();  
						  do {
						  	//dibujamos un cuadrado en la posición 10,12 de 30pixeles de ancho por 20 de alto.
						     u8g.drawFrame(10,12,30,20);
						  } while( u8g.nextPage() );
						  
						  // esperamos un segundo antes de volver a pintar en la pantalla.
						  delay(1000);
						}	
					
pic
Ejemplo de drawHLine

drawHLine

Descripción:

Dibuja una linea horizontal en la posición que se le indica (x,y) de un largo igual al que recibe como parámetro

Argumentos:

  • u8g : Pointer to the u8g structure (C interface only).
  • x: Posición en X
  • y: Posición en Y
  • w: Ancho
						//Establece los pines a los que esta conectada la pantalla.
						//SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
						U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);

						void setup(void) {}

						void loop(void) {
						  // bucle de pintado
						  u8g.firstPage();  
						  do {
						  	//dibujamos Una linea en la posición 10,12 de 20pixeles. 
						     u8g.drawHLine(10,12,20);
						  } while( u8g.nextPage() );
						  
						  // esperamos un segundo antes de volver a pintar en la pantalla.
						  delay(1000);
						}	
					
pic
Ejemplo de drawLine

drawLine

Descripción:

Dibuja una linea recta entre la posición definida por los puntos x1,y1 y x2,y2.

Argumentos:

  • u8g : Pointer to the u8g structure (C interface only).
  • x1, y1: Posición inicial.
  • x2, y2: Posición final
						//Establece los pines a los que esta conectada la pantalla.
						//SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
						U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);

						void setup(void) {}

						void loop(void) {
						  // bucle de pintado
						  u8g.firstPage();  
						  do {
						  	//dibujamos Una linea recta entre los puntos 7,10 y 40,55
						  	 u8g.drawLine(7, 10, 40, 55);
						  } while( u8g.nextPage() );
						  
						  // esperamos un segundo antes de volver a pintar en la pantalla.
						  delay(1000);
						}	
					
pic
Ejemplo drawPixel

drawPixel

Descripción:

Dibuja un punto (enciende un pixel) en la posición dada.

Argumentos:

  • u8g : Pointer to the u8g structure (C interface only).
  • x: Coordenada X.
  • y: Coordenada Y Y
						//Establece los pines a los que esta conectada la pantalla.
						//SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
						U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);

						void setup(void) {}

						void loop(void) {
						  // bucle de pintado
						  u8g.firstPage();  
						  do {
						  	//dibujamos un punto en la posición 14,23
						  	u8g.drawPixel(14,23);
						  } while( u8g.nextPage() );
						  
						  // esperamos un segundo antes de volver a pintar en la pantalla.
						  delay(1000);
						}
					
pic
Ejemplo de drawRFrame

drawRFrame

Descripción:

Dibuja un cuadrado con los bordes redondeados. del tamaño que se le especifica, en la posición que se le da y con un radio en las esquinas que se le pasa como parametro.

Argumentos:

  • u8g : Pointer to the u8g structure (C interface only).
  • x: Posición en X de la esquina superior izquierda.
  • y: Posición en Y de la esquina superior derecha.
  • w: Ancho del cuadro.
  • h: Alto del cuadro.
  • r: Radio de los vertices.
						//Establece los pines a los que esta conectada la pantalla.
						//SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
						U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);

						void setup(void) {}

						void loop(void) {
						  // bucle de pintado
						  u8g.firstPage();  
						  do {
						  	//dibujamos un cuadro en 14,23, de 20px de alto por 20px de ancho y sus esquinas tienen un radio de 7
						  	u8g.drawRFrame(14,23,20,20,7);
						  } while( u8g.nextPage() );
						  
						  // esperamos un segundo antes de volver a pintar en la pantalla.
						  delay(1000);
						}
					
pic
Ejemplo de drawStr

drawStr (drawStr90, drawStr180, drawStr270, drawStrP, drawStr90P, drawStr180P, drawStr270P)

Descripción:

Escribe una cadena de texto (String) en la posición definida por x,y y del tamaño de la función usada. (drawStr90 escribira con un tamaño de 90,drawStr180 con un tamaño de 180...etc)

Argumentos:

    u8g : Pointer to the u8g structure (C interface only). x: Posición en X. y: Posición en Y. s: texto.
						//Establece los pines a los que esta conectada la pantalla.
						//SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
						U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);

						void setup(void) {}

						void loop(void) {
						  // bucle de pintado
						  u8g.firstPage();  
						  do {
						  	//dibujamos un cuadro en 14,23, de 20px de alto por 20px de ancho y sus esquinas tienen un radio de 7
						  	u8g.drawStr90(0, 20, "drawStr90");
						  	u8g.drawStr180(30, 20, "drawStr180");
						  	u8g.drawStr270(10, 70, "drawStr270");
						  } while( u8g.nextPage() );
						  
						  // esperamos un segundo antes de volver a pintar en la pantalla.
						  delay(1000);
						}
					
pic
Ejemplo drawTriangle

drawTriangle

Descripción:

Dibuja el triangulo formado por los tres puntos que le pasemos como argumento.

Argumentos:

  • u8g : Pointer to the u8g structure (C interface only).
  • x0: Posicion X del punto 0.
  • y0: Posición Y del punto 0.
  • x1: Posición X del punto 1.
  • y1: Posición Y del punto 1.
  • x2: Posición X del punto 2.
  • y2: Posición Y del punto 2.
						//Establece los pines a los que esta conectada la pantalla.
						//SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
						U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);

						void setup(void) {}

						void loop(void) {
						  // bucle de pintado
						  u8g.firstPage();  
						  do {
						  	//Dibujamos el triangulo formado por los puntos (14,55), (45,33), (9,43)
						  	u8g.drawTriangle(14,55, 45,33, 9,43);
						  } while( u8g.nextPage() );
						  
						  // esperamos un segundo antes de volver a pintar en la pantalla.
						  delay(1000);
						}
					
pic
Ejemplo de drawVLine

drawVLine

Descripción:

Dibuja una linea vertical que empieza en el punto que pasamos como parámetro y tiene la longitud que le pasemos.

Argumentos:

    u8g : Pointer to the u8g structure (C interface only). x: Posición X del punto de inicio. y: Posición Y del punto de inicio. h: Longitud de la linea.
						//Establece los pines a los que esta conectada la pantalla.
						//SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
						U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);

						void setup(void) {}

						void loop(void) {
						  // bucle de pintado
						  u8g.firstPage();  
						  do {
						  	//Dibujamos una linea que empieza en (14,55) y tiene 20px de largo.
						  	u8g.drawVLine(14,55, 20);
						  } while( u8g.nextPage() );
						  
						  // esperamos un segundo antes de volver a pintar en la pantalla.
						  delay(1000);
						}
					
pic
Ejemplo drawXBMP

drawXBMP

Descripción:

Dibuja una imagen en la posición y con el tamaño especificado.

Argumentos:

  • u8g : Pointer to the u8g structure (C interface only).
  • x: posición en X.
  • y: posición en Y.
  • w: ancho.
  • h: alto.
  • bitmap: imagen.
						//SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
						U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);
						#define u8g_logo_width 38
						#define u8g_logo_height 24
						
						static unsigned char u8g_logo_bits[] = {
						   0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xe0, 0xe0,						
						   0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x3f };

						void setup(void) {}

						void loop(void) {
						  // bucle de pintado
						  u8g.firstPage();  
						  do {
						  	//Dibujamos la imagen desde la posición (0,0) con un alto de 24 y un ancho de 32
						  	u8g.drawXBM( 0, 0, u8g_logo_width, u8g_logo_height, u8g_logo_bits);
						  } while( u8g.nextPage() );
						  
						  // esperamos un segundo antes de volver a pintar en la pantalla.
						  delay(1000);
						}
					

enableCursor

Descripción:

Vuelve visible el cursor

Argumentos:

-

firstPage

Descripción:

Inicia el bucle de pintado, debe llamarse antes del bucle.

Argumentos:

-

getColorIndex

Descripción:

Devuelve el color actualmente seleccionado para dibujar en el bucle.

Argumentos:

-

getFontAscent

Descripción:

Devuelve el tamaño de letra seleccionado

Argumentos:

-

getFontLineSpacing

Descripción:

Devuelve la distancia vertical entre dos lineas de texto

Argumentos:

-

getHeight

Descripción:

devuelve la altura de la pantalla/p>

Argumentos:

-

getMode

Descripción:

Devuelve información sobre el display y el modo en el que se encuentra

Argumentos:

-

getWidth

Descripción:

Devuelve el ancho de la pantalla.

Argumentos:

-

getStrWidth

Descripción:

Devuelve el ancho de un String

Argumentos:

-

nextPage

Descripción:

Marca el final del bucle de pintado

Argumentos:

print

Descripción:

Escribe en pantalla

Argumentos:

  • string: la cadena a escribir
						//Establece los pines a los que esta conectada la pantalla.
						//SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
						U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);

						void setup(void) {}

						void loop(void) {
						  // bucle de pintado
						  u8g.firstPage();  
						  do {
						  	//Dibujamos una linea que empieza en (14,55) y tiene 20px de largo.
						  	u8g.print("Trastejant")
						  } while( u8g.nextPage() );
						  
						  // esperamos un segundo antes de volver a pintar en la pantalla.
						  delay(1000);
						}
					
pic
Ejemplo con setColorIndex

setColorIndex

Descripción:

Define el color que se utilizará para dibujar.

Argumentos:

  • u8g : Pointer to the u8g structure (C interface only).
  • color_index: Color con el que se dibujará.
						//Establece los pines a los que esta conectada la pantalla.
						//SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
						U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);

						void setup(void) {}

						void loop(void) {
						  // bucle de pintado
						  u8g.firstPage();  
						  do {
						  	//Establecemos el color
						  	u8g.setColorIndex(1);
						  	//dibujamos
							u8g.drawBox(10, 12, 20, 30);  

							//cambiamos de color
							u8g.setColorIndex(0);
							//volvemos a dibujar
							u8g.drawPixel(28, 14); 
						  } while( u8g.nextPage() );
						  
						  // esperamos un segundo antes de volver a pintar en la pantalla.
						  delay(1000);
						}
					

setCursorColor

Descripción:

Define el color del cursor y del fondo por el que pasa.

Argumentos:

  • u8g : Pointer to the u8g structure (C interface only)
  • fg: Color de primer plano.
  • bg: Color de fondo.
pic
Figuras de cursor

setCursorFont

Descripción:

Define la forma del cursor

Argumentos:

  • u8g : Pointer to the u8g structure (C interface only).
  • font: Figura del cursor.

setCursorPos

Descripción:

Pinta el cursor en una posición determinada

Argumentos:

  • u8g : Pointer to the u8g structure (C interface only).
  • x: posición en X.
  • y: posición en Y.
  • setDefaultBackgroundColor, setDefaultForegroundColor, setDefaultMidColor

    Descripción:

    Asigna colores por defecto

    Argumentos:

    -

    setFont

    Descripción:

    Define el tipo de letra que se utilizará para escribir.

    Los tipos de letra deberán estar cargados en memoria.

    Argumentos:

    • u8g : Pointer to the u8g structure (C interface only).
    • font: puntero donde se encuentra la fuente de letra..

    setFontLineSpacingFactor

    Descripción:

    Define la distancia de interlineado

    Argumentos:

    • u8g : Pointer to the u8g structure (C interface only).
    • factor: ver tabla:.
    • Line stretch 0.5 0.8 1.0 1.2 1.5 2.0
      factor 32 51 64 77 96 128

    setFontPosBaseline, setFontPosBottom, setFontPosCenter, setFontPosTop

    Descripción:

    Define la alineación del texto.

    Argumentos:

    -

    						//Establece los pines a los que esta conectada la pantalla.
    						//SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8
    						U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);
    
    						void setup(void) {}
    
    						void loop(void) {
    						  // bucle de pintado
    						  u8g.firstPage();  
    						  do {
    						  	u8g.setFont(u8g_font_osb18);
    							u8g.setFontPosTop();
    							u8g.drawStr(0, 20, "ABC");
    						  } while( u8g.nextPage() );
    						  
    						  // esperamos un segundo antes de volver a pintar en la pantalla.
    						  delay(1000);
    						}
    					

    setFontRefHeightAll, setFontRefHeightExtendedText, setFontRefHeightText

    Descripción:

    • setFontRefHeightAll: Ascent will be the highest ascent of all glyphs of the current font. Descent will be the highest descent of all glyphs of the current font.
    • setFontRefHeightExtendedText: Ascent will be the largest ascent of "A", "1" or "(" of the current font. Descent will be the descent of "g" or "(" of the current font (this is the default after startup).
    • setFontRefHeightText: Ascent will be the ascent of "A" or "1" of the current font. Descent will be the descent "g" of the current font

    setHardwareBackup

    Descripción:

    Se usa en caso de tener la conexión SPI, TWI o UART multiplexada. En este caso se hace una copia de la información actual antes del cambio.

    Argumentos:

    • u8g : Pointer to the u8g structure (C interface only).
    • backup_cb: Estado del Hardware.
    						U8GLIB_DOGM128 u8g(7, 5, 1, 2);                    // SPI Com: SCK = 7, MOSI = 5, CS = 1, A0 = 2
    
    						void setup()  {
    						 
    						  // SPI backup: Avoid conflict between SW-SPI (u8glib) and HW-SPI (SD)
    						  u8g.setHardwareBackup(u8g_backup_avr_spi);
    						 
    						  // Setup Arduino SD library
    						  pinMode(SS, OUTPUT);
    						  if (SD.begin(23)) {
    						    mas_Init(mas_device_sd, NULL);
    						  }
    						 
    						}
    					

    setPrintPos

    Descripción:

    Asigna una posición x,y para el procedimiento print

    Argumentos:

    • x: Posición en X.
    • y: Posición en Y.

    setRGB

    Descripción:

    Asigna un color en formato RGB

    Argumentos:

    • u8g : Pointer to the u8g structure (C interface only).
    • r: Rojo, rango: 0..255.
    • g: Verde, rango: 0..255.
    • b: Azul, rango: 0..255.
    pic
    Ejemplo con SetRot90

    setRot90, setRot180, setRot270

    Descripción:

    Rota el dibujo en el display 90,180 o 270 grados respectivamente en el sentido de las agujas del reloj.

    Argumentos:

    -

    						#include 
    
    						//Establece los pines a los que esta conectada la pantalla.  
    						//SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8  
    						#define cs 2     // CS
    						#define a0 3     // DC
    						#define reset 4  // RST
    						#define sck 5    // D0
    						#define mosi 6   // D1
    						 
    						int x, y;
    						 
    						//SPI Comunicación por SW (sck, mosi, cs, a0 , reset)
    						U8GLIB_SSD1306_128X64 u8g(sck, mosi, cs, a0, reset);
    						  
    
    						  
    						void setup(void) {}  
    						  
    						void loop(void) {  
    						  // bucle de pintado  
    						  u8g.firstPage();    
    						  do {  
    						u8g.setFont(u8g_font_osb18);  
    						    u8g.setFontPosTop();  
    						    u8g.setRot90();
    						    u8g.drawStr(0, 20, "ABC");  
    
    						  } while( u8g.nextPage() );  
    						    
    						  // esperamos un segundo antes de volver a pintar en la pantalla.  
    						  delay(10);  
    						}  
    					
    pic
    ejemplo con setScale

    setScale2x2

    Descripción:

    Escala todo lo dibujado despues hasta que se restaura con undoScale(), getHeight o getWidth

    Argumentos:

    -

    					#include 
    
    					//Establece los pines a los que esta conectada la pantalla.  
    					//SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8  
    					#define cs 2     // CS
    					#define a0 3     // DC
    					#define reset 4  // RST
    					#define sck 5    // D0
    					#define mosi 6   // D1
    					 
    					int x, y;
    					 
    					//SPI Comunicación por SW (sck, mosi, cs, a0 , reset)
    					U8GLIB_SSD1306_128X64 u8g(sck, mosi, cs, a0, reset);
    					  
    
    					  
    					void setup(void) {}  
    					  
    					void loop(void) {  
    					  // bucle de pintado  
    					  u8g.firstPage();    
    					  do {  
    					    
    					      u8g.setFont(u8g_font_unifont);  
    					      u8g.setFontPosTop();  
    					      u8g.drawStr(0, 1, "Hello");  
    					      u8g.drawHLine(0, 1+14, 40);  
    					      u8g.setScale2x2();                    // Scale up all draw procedures  
    					      u8g.drawStr(0, 12, "Hello");          // actual display position is (0,24)  
    					      u8g.drawHLine(0, 12+14, 40);          // All other procedures are also affected  
    					      u8g.undoScale();                      // IMPORTANT: Switch back to normal mode  
    					      
    
    					  } while( u8g.nextPage() );  
    					    
    					  // esperamos un segundo antes de volver a pintar en la pantalla.  
    					  delay(10);  
    					} 
    					

    sleepOn/sleepOff

    Descripción:

    Si el display dispone de función Sleep esta función la enciende o apaga.

    Argumentos:

    -

    undoRotation

    Descripción:

    Eliminar una rotación aplicada realizada por los comandos "setRotXY". Después de llamar a este comando, la pantalla tendrá su orientación predeterminada.

    Argumentos:

    -

    undoScale

    Descripción:

    Elimina un escalado realizado por setScale.

    Argumentos:

    -

    pic
    U8Glib

    U8GLIB

    Descripción:

    Crear una nueva interfaz a una pantalla gráfica.

    El argumento dev describe el tipo de la pantalla. Por lo general, este constructor no se llama directamente. En su lugar hay clases drived para cada dispositivo disponible. Véase también la última columna de la lista de dispositivos para obtener una lista completa de llamadas a constructores disponibles.

    Argumentos:

    • dev: Dispositivo que queremos controlar.
    • Arduino pins: Los pines a los que esta conectada la pantalla..
    • reset: El pin de reset
    Plantilla Basada en la obra de © 2011 Ansimuz.