自造星球-创客空间  - 讨论区

标题:使用NodeMCU驱动OLED显示屏

2015年07月07日 星期二 11:17

NodeMCU是基于ESP8266的一款物联网开发平台,它所做的事情也很简单,就是将ESP8266开发板集成了一个USB-TTL转换器,然后定制了一套Firmware,其Firmware集成了Lua语言解释器,可以动态的运行Lua程序。

根据我的研究,NodeMCU和Nodejs没有任何关系,貌似仅仅是因为Lua语言与Javascript比较相似吧。

NodeMCU支持I2C、SPI等协议,可以方便的驱动各种外设。我手头有一块SPI协议的OLED显示屏,做了一个简单的测试,功能就是NodeMUC通过WIFI网络连接一个HTTP服务器,获取天气数据信息,然后在OLED显示屏上显示。

NodeMCU与OLED显示屏的连接关系如下:

OLED  NodeMCU

GND    GND

VCC    3V3

SCL    D5

SDA    D7

RST    D4

D/C    D0

NodeMCU运行的程序,我是在GitHub这个宝库中找来的,经过一些修改,主要是把I2C协议改成了SPI协议,其余部分基本没有改动。

GitHub地址:

改动的部分是Init_oled函数:
function Init_oled(sda,scl,sla)

   --i2c.setup(0, sda, scl, i2c.SLOW)
   --disp = u8g.ssd1306_128x64_i2c(sla)
   local cs  = 8 -- GPIO15, pull-down 10k to GND
   local dc  = 4 -- GPIO2
   local res = 0 -- GPIO16

   spi.setup(1, spi.MASTER, spi.CPOL_LOW, spi.CPHA_LOW, spi.DATABITS_8, 0)
   disp = u8g.ssd1306_128x64_spi(cs, dc, res)
   disp:setFont(u8g.font_6x10)
   disp:setFontRefHeightExtendedText()
   disp:setDefaultForegroundColor()
   disp:setFontPosTop()

end

 

更多的关于NodeMCU的编程方法可以参考:

http://www.nodemcu.com/docs/node-module/

https://github.com/nodemcu/nodemcu-firmware

上传Lua代码到NodeMCU的工具可以使用ESPlorer:

https://github.com/4refr0nt/ESPlorer

 

 

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号