| Exemples | Referència | Plaques | Recursos CITCEA | |
| Projectes | Programació | Perifèrics | Inici | |
| Enrere | ||||
La biblioteca SSD1306 permet dibuixar directament a la pantalla i disposa de diverses funcions per fer-ho. No obstant, sempre que sigui possible, es recomana fer servir un canvas perquè dibuixant directament a la pantalla els dibuixos es poden interferir entre ells si hi intervenen píxels del mateix grup. L'ús de canvas, a més, permet anar preparant el dibuix i mostrar-lo quan es consideri oportú.
El programa següent dibuixa tres rectangles però es pot observar com en dibuixar el segon es veu modificat un tros del primer i en afegir el tercer es modifica la visualització del segon. De manera semblant, es mostren primer tres píxels de costat; després s'afegeix un píxel sota el primer i s'esborra el que ja hi havia perquè estan en el mateix bloc vertical de vuit. Una alternativa, més complexa de gestionar, és escriure de cop els vuit píxels d'un grup, com es fa a la línia següent. Al final del programa es dibuixen tres línies: una horitzontal, una vertical i una diagonal. Fixem-nos que en dibuixar la diagonal es veu afectat el dibuix de la horitzontal, per això és preferible fer servir un canvas per dibuixar.
Per acabar, s'esborra una zona quadrada de la pantalla.
#include "ssd1306.h"
void setup(){
ssd1306_128x64_i2c_init();
ssd1306_fillScreen(0);
ssd1306_setFixedFont(ssd1306xled_font6x8);
}
void loop(){
ssd1306_printFixed(0, 0, "Rectangles", STYLE_NORMAL);
ssd1306_drawRect(16, 16, 40, 40);
delay(500);
ssd1306_drawRect(24, 24, 48, 48);
delay(500);
ssd1306_fillRect(26, 26, 32, 32);
delay(500);
ssd1306_putPixel(96, 16);
ssd1306_putPixel(97, 16);
ssd1306_putPixel(98, 16);
delay(500);
ssd1306_putPixel(96, 17);
delay(500);
ssd1306_putPixels(100, 16, 0b00000011);
delay(500);
ssd1306_drawHLine(10, 60, 110);
ssd1306_drawVLine(20, 52, 62);
delay(500);
ssd1306_drawLine(10, 52, 110, 62);
delay(1000);
ssd1306_clearBlock(24, 5, 16, 16);
delay(3000);
ssd1306_clearScreen();
}
| Funció | Ús | Paràmetres | Comentaris |
| ssd1306_putPixel | Dibuixa un píxel | Posició x Posició y |
S'esborraran els altres píxels que hi hagi al mateix bloc vertical de vuit |
| ssd1306_putPixels | Dibuixa un grup vertical de vuit píxels |
Posició x Posició y Patró (8 bits) [0 a 255] |
El patró correspon a 8 píxels verticals, on el bit menys significatiu és el píxel superior. |
| ssd1306_drawHLine | Dibuixa una línia horitzontal | Posició x inicial Posició y inicial Posició x final |
|
| ssd1306_drawVLine | Dibuixa una línia vertical | Posició x inicial Posició y inicial Posició y final |
|
| ssd1306_drawLine | Dibuixa una línia | Posició x inicial Posició y inicial Posició x final Posició y final |
|
| ssd1306_drawRect | Crea un rectangle buit | Posició x inicial Posició y inicial Posició x final Posició y final |
|
| ssd1306_fillRect | Crea un rectangle ple | Posició x inicial Posició y inicial Posició x final Posició y final |
|
| clearBlock | Esborra una zona rectangular de la pantalla | Posició x Posició y en múltiples de 8 Amplada Alçada | Posa tots els píxels negres |

Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.