TA的每日心情 | 开心 13 小时前 |
---|
签到天数: 303 天 连续签到: 34 天 [LV.8]以坛为家I
|
运行示例,给大家示范一下OLED的显示。
【硬件】
1、FireBeetle ESP32-E
2、IIC OLED屏
【开发环境】
Arduino
【步骤】
1、下载GyverOLED库。
2、打开示例
File->example->GyverOLED->oled_demo
3、选择SSD1306_128*64。修改代码如下:
- // дефайн перед подключением либы - использовать microWire (лёгкая либа для I2C)
- //#define USE_MICRO_WIRE
- // дефайн перед подключением либы - скорость SPI
- //#define OLED_SPI_SPEED 4000000ul
- #include <GyverOLED.h>
- // инициализация:
- // GyverOLED<модель, буфер, интерфейс, CS, DC, RST> oled;
- // "по умолчанию" - можно не указывать
- // модель дисплея:
- // SSD1306_128x32
- // SSD1306_128x64
- // SSH1106_128x64 (ТОЛЬКО С БУФЕРОМ)
- // буфер:
- // OLED_NO_BUFFER (без буфера)
- // OLED_BUFFER (с буфером на стороне МК) - по умолчанию
- // интерфейс:
- // OLED_I2C - по умолчанию
- // OLED_SPI (указать пины CS, DC, RST/RES)
- // примеры:
- //GyverOLED<SSD1306_128x32, OLED_BUFFER> oled;
- //GyverOLED<SSD1306_128x32, OLED_NO_BUFFER> oled;
- GyverOLED<SSD1306_128x64, OLED_BUFFER> oled;
- //GyverOLED<SSD1306_128x64, OLED_NO_BUFFER> oled;
- //GyverOLED<SSD1306_128x64, OLED_BUFFER, OLED_SPI, 8, 7, 6> oled;
- //GyverOLED<SSH1106_128x64> oled;
- // для I2C можно передать адрес: GyverOLED oled(0x3C);
- // битмап создан в ImageProcessor https://github.com/AlexGyver/imageProcessor
- // с параметрами вывода vertical byte (OLED)
- const uint8_t bitmap_32x32[] PROGMEM = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xE0, 0xF0, 0x70, 0x70, 0x30, 0x30, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF0, 0x70, 0x30, 0x30, 0x20, 0x00, 0x00,
- 0x00, 0x30, 0x78, 0xFC, 0x7F, 0x3F, 0x0F, 0x0F, 0x1F, 0x3C, 0x78, 0xF0, 0xE0, 0xC0, 0x80, 0x80, 0x80, 0x40, 0xE0, 0xF0, 0xF8, 0xFC, 0xFF, 0x7F, 0x33, 0x13, 0x1E, 0x1C, 0x1C, 0x0E, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF9, 0xF7, 0xEF, 0x5F, 0x3F, 0x7F, 0xFE, 0xFD, 0xFB, 0xF1, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x1E, 0x33, 0x33, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x1F, 0x0E, 0x04, 0x00, 0x00, 0x00, 0x00,
- };
- void setup() {
- Serial.begin(9600);
- oled.init(); // инициализация
- // --------------------------
- // настройка скорости I2C
- //Wire.setClock(800000L); // макс. 800'000
- // --------------------------
- oled.clear(); // очистить дисплей (или буфер)
- oled.update(); // обновить. Только для режима с буфером! OLED_BUFFER
- // --------------------------
- oled.home(); // курсор в 0,0
- oled.print("Hello!"); // печатай что угодно: числа, строки, float, как Serial!
- oled.update();
- delay(2000);
- // --------------------------
- oled.setCursor(5, 2); //
- oled.setScale(2);
- oled.print("Hello!");
- oled.update();
- delay(2000);
- oled.setCursor(0,4);
- oled.setScale(2);
- oled.print("HAPPY NEW");
- oled.setCursor(40,6);
- oled.print("YEAR");
- oled.update();
- }
- void loop() {
- }
复制代码 下载后运行效果如下图:
|
-
|