begin
Descripción:
Reinicia el display y lo pone en su estado por defecto
Argumentos:
– |
disableCursor
Descripción:
Vuelve invisible el cursor. Se debe usar fuera del bucle de pintado
Argumentos:
– |
drawBitmap
Descripción:
Dibuja un mapa de bits en la posición dada.
Si se le envía 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.
|
Demostracion bitmap
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| //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);
} |
//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);
}
|
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:
- u8g : Pointer to the u8g structure (C interface only).
- x: posición 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.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| //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);
} |
//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);
}
|
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
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| //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);
} |
//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);
}
|
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
|
Ejemplo Drawdisc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| //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);
} |
//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);
}
|
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
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| //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);
} |
//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);
}
|
drawFilledEllipse
Descripción:
Dibuja una elipse sin relleno, del tamaño que recibe como parámetro y en la posición que se le indica
Argumentos:
- au8g : 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
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| //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);
} |
//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);
}
|
drawFrame
Descripción:
Dibuja un cuadrado del tamaño que recibe como parámetro 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.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| //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);
} |
//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);
}
|
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
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| //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(10 |
//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(10
|
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
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| //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);
} |
//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);
}
|
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
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| //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);
} |
//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);
}
|
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 parámetro.
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.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| //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);
} |
//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);
}
|
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. |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| //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);
} |
//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);
}
|
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.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| //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);
} |
//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);
}
|
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. |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| //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);
} |
//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);
}
|
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.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| //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);
} |
//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 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| //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);
} |
//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);
}
|
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á.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| //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);
} |
//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.
|
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:. |
setFontPosBaseline, setFontPosBottom, setFontPosCenter, setFontPosTop
Descripción:
Define la alineación del texto.
Argumentos:
– |
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.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| 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);
}
} |
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.
|
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:
– |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| #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);
} |
#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);
}
|
setScale2x2
Descripción:
Escala todo lo dibujado despues hasta que se restaura con undoScale(), getHeight o getWidth
Argumentos:
– |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| #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);
} |
#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:
– |
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
|
Buena información.una pregunta, necesito hacer una interfaz de usuario empleando este LCD, y también un keypad de 4×4. Anteriormente ya he hecho el proyecto con un LCD de 16×40 y funciona perfectamente. ¿Puedes sugerirme alguna idea para evitar problemas con la captura de eventos del keypad y el dibujo de la pantalla.?
amigo como se puede hacer medio circulo
Hola!
Si miras arriba y buscas la función drawCircle verás que el argumento opt te permite dibujar la sección del circulo que quieras.
Salu2!
Muchas gracias por compartir tus conocimientos, fue muy esclarecedor el tutorial.
¡Me alegro!
¡Gracias a ti por el comentario!
Muchas gracias por la explicación de cada una de las funciones de la librería, me ha sido muy útil. Ahora estoy empezando con otro proyecto y me gustaría saber si hay alguna librería compatible con el driver id RM67160 para una pantalla OLED. No he encontrado prácticamente nada de información.
Saludos!!
Buen tutorial.
Una consulta, sabes como se puede definir el ancho del campo de los números para la función print, necesito mostrar por pantalla un numero decimal pero me lo corta en el segundo termino; por ejemplo me muestra 0.00 en vez de 0.0001
Buen tutorial.
Una consulta, sabes como definir el ancho del campo de un número, necesito mostrar por pantalla un número decimal pero me lo corta en el segundo termino; Por ejemplo me muestra 0.00 en vez de 0.001
Muy buen manual de uso, no me queda claro como indicar la dirección I2C y el tipo de pantalla, Muchas gracias
Has una comparativa «if»,donde evalúe antes el número que mostradas,donde si ese número es menor a 0.01 y que por lo tanto dicho número ocupa un tercer decimal,pues si se cumple esto,imprimes en modo directamente como texto el «0.00» y luego la impresión de la variable,así también ahorrarás miliamperes cuando solo ocupes dos decimales o números enteros..