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顯示的全部過程了,有任何不明白的地方可以聯繫我,大家一起交流,感謝您的閱讀~


分享到:


相關文章: