// Sketch uses 2766 bytes (19%) of program storage space. Maximum is 14336 bytes.
// Global variables use 34 bytes (3%) of dynamic memory, leaving 990 bytes for local variables. Maximum is 1024 bytes.
//#include "TinyWireM.h" //para Attiny 85
#include "TinyOzOLED.h" //para Attiny 85
//===================================================
// Libreria grafica modificada por elitacun para ser compatible con otras placas AVR (Uno, Nano, etc)
// Se debe instalar la libreria microWire.h para que funcione
// para usar con Digispark attiny8, utilizar #include "TinyOzOLED.h" (debe estar instalada en conjunto con tinyWireM.h)
//#include "TinyUOled.h" //para arduino uno, nano, etc
//===================================================
//#include <microDS3231.h> //Documentacion: https://github.com/GyverLibs/microDS3231
// ========================== VARIABLES GLOBLES ===============================
unsigned long counter = 0;
//=========================== Imagenes en array ===============================
const unsigned char emoji8x8[] PROGMEM =
{ 0x20, 0x40, 0x9e, 0x80, 0x80, 0x9e, 0x40, 0x30 }; //Emoji de 8x8 px
const unsigned char acorn_16x16[] PROGMEM =
{ 0x00, 0x70, 0xf0, 0xd8, 0x5c, 0x4c, 0x4c, 0x4f, 0x4f, 0x4d, 0x4c, 0x4c, 0x48, 0xd0, 0x70, 0x00,
0x00, 0x00, 0x1f, 0x2f, 0x50, 0xa0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x40, 0x20, 0x1f, 0x00, 0x00 };
const unsigned char acorn2_16x16[] PROGMEM =
{ 0x00, 0x70, 0xd0, 0xe8, 0x54, 0x6c, 0x54, 0x6f, 0x57, 0x6d, 0x54, 0x6c, 0x58, 0xd0, 0x70, 0x00,
0x00, 0x00, 0x1f, 0x2f, 0x50, 0xa0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x40, 0x20, 0x1f, 0x00, 0x00 };
//=============================VOID SETUP=====================================
void setup() {
OzOled.init(); //iniciamos la libreria para pantalla oled
OzOled.clearDisplay(); //borramos lo que tenga la pantalla
//OzOled.setInverseDisplay();// pone todo blanco y las letras en negro
OzOled.setBrightness(128); //setea el brillo (1 - 255) en 1 se ve igual pero mas tenue
OzOled.setNormalDisplay();
//imprimimos STRINGS con la funcion .printString y sus parametros
//OzOled.printString("string a imprimir", CURSOR X(16 columnas), CURSOR Y(8 paginas));
OzOled.printString("Contador:", 0, 0);
//==============================DIBUJAR IMAGENES=================================
//NOTA: esta libreria divide la pantalla en 16 * 8 (8px cada cuadro), tanto para
//posicionar los elementos como para indicar las medidas de las imagenes
//Ejemplo: una imagen de 8px * 8px seria de 1 x 1 para indicarlo como parametro.
//OzOled.drawBitmap(imagen, coordenada X(16 columnas), coordenada Y(8 filas de 8px), ancho(columnas de 8 px), alto(filas de 8 px));
OzOled.drawBitmap(emoji8x8, 15, 0, 1, 1);
OzOled.drawBitmap(acorn_16x16, 3, 2, 2, 2);
OzOled.drawBitmap(acorn2_16x16, 5, 2, 2, 2);
//OzOled.printBigNumber("17", 0, 1); //imprime numeros grandes
}
//======================================VOID LOOP===============================
void loop() {
//imprimimos NUMEROS con la funcion .printNumber y sus parametros. se deben convertir los datos a long (long)variable
//OzOled.printNumber((long)variable, 0, numero de filas a bajar);
OzOled.printNumber((long)counter, 10, 0);
if (counter == 1000) {
OzOled.printString(" ", 10, 0);
counter = 0;
}
counter++;
}