NodeMCU簡介
NodeMCU,是一個開源的物聯(lián)網(wǎng)平臺硼婿。它使用Lua腳本語言編程怒见。該平臺基于eLua開源項(xiàng)目,底層使用ESP8266 sdk 0.9.5版本俗慈。該平臺使用了很多開源項(xiàng)目, 例如 lua-cjson, spiffs. NodeMCU包含了可以運(yùn)行在esp8266Wi-FiSoC芯片之上的固件,以及基于ESP-12模組的硬件。ESP8266 是高性能無線 SOC遣耍,以最低成本提供最大實(shí)用性闺阱,為 WiFi 功能嵌入其他系統(tǒng)提供無限可能。
ESP8366特點(diǎn)
802.11 b/g/n 內(nèi)置Tensilica L106 超低功耗 32 位微型 MCU舵变,主頻支持 80 MHz 和160 MHz酣溃,支持 RTOS 內(nèi)置10 bit高精度ADC 內(nèi)置TCP/IP協(xié)議棧 內(nèi)置TR 開關(guān)、balun纪隙、LNA赊豌、功率放大器和匹配網(wǎng)絡(luò) 內(nèi)置PLL、穩(wěn)壓器和電源管理組件绵咱,802.11b 模式下+20 dBm的輸出功率 A-MPDU 碘饼、 A-MSDU 的聚合和 0.4 s的保護(hù)間隔 WiFi @ 2.4 GHz,支持 WPA/WPA2 安全模式 支持AT遠(yuǎn)程升級及云端OTA升級 支持 STA/AP/STA+AP 工作模式 支持 Smart Config 功能(包括 Android 和 iOS 設(shè)備) HSPI 悲伶、UART艾恼、I2C、I2S麸锉、IR Remote Control钠绍、PWM、GPIO 深度睡眠保持電流為 10 uA淮椰,關(guān)斷電流小于 5 uA 2 ms 之內(nèi)喚醒五慈、連接并傳遞數(shù)據(jù)包 待機(jī)狀態(tài)消耗功率小于1.0 mW (DTIM3) 工作溫度范圍:-20℃- 85℃
驅(qū)動0.96寸OLED
準(zhǔn)備工具需要準(zhǔn)備的工具有能上網(wǎng)的電腦、Arduino開發(fā)軟件(需要自行安裝u8g2環(huán)境)主穗、0.96寸OLED泻拦、NodeMcu、杜邦線4根(VCC/GND SLC/SDA)SLC對應(yīng)D1忽媒,SDA對應(yīng)D2 圖片取模地址:tools.clz.me争拐,工具很多,這里推薦這個在線的
代碼
#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);//屏幕驅(qū)動
//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);?//設(shè)置字體
u8g2.setFontDirection(0);?//設(shè)置字體方向
u8g2.clearBuffer();?// 清空顯示設(shè)備內(nèi)部緩沖區(qū)
u8g2.drawXBMP(?0?,?0?,?55?,?55?,?col?);?//55,55為圖片尺寸晦雨,根據(jù)你的圖片尺寸修改
u8g2.setCursor(60,?60);
u8g2.print("學(xué)識野路子");?//輸出中文
u8g2.sendBuffer();?// 顯示緩沖區(qū)內(nèi)容
delay(1000);
}
演示
以上就是本次NodeMCU驅(qū)動OLED顯示的全部過程了架曹,有任何不明白的地方可以點(diǎn)擊閱讀全文聯(lián)系我,大家一起交流,感謝您的閱讀~