Escolar Documentos
Profissional Documentos
Cultura Documentos
U8GLIB
CATEGORIA: ARDUINO
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.
begin
disableCursor
drawBitmap
drawBitmapP
drawBox
drawCircle
drawDisc
drawEllipse
drawFilledEllipse
drawFrame
drawHLine
drawLine
drawPixel
drawRBox
drawRFrame
drawStr
drawStr90
drawStr180
drawStr270
drawStrP
drawStr90P
drawStr180P
drawStr270P
drawTriangle
drawVLine
drawXBM
drawXBMP
enableCursor
firstPage
getColorIndex
getFontAscent
getFontDescent
getFontLineSpacing
getHeight
getMode
getWidth
getStrWidth
InitSPI , InitHWSPI , Init8Bit InitComFn
nextPage
print
setColorIndex
setContrast
setCursorColor
setCursorFont
setCursorPos
setCursorStyle
setDefaultBackgroundColor
setDefaultForegroundColor
setDefaultMidColor
setFont
setFontLineSpacingFactor
setFontPosBaseline
setFontPosBottom
setFontPosCenter
setFontPosTop
setFontRefHeightAll
setFontRefHeightExtendedText
setFontRefHeightText
setHardwareBackup
setPrintPos
setRGB
setRot90
setRot180
setRot270
setScale2x2
sleepOn
sleepOff
undoRotation
undoScale
U8GLIB
Argumentos:
–
disableCursor
Descripción:
Vuelve invisible el cursor. Se debe usar fuera del bucle de pintado
Argumentos:
–
drawBitmap
Descripción:
Argumentos:
Demostracion bitmap
u8g : Pointer to the u8g structure (C 1 //Establece los pines a los que esta conect
2 //SCK = 13, MOSI = 11, CS = 10, A0 = 9, Res
interface only).
3 U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);
x: Posicion en X. 4
y: Posición en Y. 5 //Declaramos el array con el dibujo que que
cnt: Número de Bytes que tiene la 6 const uint8_t dibujito[] U8G_PROGMEM = {
imagen en horizontal. 7 0x00, // 00000000
8 0x55, // 01010101
h: altura de la imagen. 9 0x7f, // 01111111
10 0x3e, // 00111110
11 0x3e, // 00111110
12 0x3e, // 00111110
13 0x3e, // 00111110
14 0x7f // 01111111
15 };
16
17 void draw(void) {
18 /*llamamos a la función drawBitmapP y le i
19 que queremos que dibuje nuestro Array */
20 u8g.drawBitmapP( 0, 0, 1, 8, dibujito);
21 }
22
23 void setup(void) {
24 }
25
26 void loop(void) {
27 // bucle de pintado
28 u8g.firstPage();
29 do {
30 draw();
31 } while( u8g.nextPage() );
32
33 // esperamos un segundo antes de volver a
34 delay(1000);
35 }
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 únicamente la
parte que si queda dentro.
Argumentos:
1
2 //Establece los pines a los que esta conect
u8g : Pointer to the u8g structure (C //SCK = 13, MOSI = 11, CS = 10, A0 = 9, Res
3
interface only). 4 U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);
x: posición en X de la esquina superior 5
izquierda del cuadrado a dibujar. 6 void setup(void) {}
y: Posición en Y del la esquina superior 7
8 void loop(void) {
izquierda del cuadrado a dibujar. // bucle de pintado
9
w: Ancho del cuadrado. 10 u8g.firstPage();
h: Alto del cuadrado. 11 do {
12 //dibujamos un cuadrado
13 u8g.drawBox(10,12,20,30);
14 } while( u8g.nextPage() );
15
16 // esperamos un segundo antes de volver a
17 delay(1000);
}
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:
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:
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:
drawFrame
Descripción:
Argumentos:
drawHLine
Descripción:
Argumentos: 1
2 //Establece los pines a los que esta conect
u8g : Pointer to the u8g structure (C 3 //SCK = 13, MOSI = 11, CS = 10, A0 = 9, Res
4 U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);
interface only).
x: Posición en X 5
6 void setup(void) {}
y: Posición en Y 7
w: Ancho 8 void loop(void) {
9 // bucle de pintado
10 u8g.firstPage();
11 do {
12 //dibujamos Una linea en la posición 10,12
13 u8g.drawHLine(10,12,20);
14 } while( u8g.nextPage() );
15
16 // esperamos un segundo antes de volver a
delay(10
drawLine
Descripción:
Dibuja una linea recta entre la posición
definida por los puntos x1,y1 y x2,y2.
Argumentos:
1
2 //Establece los pines a los que esta conect
u8g : Pointer to the u8g structure (C //SCK = 13, MOSI = 11, CS = 10, A0 = 9, Res
3
interface only). 4 U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);
x1, y1: Posición inicial. 5
6 void setup(void) {}
x2, y2: Posición final
7
8 void loop(void) {
9 // bucle de pintado
10 u8g.firstPage();
11 do {
12 //dibujamos Una linea recta entre los punt
13 u8g.drawLine(7, 10, 40, 55);
14 } while( u8g.nextPage() );
15
16 // esperamos un segundo antes de volver a
17 delay(1000);
}
drawPixel
Descripción:
Argumentos:
drawRFrame
Descripción:
Argumentos:
1 //Establece los pines a los que esta conect
u8g : Pointer to the u8g structure (C 2 //SCK = 13, MOSI = 11, CS = 10, A0 = 9, Res
3 U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);
interface only). 4
x: Posición en X de la esquina superior 5 void setup(void) {}
izquierda. 6
y: Posición en Y de la esquina superior 7 void loop(void) {
derecha. 8 // bucle de pintado
9 u8g.firstPage();
w: Ancho del cuadro. 10 do {
h: Alto del cuadro. 11 //dibujamos un cuadro en 14,23, de 20px de
r: Radio de los vertices. 12 de 7
13 u8g.drawRFrame(14,23,20,20,7);
14 } while( u8g.nextPage() );
15
16 // esperamos un segundo antes de volver a
17 delay(1000);
}
drawStr (drawStr90,
drawStr180, drawStr270,
drawStrP, drawStr90P,
drawStr180P,
drawStr270P)
Descripción:
1 //Establece los pines a los que esta conect
2 //SCK = 13, MOSI = 11, CS = 10, A0 = 9, Res
Escribe una cadena de texto (String) en la 3 U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);
posición definida por x,y y del tamaño de la 4
función usada. (drawStr90 escribira con un 5 void setup(void) {}
6
tamaño de 90,drawStr180 con un tamaño de 7 void loop(void) {
180…etc) 8 // bucle de pintado
9 u8g.firstPage();
Argumentos: 10 do {
11 //dibujamos un cuadro en 14,23, de 20px de
12 de 7
u8g : Pointer to the u8g structure (C interface 13 u8g.drawStr90(0, 20, "drawStr90");
only). x: Posición en X. y: Posición en Y. s: 14 u8g.drawStr180(30, 20, "drawStr180");
texto. 15 u8g.drawStr270(10, 70, "drawStr270");
16 } while( u8g.nextPage() );
17
18 // esperamos un segundo antes de volver a
19 delay(1000);
}
drawTriangle
Descripción:
Dibuja el triangulo formado por los tres
puntos que le pasemos como argumento.
Argumentos:
drawVLine
Descripción:
enableCursor
Descripción:
Argumentos:
firstPage
Descripción:
Argumentos:
getColorIndex
Descripción:
Argumentos:
getFontAscent
Descripción:
Argumentos:
getFontLineSpacing
Descripción:
Devuelve la distancia vertical entre
Argumentos:
–
getHeight
Descripción:
devuelve la altura de
Argumentos:
–
getMode
Descripción:
Devuelve información sobre el display y el m
Argumentos:
–
getWidth
Descripción:
Devuelve el ancho
Argumentos:
–
getStrWidth
Descripción:
Devuelve el ancho
Argumentos:
–
nextPage
Descripción:
Marca el final del
Argumentos:
–
1
2 //Establece los pines a los que esta conect
3 //SCK = 13, MOSI = 11, CS = 10, A0 = 9, Res
4 U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);
5 void setup(void) {}
print 6
7 void loop(void) {
8 // bucle de pintado
9 u8g.firstPage();
Descripción: do {
Escribe en pantalla 10
11 //Dibujamos una linea que empieza en (14,55
Argumentos: 12 u8g.print("Trastejant")
string: la cadena a escribir 13 } while( u8g.nextPage() );
14
15 // esperamos un segundo antes de volver a p
16 delay(1000);
}
setColorIndex
Descripción:
Define el color que se utilizará para dibujar. 1
Argumentos: 2 //Establece los pines a los que esta conect
3 //SCK = 13, MOSI = 11, CS = 10, A0 = 9, Res
4 U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8);
u8g : Pointer to the u8g structure (C void setup(void) {}
5
interface only). 6
color_index: Color con el que se 7 void loop(void) {
8 // bucle de pintado
dibujará. u8g.firstPage();
9
10 do {
11 //Establecemos el color
12 u8g.setColorIndex(1);
13 //dibujamos
14 u8g.drawBox(10, 12, 20, 30);
15
16 //cambiamos de color
17 u8g.setColorIndex(0);
18 //volvemos a dibujar
19 u8g.drawPixel(28, 14);
20 } while( u8g.nextPage() );
21
22 // esperamos un segundo antes de volver a p
23 delay(1000);
}
setCursorColor
Descripción:
Define el color del cursor y del
Argumentos:
setCursorPos
Descripción:
Pinta el cursor en
Argumentos:
setDefaultBackgroundColor, setDefaultForegroundColor, se
Descripción:
Asigna colores
Argumentos:
–
setFont
Descripción:
Define el tipo de letra que
Los tipos de letra deberán es
Argumentos:
u8g : Pointer to the u8g
font: puntero donde se encuentra la fuente de letra..
setFontLineSpacingFactor
Descripción:
Define la distancia
Argumentos:
u8g : Pointer to the u8g
factor: ver tabla:.
setFontRefHeightAll: Ascent will be the highest ascent of all glyphs of the current font. Descent w
setFontRefHeightExtendedText: Ascent will be the largest ascent of “A”, “1” or “(” of the current
the default after startup).
setFontRefHeightText: Ascent will be the ascent of “A” or “1” of the current font. Descent will be
setHardwareBackup
Descripción:
Se usa en caso de tener la conexión SPI, TWI o UART multiplexada. En este caso se hace una
Argumentos:
u8g : Pointer to the u8g
backup_cb: Estado del Hardware.
1
2 U8GLIB_DOGM128 u8g(7, 5, 1, 2); // SPI Com: SCK = 7, MOSI = 5, CS = 1, A0 = 2
3
4 void setup() {
5
6 // SPI backup: Avoid conflict between SW-SPI (u8glib) and HW-SPI (SD)
7 u8g.setHardwareBackup(u8g_backup_avr_spi);
8
9 // Setup Arduino SD library
10 pinMode(SS, OUTPUT);
11 if (SD.begin(23)) {
12 mas_Init(mas_device_sd, NULL);
13 }
14
}
setPrintPos
Descripción:
Asigna una posición x,y para
Argumentos:
x: Posición en X.
y: Posición en Y.
setRGB
Descripción:
Asigna un color en
Argumentos:
setRot90, setRot180,
setRot270 1 #include
2
Descripción: 3 //Establece los pines a los que esta conec
4 //SCK = 13, MOSI = 11, CS = 10, A0 = 9, Re
Rota el dibujo en el display 90,180 o 270 5 #define cs 2 // CS
grados respectivamente en el sentido de las 6 #define a0 3 // DC
agujas del reloj. 7 #define reset 4 // RST
Argumentos: 8 #define sck 5 // D0
9 #define mosi 6 // D1
– 10
11 int x, y;
12
13 //SPI Comunicación por SW (sck, mosi, cs,
14 U8GLIB_SSD1306_128X64 u8g(sck, mosi, cs, a
15
16
17
18 void setup(void) {}
19
20 void loop(void) {
21 // bucle de pintado
22 u8g.firstPage();
23 do {
24 u8g.setFont(u8g_font_osb18);
25 u8g.setFontPosTop();
26 u8g.setRot90();
27 u8g.drawStr(0, 20, "ABC");
28
29 } while( u8g.nextPage() );
30
31 // esperamos un segundo antes de volver a
32 delay(10);
33 }
1 #include
setScale2x2 2
3 //Establece los pines a los que esta conec
4 //SCK = 13, MOSI = 11, CS = 10, A0 = 9, Re
Descripción: 5 #define cs 2 // CS
6 #define a0 3 // DC
Escala todo lo dibujado despues hasta que 7 #define reset 4 // RST
se restaura con undoScale(), getHeight o 8 #define sck 5 // D0
getWidth 9 #define mosi 6 // D1
Argumentos: 10
11 int x, y;
– 12
13 //SPI Comunicación por SW (sck, mosi, cs,
14 U8GLIB_SSD1306_128X64 u8g(sck, mosi, cs, a
15
16
17
18 void setup(void) {}
19
20 void loop(void) {
21 // bucle de pintado
22 u8g.firstPage();
23 do {
24
25 u8g.setFont(u8g_font_unifont);
26 u8g.setFontPosTop();
27 u8g.drawStr(0, 1, "Hello");
28 u8g.drawHLine(0, 1+14, 40);
29 u8g.setScale2x2(); // Scale up all draw pr
30 u8g.drawStr(0, 12, "Hello"); // actual dis
31 u8g.drawHLine(0, 12+14, 40); // All other
32 u8g.undoScale(); // IMPORTANT: Switch back
33
34
35 } while( u8g.nextPage() );
36
37 // esperamos un segundo antes de volver a
38 delay(10);
39 }
sleepOn/sleepOff
Descripción:
Si el display dispone de función Sleep esta
Argumentos:
–
undoRotation
Descripción:
Eliminar una rotación aplicada realizada por los comandos “setRotXY”. Después de llamar a est
Argumentos:
–
undoScale
Descripción:
Elimina un escalado realizado por setScale.
Argumentos:
–
U8GLIB
Descripción:
Crear una nueva interfaz a
El argumento dev describe el tipo de la pantalla. Por lo general, este constructor no se llama d
disponible. Véase también la última columna de la lista de dispositivos para obtener una lista co
Argumentos: