回答

收藏

[评测分享] 【Arrow 有好料】FireBeetle ESP32-E 之 OLED之龙年大吉

#板卡评测 #板卡评测 1679 人阅读 | 0 人回复 | 2024-02-09

运行示例,给大家示范一下OLED的显示。
【硬件】
1、FireBeetle ESP32-E
2、IIC OLED屏
【开发环境】
Arduino
【步骤】
1、下载GyverOLED库。
2、打开示例
File->example->GyverOLED->oled_demo
3、选择SSD1306_128*64。修改代码如下:
  1. // дефайн перед подключением либы - использовать microWire (лёгкая либа для I2C)
  2. //#define USE_MICRO_WIRE

  3. // дефайн перед подключением либы - скорость SPI
  4. //#define OLED_SPI_SPEED 4000000ul

  5. #include <GyverOLED.h>

  6. // инициализация:
  7. // GyverOLED<модель, буфер, интерфейс, CS, DC, RST> oled;
  8. // "по умолчанию" - можно не указывать

  9. // модель дисплея:
  10. // SSD1306_128x32
  11. // SSD1306_128x64
  12. // SSH1106_128x64 (ТОЛЬКО С БУФЕРОМ)

  13. // буфер:
  14. // OLED_NO_BUFFER (без буфера)
  15. // OLED_BUFFER (с буфером на стороне МК) - по умолчанию

  16. // интерфейс:
  17. // OLED_I2C - по умолчанию
  18. // OLED_SPI (указать пины CS, DC, RST/RES)

  19. // примеры:
  20. //GyverOLED<SSD1306_128x32, OLED_BUFFER> oled;
  21. //GyverOLED<SSD1306_128x32, OLED_NO_BUFFER> oled;
  22. GyverOLED<SSD1306_128x64, OLED_BUFFER> oled;
  23. //GyverOLED<SSD1306_128x64, OLED_NO_BUFFER> oled;
  24. //GyverOLED<SSD1306_128x64, OLED_BUFFER, OLED_SPI, 8, 7, 6> oled;
  25. //GyverOLED<SSH1106_128x64> oled;

  26. // для I2C можно передать адрес: GyverOLED oled(0x3C);

  27. // битмап создан в ImageProcessor https://github.com/AlexGyver/imageProcessor
  28. // с параметрами вывода vertical byte (OLED)
  29. const uint8_t bitmap_32x32[] PROGMEM = {
  30.   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,
  31.   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,
  32.   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,
  33.   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,
  34. };

  35. void setup() {
  36.   Serial.begin(9600);
  37.   oled.init();  // инициализация

  38.   // --------------------------
  39.   // настройка скорости I2C
  40.   //Wire.setClock(800000L);   // макс. 800'000

  41.   // --------------------------
  42.   oled.clear();   // очистить дисплей (или буфер)
  43.   oled.update();  // обновить. Только для режима с буфером! OLED_BUFFER

  44.   // --------------------------
  45.   oled.home();            // курсор в 0,0
  46.   oled.print("Hello!");   // печатай что угодно: числа, строки, float, как Serial!
  47.   oled.update();
  48.   delay(2000);

  49.   // --------------------------
  50.   oled.setCursor(5, 2);   //
  51.   oled.setScale(2);
  52.   oled.print("Hello!");
  53.   oled.update();
  54.   delay(2000);

  55.   oled.setCursor(0,4);
  56.   oled.setScale(2);
  57.   oled.print("HAPPY NEW");
  58.   oled.setCursor(40,6);
  59.   oled.print("YEAR");
  60.    oled.update();
  61. }

  62. void loop() {
  63. }
复制代码
下载后运行效果如下图:

GyverOLED.png (221.89 KB, 下载次数: 0)

GyverOLED.png
分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条