这里记录一下ESP8266 NodeMCU驱动0.96英寸的OLED屏的过程。
1. 硬件
ESP8266-NodeMCU开发板0.96英寸OLED屏模块 蓝色(4pin插针)杜邦线ESP8266-NodeMCU开发板和OLED引脚对应关系
2. 开发
2.1. 在Arduino中安装依赖的库文件,【项目】→【加载库】→【管理库】:
搜索“SSD1306”,安装“Adafruit SSD1306”这个库
搜索“GFX”,安装“Adafruit GFX Library”这个库
2.2. 代码
代码如下:
#include <stdio.h>#include <stdlib.h>#include <Adafruit_GFX.h>#include <Adafruit_SSD1306.h>Adafruit_SSD1306 display(128, 64, &Wire, -1);void setup() {Serial.begin(115200); //打开串口通讯,设置传输速率为115200字节每秒if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {Serial.println(F("SSD1306 allocation failed"));for (;;);}delay(2000);display.clearDisplay();display.setTextColor(WHITE);}int flag = 1;void loop() {// 3秒刷新显示内容delay(3000);// 清空显示display.clearDisplay();// 使更改的显示生效display.display();// 判断应该显示的内容flag = flag % 4;if (flag == 1) {// 这段时间可以显示时间display.setTextSize(1); // 设置字体大小(1~8)display.setCursor(0, 0); // 设置坐标display.print("Time:"); // 显示内容display.setTextSize(2);display.setCursor(0, 15);display.print("-03-18 21:51:18");} if (flag == 2) {// 这段时间可以显示天气display.setTextSize(1);display.setCursor(0, 0);display.print("Weather: ");display.setTextSize(2);display.setCursor(0, 15);display.print("Sunny ");display.print(28.6);display.setTextSize(1);display.cp437(true);display.write(167);display.setTextSize(2);display.print("C");} if (flag == 3) {// 这段时间可以显示温度display.setTextSize(1);display.setCursor(0, 0);display.print("Temperature: ");display.setTextSize(2);display.setCursor(0, 15);display.print(28.6);display.print(" ");display.setTextSize(1);display.cp437(true);display.write(167);display.setTextSize(2);display.print("C");} else if (flag == 0) {Serial.println("show humidity 4 \n");// 这段时间可以显示湿度display.setTextSize(1);display.setCursor(0, 0);display.print("Humidity: ");display.setTextSize(2);display.setCursor(0, 15);display.print(46);display.print(" %");}flag++;display.display();}
转载请注明出处——胡玉洋 《ESP8266 NodeMCU驱动OLED屏(SSD1306,4PIN,IIC)》
如果觉得《ESP8266 NodeMCU驱动OLED屏(SSD1306 4PIN IIC)》对你有帮助,请点赞、收藏,并留下你的观点哦!