#include #include /* * Hardware SPI mode: * GND (GND) GND * VCC (VCC) 3.3v * D0 (CLK) GPIO14 * D1 (MOSI) GPIO13 * RES (RESET) GPIO16 * DC (DC) GPIO0 * CS (CS) GPIO2 */ // to use other kind of display supported by library, eg. SH1106 1.3in: /* #undef SSD1306_128_64 // this one is default, 0.96in SSD1306 #define SH1106_128_64 // larger one */ namespace { // For spi oled module // Adafruit_SSD1306 display(0, 16, 2); //* For I2C mode: // Default I2C pins 0 (SCL) and 2 (SDA). Pin 4 - optional reset Adafruit_SSD1306 display(-1); // reset Pin required but later ignored if set to False SimpleTimer demoTimer; void Demo2() { Serial.println(_F("Display: some text")); display.clearDisplay(); // text display tests display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0, 0); display.println(_F("Sming Framework")); display.setTextColor(BLACK, WHITE); // 'inverted' text display.setCursor(104, 7); display.println(_F("v1.0")); //---- display.setTextColor(WHITE); display.println(_F("Let's do smart things")); display.setTextSize(3); display.print("IoT"); display.display(); } void Demo1() { Serial.println(_F("Display: circle")); // Clear the buffer. display.clearDisplay(); // draw a circle, 10 pixel radius display.fillCircle(display.width() / 2, display.height() / 2, 10, WHITE); display.display(); demoTimer.setCallback(Demo2); demoTimer.startOnce(); } } // namespace void init() { Serial.begin(SERIAL_BAUD_RATE); // 115200 by default Serial.println(_F("Display: start")); // by default, we'll generate the high voltage from the 3.3v line internally! (neat!) // initialize with the I2C addr 0x3c (for the 128x64) // bool:reset set to TRUE or FALSE depending on your display display.begin(SSD1306_SWITCHCAPVCC, 0x3c, false); display.display(); demoTimer.initializeMs<2000>(Demo1).startOnce(); }