ESP8266驱动OLED


NodeMCU简介

使用NodeMCU_ESP8266驱动OLED

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

使用NodeMCU_ESP8266驱动OLED

准备工具

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

代码

<code>#include <arduino.h>
#include <u8g2lib.h>

#ifdef U8X8_HAVE_HW_SPI
#include <spi.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <wire.h>
#endif

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

//width:55,height:55
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};
void setup(void) {
u8g2.begin();
u8g2.enableUTF8Print(); // UTF8
}

void loop(void) {
u8g2.setFont(u8g2_font_wqy13_t_gb2312); //设置字体
u8g2.setFontDirection(0); //设置字体方向
u8g2.clearBuffer(); // 清空显示设备内部缓冲区
u8g2.drawXBMP( 0 , 0 , 55 , 55 , col ); //50,64为图片尺寸,根据你的图片尺寸修改
u8g2.setCursor(60, 60);
u8g2.print("学识野路子"); //输出中文
u8g2.sendBuffer(); // 显示缓冲区内容
delay(1000);
}/<wire.h>/<spi.h>/<u8g2lib.h>/<arduino.h>/<code>

演示

使用NodeMCU_ESP8266驱动OLED

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


分享到:


相關文章: