查看: 330|回复: 0

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

[复制链接]
  • TA的每日心情
    开心
    9 小时前
  • 签到天数: 112 天

    连续签到: 13 天

    [LV.6]常住居民II

    发表于 2024-2-9 17:15:51 | 显示全部楼层 |阅读模式
    分享到:
    运行示例,给大家示范一下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. }
    复制代码
    下载后运行效果如下图:
    微信图片_20240209171525.jpg
    GyverOLED.png
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-5-11 15:51 , Processed in 0.117202 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.