mirror of
https://github.com/digistump/DigistumpArduino.git
synced 2025-04-27 23:29:01 -07:00
117 lines
4.3 KiB
Arduino
117 lines
4.3 KiB
Arduino
![]() |
/*************************************************************************
|
||
|
* Demo sketch for MicroLCD library
|
||
|
* Distributed under GPL v2.0
|
||
|
* Copyright (c) 2013-2014 Stanley Huang <stanleyhuangyc@gmail.com>
|
||
|
* All rights reserved.
|
||
|
* For more information, please visit http://arduinodev.com
|
||
|
*************************************************************************/
|
||
|
|
||
|
#include <Arduino.h>
|
||
|
#include <Wire.h>
|
||
|
#include <MicrOledPro.h>
|
||
|
|
||
|
//LCD_SH1106 lcd; /* for SH1106 OLED module */
|
||
|
LCD_SSD1306 lcd; /* for SSD1306 OLED module */
|
||
|
|
||
|
|
||
|
const PROGMEM uint8_t smile[48 * 48 / 8] = {
|
||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0xFE, 0xFE, 0x7E, 0x7F, 0x7F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x7F, 0x7F, 0x7E, 0xFE, 0xFE, 0xFC, 0xFC, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||
|
0x00, 0xC0, 0xF0, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0xF0, 0xC0, 0x00,
|
||
|
0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x1F, 0x1F, 0x1F, 0x3F, 0x1F, 0x1F, 0x02, 0x00, 0x00, 0x00, 0x00, 0x06, 0x1F, 0x1F, 0x1F, 0x3F, 0x1F, 0x1F, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE,
|
||
|
0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x30, 0xF8, 0xF8, 0xF8, 0xF8, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF8, 0xF8, 0xFC, 0xF8, 0x30, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F,
|
||
|
0x00, 0x03, 0x0F, 0x3F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFC, 0xF8, 0xF0, 0xE1, 0xC7, 0x87, 0x0F, 0x1F, 0x3F, 0x3F, 0x3E, 0x7E, 0x7C, 0x7C, 0x7C, 0x78, 0x78, 0x7C, 0x7C, 0x7C, 0x7E, 0x3E, 0x3F, 0x3F, 0x1F, 0x0F, 0x87, 0xC7, 0xE1, 0xF0, 0xF8, 0xFC, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x0F, 0x03, 0x00,
|
||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x1F, 0x3F, 0x3F, 0x7F, 0x7F, 0x7E, 0xFE, 0xFE, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFE, 0xFE, 0x7E, 0x7F, 0x7F, 0x3F, 0x3F, 0x1F, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||
|
};
|
||
|
|
||
|
|
||
|
const PROGMEM uint8_t tick[16 * 16 / 8] =
|
||
|
{0x00, 0x80, 0xC0, 0xE0, 0xC0, 0x80, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, 0x78, 0x30, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x1F, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00};
|
||
|
|
||
|
const PROGMEM uint8_t cross[16 * 16 / 8] =
|
||
|
{0x00, 0x0C, 0x1C, 0x3C, 0x78, 0xF0, 0xE0, 0xC0, 0xE0, 0xF0, 0x78, 0x3C, 0x1C, 0x0C, 0x00, 0x00, 0x00, 0x30, 0x38, 0x3C, 0x1E, 0x0F, 0x07, 0x03, 0x07, 0x0F, 0x1E, 0x3C, 0x38, 0x30, 0x00, 0x00};
|
||
|
|
||
|
void setup()
|
||
|
{
|
||
|
lcd.begin();
|
||
|
}
|
||
|
|
||
|
int wait = 500;
|
||
|
long lcount = 0;
|
||
|
void loop()
|
||
|
{
|
||
|
lcd.clear();
|
||
|
for ( int ii = 1; ii < 72; ii++) {
|
||
|
lcd.setCursor( ii, 1);
|
||
|
lcd.draw(smile, 48, 48);
|
||
|
delay( 25);
|
||
|
lcd.clear( ii, 8, 56, 48);
|
||
|
}
|
||
|
// delay(wait);
|
||
|
lcd.clear();
|
||
|
lcd.setCursor(40, 1);
|
||
|
lcd.draw(smile, 48, 48);
|
||
|
delay(wait);
|
||
|
|
||
|
lcd.clear();
|
||
|
lcd.setFontSize(FONT_SIZE_SMALL);
|
||
|
lcd.println("Hello, world!");
|
||
|
lcd.setFontSize(FONT_SIZE_MEDIUM);
|
||
|
lcd.println("Hello, world!");
|
||
|
lcd.setFontSize(FONT_SIZE_MEDIUM);
|
||
|
lcd.println("Hello, world!");
|
||
|
lcd.setFontSize(FONT_SIZE_SMALL);
|
||
|
lcd.println("Hello, world!123<>{}");
|
||
|
delay(wait);
|
||
|
|
||
|
lcd.clear();
|
||
|
for ( int ii = 1; ii < 9; ii++) {
|
||
|
lcd.printInt(ii);
|
||
|
// delay(wait / 10);
|
||
|
lcd.println("_._.5._._0_._.5._._0");
|
||
|
// delay(wait / 4);
|
||
|
}
|
||
|
delay(wait);
|
||
|
|
||
|
lcd.clear();
|
||
|
lcd.setCursor(40, 6);
|
||
|
lcd.draw(tick, 16, 16);
|
||
|
lcd.setCursor(72, 6);
|
||
|
lcd.draw(cross, 16, 16);
|
||
|
delay(wait);
|
||
|
|
||
|
lcd.clear();
|
||
|
lcd.setCursor(0, 0);
|
||
|
lcd.setFontSize(FONT_SIZE_SMALL);
|
||
|
lcd.printLong(12345678);
|
||
|
delay(wait);
|
||
|
|
||
|
lcd.clear();
|
||
|
lcd.setCursor(0, 0);
|
||
|
lcd.setFontSize(FONT_SIZE_MEDIUM);
|
||
|
lcd.printLong(12345678);
|
||
|
delay(wait);
|
||
|
|
||
|
lcd.clear();
|
||
|
lcd.setCursor(0, 0);
|
||
|
lcd.setFontSize(FONT_SIZE_LARGE);
|
||
|
lcd.println("Count");
|
||
|
lcd.printLong(++lcount);
|
||
|
delay(wait);
|
||
|
|
||
|
lcd.clear();
|
||
|
lcd.setCursor(0, 0);
|
||
|
lcd.setFontSize(FONT_SIZE_XLARGE);
|
||
|
lcd.printLong(12345678);
|
||
|
delay(wait);
|
||
|
|
||
|
lcd.clear();
|
||
|
lcd.setCursor(0, 0);
|
||
|
lcd.setFontSize(FONT_SIZE_MEDIUM);
|
||
|
lcd.println("WAIT");
|
||
|
lcd.printInt(wait);
|
||
|
lcd.println("Count");
|
||
|
lcd.printLong(lcount);
|
||
|
delay(250+wait);
|
||
|
}
|
||
|
|