概述
做个一能设定倒计时时间的闹钟,倒计时结束,闹钟响铃。
适合套件:mCookie302
模块清单
模块
其他设备
- USB数据线*1
- 传感器连接线*4
- 传感器外壳*1
- 积木或其它固定结构
模块搭建
搭建
- 将模块和传感器组装起来:
- 将红色的核心模块,电池底座与绿色的扩展模块吸在一起;
- 将蜂鸣器连接在Hub的8/9管脚;
- 将3个触摸传感器分别连接在Hub的6/7、4/5 、 2/3管脚;
- 将USB连接线一端插入电池底座,另一端连接电脑;
编程
使用的程序块
编程思路
选择3个触摸传感器,一个用来控制倒计时的设置、开始和结束,一个用于设置倒计时时间增加,一个用于设置倒计时时间减少。
开始编程
变量声明,6号触摸传感器松开后,重复执行时间设置程序
声明一个名叫time的变量,用来存放倒计时秒数。
6号触摸传感器松开时重复执行内部程序(检测时间+、-按键)
如果4号触摸传感器按下(时间减少1秒、等待按键松开、将更改过的时间发送到电脑)
如果2号触摸传感器按下(时间增加1秒、等待按键松开、将更改过的时间发送到电脑)
开始倒计时,时间结束后蜂鸣器响
向电脑发送“start”,表示开始倒计时。将变量time中保存的秒数乘1000(毫秒),进行延时,延时结束后发送“alarm!”到电脑,表示时间到。
等待6号触摸传感器再次按下,蜂鸣器关闭
6号触摸传感器按下前,蜂鸣器一直发声。等待6号触摸传感器松开,防止错误判断。
测试结果
上传成功后,按下6号触摸前可以设置时间,按4号触摸时间减,按2号触摸时间加,打开串口监视器可以看到设置的时间,设定好之后按下6号触摸,开始倒计时,倒计时结束,蜂鸣器响,再按一次6号触摸,蜂鸣器关闭。
Q:现在虽然可以倒计时,但是我们看不到倒计时的过程,有什么办法可以看到时间逐渐减少吗?
A:只要时间每减少1秒,就打印出来,我们就可以在串口监视器查看时间了。
声明时间变量time,松开6号触摸,设置倒计时时间
按下4号触摸,time值减1;按下2号触摸,time值加1。
显示倒计时过程,结束后蜂鸣器响
使用按次执行,因为是倒计时,所以执行次数为从time到1,步长为-1,每次执行时将变量time减1,并将变量time中存的秒数发送到电脑,然后延时1秒
技术规范
相关案例
Q&A
|