三、智慧家居

第9课 数字温度计

任务场景:数字温度计
任务场景:数字温度计

一、任务目标

外接 DS18B20(脚 3)读温度,取整后点阵居中显示,每秒刷新。完整代码改用 I2C 上的 SHTC3,打印并滚动温度和湿度。

二、我们要学什么

  • 学习要点:先读温度再显示,课堂读数不是医用体温计
  • 本课过关:能指出体验是 DS18B20 单温度;温湿度滚动是完整代码。
  • 示例对齐:体验题对应 「3-1-1 数字温度计」;完整代码对应 「3-1-2 数字温湿度计」。

三、本节要点

体验没有湿度。T:/S: 字串是 3-1-2。

1读场景明确真实任务
2对要点读温度并显示
3载入运行本课积木/代码

四、解题思路

  • 输入:体验:DS18B20。完整代码:SHTC3。
  • 输出:体验点阵整数温度;完整代码串口+滚动 T/H。
  • 生活对照:桌上温度计,不是医院体温枪。
  • 验证现象:用手捂探头,屏上数字应升高。

本课主要用到:温度传感、点阵;完整代码另用 I2C 温湿度。

  1. 1读 temperature()。
  2. 2shows 取整后的 t。
  3. 3sleep(1)。
  4. 4完整代码再读 humidity 并滚动。

流程示意(可对照左侧文字)

任务:数字温度计搭出主循环,让程序一直运行…把计算结果映射到可观察输出…加入延时(约1秒/单位),…载入官方示例后先点运行,对…

五、图形块功能讲解

下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。

图形块分类作用本课用法
文字转数字
数学把数字字符串解析为数值。体验:int(温度)。
DS18B20 温度
板载传感单总线温度传感器读数。DS18X20(3).temperature()。
I2C 初始化
通信初始化 I2C 总线。完整代码 SoftI2C 脚 3/4。
I2C 初始化传感器
板载传感为 I2C 传感器建立连接。完整代码 SHTC3(i2c_extend)。
温湿度 SHTC3
板载传感外接温湿度模块读数。完整代码 temperature/humidity。
打印多项
串口一次打印多个值。完整代码 print(t, h)。
滚动显示(可设延时)
板载显示滚动文字并控制滚动速度。完整代码滚动 T: {} S:{}。
格式化文字
文本按模板填入数值或文字。完整代码 format 温湿度字符串。

六、知识点讲解

本课核心是读外接温度。体验只有一个温度整数;湿度是下一份示例。

DS18B20

单总线,接脚 3。

点阵

shows(t, space=0, center=True)。

SHTC3

完整代码 I2C 温湿度。

  • 过关:不要把读数当成医用体温。

先弄清本课输入与输出,再进编程练习对照现象。

七、编程练习

点「载入」打开 MixVM(board=mixgo_zero_design)。外设课会自动导入对应外接模块到右侧仿真。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

3-1-1 数字温度计.mix。载入后运行。

八、课堂练习

先完成两道判断题,再完成选择题;全部选定后点「检查」。

  1. 判断:体验程序会同时显示温度和湿度。

  2. 判断:点阵显示的是 int 之后的温度。

  3. 体验温度传感器接在?

  4. 完整代码滚动字符串里的 S 表示?

九、本节小结

记住:体验只显示温度整数;湿度滚动是完整代码。