/************************************************************************************************* PROGRAMMINFO ************************************************************************************************** Funktion: ESP32 0,96" Zoll SSD1306 OLED Display SSD1306 Display I2C 128 x 64 Pixel ************************************************************************************************** Version: 30.03.2022 ************************************************************************************************** Board: ESP32vn IoT UNO V1.0.4 ************************************************************************************************** C++ Arduino IDE V1.8.13 ************************************************************************************************** Einstellungen: https://dl.espressif.com/dl/package_esp32_index.json http://dan.drown.org/stm32duino/package_STM32duino_index.json https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json ************************************************************************************************** **************************************************************************************************/ #include #include U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE); const char COPYRIGHT_SYMBOL[] = { 0xa9, '\0' }; void u8g2_prepare() { u8g2.setFont(u8g2_font_6x10_tf); u8g2.setFontRefHeightExtendedText(); u8g2.setDrawColor(1); u8g2.setFontPosTop(); u8g2.setFontDirection(0); } void u8g2_box_frame() { u8g2.drawStr(0, 0, "drawBox"); u8g2.drawBox(5, 10, 20, 10); u8g2.drawStr(60, 0, "drawFrame"); u8g2.drawFrame(65, 10, 20, 10); } void u8g2_r_frame_box() { u8g2.drawStr(0, 0, "drawRFrame"); u8g2.drawRFrame(5, 10, 40, 15, 3); u8g2.drawStr(70, 0, "drawRBox"); u8g2.drawRBox(70, 10, 25, 15, 3); } void u8g2_disc_circle() { u8g2.drawStr(0, 0, "drawDisc"); u8g2.drawDisc(10, 18, 9); u8g2.drawDisc(30, 16, 7); u8g2.drawStr(60, 0, "drawCircle"); u8g2.drawCircle(70, 18, 9); u8g2.drawCircle(90, 16, 7); } void u8g2_string_orientation() { u8g2.setFontDirection(0); u8g2.drawStr(5, 15, "0"); u8g2.setFontDirection(3); u8g2.drawStr(40, 25, "90"); u8g2.setFontDirection(2); u8g2.drawStr(75, 15, "180"); u8g2.setFontDirection(1); u8g2.drawStr(100, 10, "270"); } void u8g2_line() { u8g2.drawStr( 0, 0, "drawLine"); u8g2.drawLine(7, 10, 40, 32); u8g2.drawLine(14, 10, 60, 32); u8g2.drawLine(28, 10, 80, 32); u8g2.drawLine(35, 10, 100, 32); } void u8g2_triangle() { u8g2.drawStr( 0, 0, "drawTriangle"); u8g2.drawTriangle(14, 7, 45, 30, 10, 32); } void u8g2_unicode() { u8g2.drawStr(0, 0, "Unicode"); u8g2.setFont(u8g2_font_unifont_t_symbols); u8g2.setFontPosTop(); u8g2.setFontDirection(0); u8g2.drawUTF8(10, 15, "☀"); u8g2.drawUTF8(30, 15, "☁"); u8g2.drawUTF8(50, 15, "☂"); u8g2.drawUTF8(70, 15, "☔"); u8g2.drawUTF8(95, 15, COPYRIGHT_SYMBOL); //COPYRIGHT SIMBOL u8g2.drawUTF8(115, 15, "\xb0"); // DEGREE SYMBOL } void setup(void) { u8g2.begin(); u8g2_prepare(); } void loop(void) { u8g2.clearBuffer(); u8g2_prepare(); u8g2_box_frame(); u8g2.sendBuffer(); delay(1500); u8g2.clearBuffer(); u8g2_disc_circle(); u8g2.sendBuffer(); delay(1500); u8g2.clearBuffer(); u8g2_r_frame_box(); u8g2.sendBuffer(); delay(1500); u8g2.clearBuffer(); u8g2_prepare(); u8g2_string_orientation(); u8g2.sendBuffer(); delay(1500); u8g2.clearBuffer(); u8g2_line(); u8g2.sendBuffer(); delay(1500); u8g2.clearBuffer(); u8g2_triangle(); u8g2.sendBuffer(); delay(1500); u8g2.clearBuffer(); u8g2_prepare(); u8g2_unicode(); u8g2.sendBuffer(); delay(1500); }