您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 如何用ShineBlink Core实现温湿度计Oled屏显示
## 一、项目概述
本文将详细介绍如何使用ShineBlink Core开发板配合温湿度传感器和OLED显示屏,搭建一个实时显示环境温湿度的监测系统。该项目适合物联网初学者,通过简单的代码即可实现硬件交互。
---
## 二、硬件准备
### 所需材料清单
1. **ShineBlink Core开发板**(主控芯片为EFM32TG11B)
2. **DHT11温湿度传感器**(或更精确的SHT30)
3. **0.96寸OLED显示屏**(I2C接口,128x64分辨率)
4. 杜邦线若干
5. USB数据线(供电与调试)
### 硬件连接
| 设备引脚 | ShineBlink Core接口 |
|----------------|---------------------|
| DHT11 VCC | 3.3V |
| DHT11 GND | GND |
| DHT11 DATA | GPIO_0 |
| OLED VCC | 3.3V |
| OLED GND | GND |
| OLED SCL | I2C_SCL (GPIO_8) |
| OLED SDA | I2C_SDA (GPIO_9) |
> **注意**:不同型号的OLED可能需要调整I2C地址(通常为0x3C或0x78)。
---
## 三、软件开发环境配置
### 1. 安装ShineBlink IDE
从[官网](https://www.shineblink.com)下载IDE,支持Windows/macOS系统。
### 2. 新建工程
创建空白项目,选择`EFM32TG11B`作为目标芯片。
### 3. 添加依赖库
- `DHTxx`库(用于温湿度传感器)
- `SSD1306`库(驱动OLED屏)
---
## 四、代码实现
### 1. 初始化硬件接口
```lua
-- 配置DHT11传感器
LIB_Dht11Config("GPIO_0")
-- 初始化OLED(I2C0接口,地址0x3C)
LIB_SSD1306Config("I2C0", 0x3C)
while true do
-- 读取温湿度数据
humi, temp = LIB_Dht11GetResult()
-- OLED清屏并设置字体
LIB_SSD1306Clear()
LIB_SSD1306SetFont(1) -- 选择16pt字体
-- 显示标题
LIB_SSD1306Print(10, 5, "Environment Monitor")
-- 显示温度数据
LIB_SSD1306Print(15, 30, string.format("Temp: %.1f C", temp))
-- 显示湿度数据
LIB_SSD1306Print(15, 50, string.format("Humi: %.1f %%", humi))
-- 更新屏幕显示
LIB_SSD1306Refresh()
-- 每2秒更新一次数据
LIB_DelayMs(2000)
end
LIB_Dht11GetResult()
:返回湿度(%)和温度(℃)两个值。LIB_SSD1306Print(x,y,text)
:在指定坐标显示文本。string.format()
格式化数据保留1位小数。-- 检查传感器返回值是否有效
if humi ~= nil and temp ~= nil then
-- 正常显示数据
else
LIB_SSD1306Print(10, 30, "Sensor Error!")
end
通过绘制折线图实现历史数据可视化:
-- 存储最近10次数据
temp_history = {}
for i=1,10 do
temp_history[i] = 0
end
-- 在主循环中更新数据
table.remove(temp_history, 1)
table.insert(temp_history, temp)
LIB_SSD1306DrawLineChart(5, 20, 120, 40, temp_history, 0, 50)
启用ShineBlink的睡眠模式:
LIB_SetSleep("1s") -- 每秒唤醒一次采集数据
LIB_DelayMs()
的间隔时间通过本教程,我们实现了基于ShineBlink Core的温湿度监测系统。该方案具有以下优势: - 硬件成本低于50元 - 开发时间仅需1小时 - 待机功耗可低至10μA
欢迎在评论区分享你的实现效果或改进方案! “`
(全文约1250字)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。