二、可调台灯

第8课 可调台灯

任务场景:可调台灯
任务场景:可调台灯

一、任务目标

ADC 读 pin1,把读数直接写成 pin16/17/18 的 PWM 占空比,旋钮调光。完整代码用 T2 翻转「开关」:关掉时三路 duty 为 0。

二、我们要学什么

  • 学习要点:模拟读数映射到 PWM,灯跟着旋钮变
  • 本课过关:能指出体验没有总开关;完整代码 T2 翻转后再调光。
  • 示例对齐:体验题对应 「2-4-1 可调台灯」;完整代码对应 「2-4-2 带开关可调台灯」。

三、本节要点

atten 11dB。体验一运行灯就跟着 ADC 变。

1读场景明确真实任务
2对要点ADC 读数写入 PWM
3载入运行本课积木/代码

四、解题思路

  • 输入:pin1 ADC;完整代码另用 T2。
  • 输出:三路 PWM 台灯。
  • 生活对照:旋钮台灯,有的还带按键总开关。
  • 验证现象:转旋钮三灯一起变亮变暗。

本课主要用到:ADC、PWM;完整代码另用板载按键。

  1. 1初始化三路 PWM 和 ADC。
  2. 2循环读 read_u16。
  3. 3写到三个 duty_u16。
  4. 4完整代码先判断开关变量。

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

任务:可调台灯搭出主循环,让程序一直运行…载入官方示例后先点运行,对…

五、图形块功能讲解

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

图形块分类作用本课用法
模拟输入初始化
输入/输出配置 ADC 引脚。adc1 = ADC(Pin(1))。
模拟衰减
输入/输出设置 ADC 量程衰减。ATTN_11DB。
模拟读数
输入/输出读取模拟电压对应数值。read_u16() 送给 PWM。

六、知识点讲解

本课核心是模拟量调光:旋钮是连续数值,不是按一下开关。

体验

每圈三次读 ADC 分别写三路。

完整代码

T2 翻转开关;假则三路写 0。

注意

开关关掉时旋钮不再点亮。

  • 过关:能说出总开关在哪一题。

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

七、编程练习

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

2-4-1 可调台灯.mix。载入后运行。

八、课堂练习

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

  1. 判断:体验必须先按 T2,灯才会跟着旋钮变。

  2. 判断:三路 PWM 都写成同一个 ADC 读数。

  3. ADC 接在哪一脚?

  4. 完整代码开关为假时?

九、本节小结

记住:体验旋钮直接调光;T2 总开关是完整代码。