Noduino OLED
来自Jack's Lab
目录 |
1 概述
SSD1306 驱动芯片 OLED 屏, I2C 接口
2 开发环境准备
根据您的系统,选择如下快速指南:
- Getting Started with Noduino SDK on Linux
- Getting Started with Noduino SDK on Mac OS X
- Getting Started with Noduino SDK on Windows
3 硬件准备
此传感器为 I2C 接口,Falcon 接线方式如下:
- Sensor_SCL --> Noduino_Falcon_D9
- Sensor_SDA --> Noduino_Falcon_D8
- Sensor_3V3 --> Noduino_Falcon_3V3
- Sensor_GND --> Noduino_Falcon_GND
NodeC / SmartNode 接线方式如下:
- Sensor_SCL --> SmartNode_IO5
- Sensor_SDA --> SmartNode_IO4
- Sensor_3V3 --> SmartNode_3V3
- Sensor_GND --> SmartNode_GND
4 编译烧写
进入你的 u8glib/HelloWorld/ 目录:
$ cd /PATH/TO/noduino-sdk/examples/noduino/u8glib/HelloWorld/
编译、上传一步完成:
$ make flash
不同平台下,你的串口设备号可能不一样,确认一下你的串口设备,Linux 下 Falcon 开发板可能被识别为 /dev/ttyUSB1(dmesg 查看),则:
$ make flash ESPPORT=/dev/ttyUSB1
Windows 下 Falcon 开发板可能被识别为 COM6(控制面板 --> 设备管理器里查看),则:
$ make flash ESPPORT=COM6
5 查看结果
上传完之后,用串口工具,用 115200 的波特率打开串口,即可看到串口在持续输出传感器测得的值:
Windows 下可用串口调试助手这类插看
Linux 下推荐使用 picocom:
$ sudo apt-get install picocom $ picocom -b 115200 /dev/ttyUSB1 picocom v1.7 port is : /dev/ttyUSB2 flowcontrol : none baudrate is : 115200 parity is : none databits are : 8 escape is : C-a local echo is : no noinit is : no noreset is : no nolock is : no send_cmd is : sz -vv receive_cmd is : rz -vv imap is : omap is : emap is : crcrlf,delbs, Terminal ready ...... ......
Ctrl + a q 退出 picocom
6 代码示例
#include "noduino.h"
#include "compile.h"
#include "U8glib.h"
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI
irom void draw(void)
{
u8g.setFont(u8g_font_unifont);
u8g.drawStr(0, 22, "Hello World!");
}
irom void setup(void)
{
// assign default color value
if (u8g.getMode() == U8G_MODE_R3G3B2) {
u8g.setColorIndex(255); // white
} else if (u8g.getMode() == U8G_MODE_GRAY2BIT) {
u8g.setColorIndex(3); // max intensity
} else if (u8g.getMode() == U8G_MODE_BW) {
u8g.setColorIndex(1); // pixel on
} else if (u8g.getMode() == U8G_MODE_HICOLOR) {
u8g.setHiColorByRGB(255, 255, 255);
}
serial_begin(115200);
serial_printf("%s\r\n", UTS_VERSION);
}
void loop(void)
{
// picture loop
u8g.firstPage();
do {
draw();
} while (u8g.nextPage());
draw();
// rebuild the picture after some delay
delay(50);
}
更多参考示例位于:noduino-sdk/blob/master/examples/noduino/u8glib/ 下,有显示 Logo、位图、缩放、旋转、动画。。。
7 扩展阅读
- 更多问题参考: