这里记录一下ESP8266 NodeMCU驱动0.96英寸的OLED屏的过程。

1. 硬件

  • ESP8266-NodeMCU开发板
  • 0.96英寸OLED屏模块 蓝色(4pin插针)
  • 杜邦线

ESP8266-NodeMCU开发板和OLED引脚对应关系

开发板引脚 OLED屏引脚
3.3V VCC
G (GND) GND
D1(GPIO5) SCL
D2(GPIO4) SDA

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("2022-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)相关推荐

  1. arduino上ESP8266用Adafruit_SSD1306库驱动OLED屏

    关注.星标公众号,不错过精彩内容 编辑:Tony 来源:公众号TonyCode 在进行后续的ESP8266学习前,我们先来对OLED屏进行驱动,为后续学习提供直观的信息显示. 1. 安装驱动库 在之前 ...

  2. 简单明了操作——ESP8266 NodeMCU驱动TFT LCD液晶屏(制作透明小电视前奏)

    简单明了操作--ESP8266 NodeMCU驱动TFT LCD液晶屏(制作透明小电视前奏) 前言 准备材料 esp8266 NodeMCU(串口WiFi模块) 1.44inch SPI Arduin ...

  3. esp32使用MicroPython驱动oled屏显示中文和英文

    文章目录 esp32使用MicroPython驱动oled屏显示中文和英文 介绍 安装 特点 开源 硬件连接 API 示例 显示英文字符 显示汉字 参考链接 esp32使用MicroPython驱动o ...

  4. 0.96寸OLED屏显示(IIC通信)Ⅰ

    0.96寸OLED屏显示(IIC通信) 一.0.96寸OLED简介   0.96寸OLED屏内部驱动IC为SSD1306:兼容6800.8080两种并行接口方式,3线或 4线的串行SPI接口方式和 I ...

  5. esp32 spi 驱动 oled 屏显示来自 PC 的画面

    esp32 spi 驱动 oled 屏显示来自 PC 的画面 实验代码 gayhub 实验源码 设备及运行环境 装有python的电脑 Python 3.8.2 (tags/v3.8.2:7b3ab5 ...

  6. STM32通过SPI协议驱动OLED屏

    坚持就是胜利 一.SPI协议介绍 01 简介 02 SPI物理层 03 SPI基本通讯过程 二.OLED显示器介绍 01 简介 02 接口定义 03 与STM32接线图 三.汉字取模软件介绍 01 下 ...

  7. STM32CubeMX驱动OLED屏模块_IIC

    文章目录 1. IIC-OLED模块简介 2. 移植源码到工程 3. 取字模软件的使用 3.1 汉字取模 3.2 图片取模 4. 驱动源码中函数介绍 4.1 初始化OLED屏 4.2 开启/关闭OLE ...

  8. 串口助手驱动_STM32Cube22(补充) | 使用硬件I2C驱动OLED(SSD1306)

    点上方蓝字关注我们 每天都有好玩的东西等着你 本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件I2C外设驱动0.96'OLED屏幕. 1. 准备工作 硬件准备 开发板 ...

  9. STM32模拟IIC驱动OLED屏 原理+源码

    处理器和芯片间的通信可以形象的比喻成两个人讲话:1.你说的别人得能听懂:双方约定信号的协议.2.你的语速别人得能接受:双方满足时序要求. 一.IIC总线的信号类型 1.开始信号:处理器让SCL时钟保持 ...

  10. stm32驱动ssd1306配置_STM32F7片上硬件I2C驱动OLED(SSD1306),寄存器配置的。

    最近在学习STM32F7的片上I2C硬件,看到原子哥的OLED模块可以用I2C来驱动,于是就试了下.现在将试验结果与大家分享,目前还没有毕业经历过的项目比较少,只是为了抛砖引玉,有什么不合理的地方,请 ...

最新文章

  1. 【Java】排序算法 之 【归并排序】 总结
  2. 远程桌面连接由于网络错误而丢失
  3. template模板中插入自定义参数
  4. Function One
  5. Android之华为手机打开app奔溃提示java.io.FileNotFoundException: res/drawable/abc_vector_test.xml
  6. nodejs中require的路径是一个文件夹时发生了什么
  7. python之旅-day2(较基础阶段)
  8. [论文翻译] Medical Matting: A New Perspective on Medical Segmentation with Uncertainty
  9. 图标圆角角度_教你在 iOS 和 macOS 上获取 App 图标
  10. [ 应急响应 ]服务器(电脑)受到攻击该如何处理?(三)
  11. .NET下解析Json的方法
  12. Proxmark3教程1:用PM3解密复制M1全加密门禁IC卡图文详细介绍
  13. 计算机网络网线颜色,网络线接法-各种网线的分类和区别-电气资讯 - 电工屋
  14. 编程实现类Logo语言(海龟语言)
  15. 【持续更新】Pun多人在线游戏开发教程
  16. font setup -- dejavu 安装字体
  17. 无阻塞实时检测键盘输入
  18. UVa Problem 10001 Garden of Eden (伊甸园)
  19. 大脑简史(3)-大脑的结构
  20. 安装RAC小记(Oracle11gR2)

热门文章

  1. Jenkins教程(2)插件源与常用插件
  2. MyBatis中传递多个参数的方法以及传入混合参数的获取方式
  3. 用Python做一款上课点名程序(附源码)
  4. 【老九学堂】【初识C语言】编译过程
  5. 冲刺中高考,AI辅助学习靠谱吗?
  6. 51单片机——八段数码管
  7. 解决PHP提示Warning: Division by zero in错误
  8. skywalking 安装部署以及监控远程应用
  9. 测试了一周总结的模拟器玩刺激战场延迟卡顿完美解决办法
  10. CM源码(CyanogenMod)源码编译