倒计时闹钟

来自Microduino Wikipedia
跳转至: 导航搜索

概述

Anywhere alarm.jpg

做个一能设定倒计时时间的闹钟,倒计时结束,闹钟响铃。
适合套件:mCookie302


模块清单

模块

模块 数量 功能
mCookie-Core 1 核心板
电池盒 1 程序下载和供电模块
mCookie-Hub 1 传感器转接板
触摸传感器 3 检测触摸
蜂鸣器 1 发声

其他设备

  • USB数据线*1
  • 传感器连接线*4
  • 传感器外壳*1
  • 积木或其它固定结构
Anywhere alarm-module.jpg

模块搭建

搭建

Anywhere alarm-step.jpg
  • 将模块和传感器组装起来:
    • 将红色的核心模块,电池底座与绿色的扩展模块吸在一起;
    • 将蜂鸣器连接在Hub的8/9管脚;
    • 将3个触摸传感器分别连接在Hub的6/7、4/5 、 2/3管脚;
    • 将USB连接线一端插入电池底座,另一端连接电脑;

编程

使用的程序块

编程思路

选择3个触摸传感器,一个用来控制倒计时的设置、开始和结束,一个用于设置倒计时时间增加,一个用于设置倒计时时间减少。

Mixly-ctrl-alarm.jpg

开始编程

变量声明,6号触摸传感器松开后,重复执行时间设置程序
声明一个名叫time的变量,用来存放倒计时秒数。
6号触摸传感器松开时重复执行内部程序(检测时间+、-按键)
如果4号触摸传感器按下(时间减少1秒、等待按键松开、将更改过的时间发送到电脑)
如果2号触摸传感器按下(时间增加1秒、等待按键松开、将更改过的时间发送到电脑)

Mixly-ctrl-alarm-code.jpg

开始倒计时,时间结束后蜂鸣器响
向电脑发送“start”,表示开始倒计时。将变量time中保存的秒数乘1000(毫秒),进行延时,延时结束后发送“alarm!”到电脑,表示时间到。

Mixly-ctrl-alarm-code1.jpg

等待6号触摸传感器再次按下,蜂鸣器关闭
6号触摸传感器按下前,蜂鸣器一直发声。等待6号触摸传感器松开,防止错误判断。

Mixly-ctrl-alarm-code2.jpg



测试结果
上传成功后,按下6号触摸前可以设置时间,按4号触摸时间减,按2号触摸时间加,打开串口监视器可以看到设置的时间,设定好之后按下6号触摸,开始倒计时,倒计时结束,蜂鸣器响,再按一次6号触摸,蜂鸣器关闭。

Anywhere alarm.jpg



Q:现在虽然可以倒计时,但是我们看不到倒计时的过程,有什么办法可以看到时间逐渐减少吗?
A:只要时间每减少1秒,就打印出来,我们就可以在串口监视器查看时间了。

声明时间变量time,松开6号触摸,设置倒计时时间
按下4号触摸,time值减1;按下2号触摸,time值加1。

Mixly-ctrl-alarm-code3.jpg

显示倒计时过程,结束后蜂鸣器响
使用按次执行,因为是倒计时,所以执行次数为从time到1,步长为-1,每次执行时将变量time减1,并将变量time中存的秒数发送到电脑,然后延时1秒

Mixly-ctrl-alarm-code4.jpg


技术规范

相关案例

Q&A