美文网首页
使用NodeMCU_ESP8266驱动OLED

使用NodeMCU_ESP8266驱动OLED

作者: Yuanw | 来源:发表于2020-04-07 21:23 被阅读0次

NodeMCU简介

NodeMCU,是一个开源的物联网平台。它使用Lua脚本语言编程。该平台基于eLua开源项目,底层使用ESP8266 sdk 0.9.5版本。该平台使用了很多开源项目, 例如 lua-cjson, spiffs. NodeMCU包含了可以运行在esp8266Wi-FiSoC芯片之上的固件,以及基于ESP-12模组的硬件。ESP8266 是高性能无线 SOC,以最低成本提供最大实用性,为 WiFi 功能嵌入其他系统提供无限可能。

ESP8366特点

802.11 b/g/n 内置Tensilica L106 超低功耗 32 位微型 MCU,主频支持 80 MHz 和160 MHz,支持 RTOS 内置10 bit高精度ADC 内置TCP/IP协议栈 内置TR 开关、balun、LNA、功率放大器和匹配网络 内置PLL、稳压器和电源管理组件,802.11b 模式下+20 dBm的输出功率 A-MPDU 、 A-MSDU 的聚合和 0.4 s的保护间隔 WiFi @ 2.4 GHz,支持 WPA/WPA2 安全模式 支持AT远程升级及云端OTA升级 支持 STA/AP/STA+AP 工作模式 支持 Smart Config 功能(包括 Android 和 iOS 设备) HSPI 、UART、I2C、I2S、IR Remote Control、PWM、GPIO 深度睡眠保持电流为 10 uA,关断电流小于 5 uA 2 ms 之内唤醒、连接并传递数据包 待机状态消耗功率小于1.0 mW (DTIM3) 工作温度范围:-20℃- 85℃

驱动0.96寸OLED

准备工具

需要准备的工具有能上网的电脑、Arduino开发软件(需要自行安装u8g2环境)、0.96寸OLED、NodeMcu、杜邦线4根(VCC/GND SLC/SDA)SLC对应D1,SDA对应D2 图片取模地址:tools.clz.me,工具很多,这里推荐这个在线的

代码

  1. #include <Arduino.h>

  2. #include <U8g2lib.h>

  3. #ifdef U8X8_HAVE_HW_SPI

  4. #include <SPI.h>

  5. #endif

  6. #ifdef U8X8_HAVE_HW_I2C

  7. #include <Wire.h>

  8. #endif

  9. U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);//屏幕驱动

  10. //width:55,height:55

  11. const unsigned char col[] U8X8_PROGMEM= {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0x0f,0x00,0x00,0x00,0x00,0xf0,0xff,0x3f,0x00,0x00,0x00,0x00,0xf8,0xff,0x3f,0x00,0x00,0x00,0x00,0xfc,0xff,0x1f,0x00,0x00,0x00,0x00,0xfc,0xff,0x3f,0x00,0x00,0x00,0x00,0xfe,0xff,0x3f,0x00,0x00,0x00,0x00,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0xff,0xff,0x7f,0x00,0x00,0x00,0x00,0xff,0xc3,0x7f,0x00,0x00,0x00,0x00,0x60,0x03,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x02,0x00,0x00,0x00,0x00,0x40,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xff,0x0f,0x00,0x00,0x00,0x00,0xf8,0xff,0x1f,0x00,0x00,0x00,0x00,0xfe,0xff,0x3f,0x00,0x00,0x00,0x80,0xff,0xff,0xff,0x01,0x00,0x00,0xf0,0xff,0xff,0xff,0x07,0x00,0x00,0xfc,0xff,0xff,0xff,0x1f,0x00,0x00,0xff,0xff,0xff,0xff,0x7f,0x00,0x80,0xff,0xff,0xff,0xff,0xff,0x00,0xe0,0xff,0xff,0xff,0xff,0xff,0x03,0xf0,0xff,0xff,0xff,0xff,0xff,0x07,0xf8,0xff,0xff,0xff,0xff,0xff,0x0f,0xf8,0xff,0xff,0xff,0xff,0xff,0x1f};

  12. void setup(void) {

  13. u8g2.begin();

  14. u8g2.enableUTF8Print(); // UTF8

  15. }

  16. void loop(void) {

  17. u8g2.setFont(u8g2_font_wqy13_t_gb2312); //设置字体

  18. u8g2.setFontDirection(0); //设置字体方向

  19. u8g2.clearBuffer(); // 清空显示设备内部缓冲区

  20. u8g2.drawXBMP( 0 , 0 , 55 , 55 , col ); //55,55为图片尺寸,根据你的图片尺寸修改

  21. u8g2.setCursor(60, 60);

  22. u8g2.print("学识野路子"); //输出中文

  23. u8g2.sendBuffer(); // 显示缓冲区内容

  24. delay(1000);

  25. }

演示

以上就是本次NodeMCU驱动OLED显示的全部过程了,有任何不明白的地方可以点击阅读全文联系我,大家一起交流,感谢您的阅读~

相关文章

网友评论

      本文标题:使用NodeMCU_ESP8266驱动OLED

      本文链接:https://www.haomeiwen.com/subject/upbophtx.html