一、传感妙用

第2课 实时时钟

任务场景:实时时钟
任务场景:实时时钟

一、任务目标

先给板载时钟写好时刻,再让点阵滚动时:分:秒。体验题用固定元组设定;完整代码用控制台 input 再设定,并打印 strtime。

二、我们要学什么

  • 学习要点:RTC 要先 settime,滚动的才是「现在几点」,不是开机毫秒数
  • 本课过关:能指出体验用 localtime 的时分秒下标;完整代码多了 input 和 print(strtime())。
  • 示例对齐:体验题对应 「1-2-1 实时时钟」;完整代码对应 「1-2-2 可设定实时时钟」。

三、本节要点

体验 1-2-1 把时间写成 (2025,4,2,21,4,45,0,0)。完整代码改从串口输入并打印 strtime。两道题点阵都滚动 localtime 的时分秒下标 [3][4][5]。

1读场景明确真实任务
2对要点先对时再滚动
3载入运行本课积木/代码

四、解题思路

  • 输入:体验:程序里写死的日期时间元组。完整代码:控制台按提示输入。
  • 输出:点阵滚动时:分:秒;完整代码另打印 strtime()。
  • 生活对照:先把手表拨准,再看表盘。
  • 验证现象:滚动数字应接近你设定的时分秒,而不是从 0 开始累加的秒表。

本课主要用到:板载 RTC、点阵滚动;完整代码另用串口输入/打印。

  1. 1明确任务「实时时钟」:先 settime,再取 localtime。
  2. 2体验用 format 把时分秒拼成 h:m:s 滚动。
  3. 3完整代码用 input 提示「请输入当时时间…」再 settime。
  4. 4滚动时用 localtime 下标 [3,4,5](时:分:秒)。完整代码多了 input 和 print(strtime())。

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

任务:实时时钟搭出主循环,让程序一直运行…先用滚动文字给出提示,再切…载入官方示例后先点运行,对…

五、图形块功能讲解

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

图形块分类作用本课用法
设置时钟
板载传感写入日期时间。体验:settime((2025,4,2,21,4,45,0,0))。
读取时钟
板载传感读取 RTC 当前时间。载入后可在工具箱对照本课用法。
滚动显示文字
板载显示在点阵或屏幕上滚动字符串。体验:滚动时:分:秒。
格式化文字
文本按模板填入数值或文字。载入后可在工具箱对照本课用法。
数字转文字
文本把数字变成可显示的字符串。载入后可在工具箱对照本课用法。
取元组项
元组按位置取值。载入后可在工具箱对照本课用法。
键盘输入
串口从控制台读取用户输入。完整代码:input 当时时间再 settime。
用字符串设置时钟
板载传感按字符串解析并设置时间。完整代码:用输入字符串设定时钟。
打印输出
串口在控制台打印一行信息,便于调试。完整代码:print(rtctime.strtime())。
时钟字符串
板载传感把时间格式化成字符串。完整代码:strtime 打到串口。

六、知识点讲解

本课核心是先对时再显示。不 settime,localtime 对不上你想看的「此刻」。

settime

体验把年月日时分秒写成一个元组一次写入。

localtime 下标

元组里哪几位是时分秒,要和 format 一一对应。两道官方示例下标不同,以各自 mix 为准。

串口设定

完整代码用 input 让你现场拨表,再 print strtime 核对。

  • 过关:能区分「写死时间」和「输入再设定」。
  • 不要把本课当成秒表 ticks_ms。

先看滚动时钟,再对照完整代码的输入提示。

七、编程练习

点「载入」打开 MixVM(board=mixgo_zero_design)。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

1-2-1 实时时钟.mix。载入后运行。

八、课堂练习

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

  1. 判断:体验题用 ticks_ms 做秒表,不设定 RTC。

  2. 判断:完整代码用 input 让你输入当时时间后再 settime。

  3. 体验题点阵滚动的是?

  4. 体验与完整代码点阵滚动应对齐哪几个下标?

九、本节小结

记住:先 settime 再滚动时钟;完整代码才从串口输入时间。