一、疯狂打地鼠
第1课 外接按键-双按键开关灯

一、任务目标
理解两键分工,能对比「按着开/关」和「点一下翻转」。
二、我们要学什么
- 学习要点:一个键专管开、一个键专管关,不要写成同一个键翻转
- 本课过关:能指出体验:3号引脚 开两灯、4号引脚 关两灯;完整代码等松手后 setonoff(...,-1) 分别翻转。
- 示例对齐:体验题对应 「1-1-1 外接按键-双按键开关灯」;完整代码对应 「1-1-2 外接按键-单按键开关灯」。
三、本节要点
体验 1-1-1 是电平检测:按着 3号引脚 就亮、按着 4号引脚 就灭。翻转开关在 1-1-2。
四、解题思路
- 输入:外接 3 号脚、4 号脚(双轻触,接扩展口)。
- 输出:1 号和 2 号板载灯。
- 生活对照:墙上两个键:一个只开、一个只关。
- 验证现象:按 3 号脚两灯亮;按 4 号脚两灯灭。
本课主要用到:外接数字输入、板载灯。
- 1初始化 3 号脚、4 号脚为输入。
- 2循环里若 3 号脚有电平则两灯开。
- 3若 4 号脚有电平则两灯关。
- 4完整代码:等松开后再翻转对应那一盏。
流程示意(可对照左侧文字)
五、图形块功能讲解
下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。
| 图形块 | 分类 | 作用 | 本课用法 |
|---|---|---|---|
![]() | 输入/输出 | 把引脚设为输入或输出。 | 体验:3号引脚、4号引脚 设为输入。 |
![]() | 控制 | 按条件反复执行内部积木;条件为「真」时相当于 「重复执行」 无限循环。 | 载入后可在工具箱对照本课用法。 |
![]() | 控制 | 满足条件时执行对应分支,用于按键、传感阈值的判断。 | 载入后可在工具箱对照本课用法。 |
![]() | 输入/输出 | 读取引脚高低电平。 | 体验:读 3号引脚 开灯、读 4号引脚 关灯。 |
![]() | 板载执行 | 打开或关闭指定 LED。 | 体验:同时开关 1 号和 2 号灯。 |
![]() | 控制 | 先跑一遍循环体,再根据条件决定是否继续。 | 完整代码:按住时延时 1ms,直到松开。 |
![]() | 控制 | 暂停指定时间,常用于动画节奏或等待。 | 完整代码:等松手时 延时(1)。 |
![]() | 逻辑 | 把真变假、假变真。 | 完整代码:not pin.value() 表示松开。 |
六、知识点讲解
两键分工:3号引脚 只负责开两灯,4号引脚 只负责关两灯。不是按一下翻转。开:3号引脚.value() 为真时 setonoff(1,1) 和 setonoff(2,1)。关:4号引脚.value() 为真时两灯都写 0。翻转:完整代码等松手后 setonoff(1,-1)/setonoff(2,-1)。
对照与过关:能对比「按着开/关」和「点一下翻转」。先弄清本课输入与输出,再进编程练习对照现象。
七、编程练习
点「载入」打开 MixVM(board=mini_design)。本学期外设课会自动导入对应外接模块到右侧仿真;默认图形化积木,起步程序与积木来自兴趣课程/学期5。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。
兴趣课程:1-1-1 外接按键-双按键开关灯.mix。载入后运行。
正在载入编程环境
正在载入 MixGo MINI 仿真编程环境…
八、课堂练习
先完成两道判断题,再完成选择题;全部选定后点「检查」。
判断:体验程序是按一下 3号引脚 灯亮,再按一下同一键灯灭。
判断:3号引脚 有电平时,1 号和 2 号灯都会被打开。
体验里按下 4号引脚 会?
完整代码里 -1 表示?
九、本节小结
本课主题是外接两键开关:一个键专管开、一个键专管关,不要写成同一个键翻转。体验程序3号引脚开两灯、4号引脚关两灯;完整程序等松手后分别翻转对应的灯。







