【Mind+】Arduino Uno入门 项目七 创意门铃
【Mind+】Arduino Uno入门 项目七 创意门铃-DFRobot官方出品
上一篇:【Mind+】Arduino Uno入门教程06智能灯
下一篇:【Mind+】Arduino Uno入门教程08小小作曲家
说到门铃,都会想起自家门铃“叮咚”的响声。制作一个门铃,需要一个能够发出声音的电子原件——蜂鸣器。
蜂鸣器可以依照设定的频率发出不同音高的声音。日常生活中蜂鸣器的应用非常广泛,比如刷公交卡时滴滴的提示音,警车,救护车等发出的警报声。 这个项目中,我们也要做门铃。与普通门铃不同的是,这个门铃可以按照你的想法来工作,比如门铃可以播放一段音乐,或者只有当门外的人连按两次时,门内的人才会被告知。你还可以再添加一些新奇的想法,快来试试吧!
*学习目标
元件
[*]蜂鸣器
[*]按钮
Mind+ 程序模块
[*]数字输入
[*]条件判断
任务 1——让蜂鸣器发声
1.硬件连接
蜂鸣器—8。注意插线时的颜色对应。
2.程序编写
可通过设置引脚8喇叭音调指令,让蜂鸣器发声。 具体可更改的参数有音调和节拍。
任务 2——制作简易门铃
1.实现功能
按下按钮,蜂鸣器发出“叮咚”声。
2.硬件连接
按钮—3;蜂鸣器—8。注意插线时的颜色对应。
3.程序编写
课后作业
通过前六个项目的学习,你大概已经熟悉 Arduino 的硬件连接以及 Mind+ 的模块化编程了。
从本节开始,我们将增加课后作业一项,给出任务要求和思路,但是不提供连接方式和程序。程序需要由你自己来完成了,相信你能够做到!
制作一个音乐门铃:每次按下按钮,播放一句旋律。制作一个暗号门铃:用户依照特定方式按按钮(如一秒内按两次),门铃才会响。
思路解析
[*]如何检测按键是否按特定方式按下(以 1 秒内 2 次按下为例)?
为了检测一秒内按键是否正好按下两次,不是数秒内,也不是一次或三次。在准备工作上,我们需要有一个 millis 函数来计时一秒,还需要有一个变量 times 来计次数。此外,在编程思路上,我们还需要考虑什么时候开始计时,不妨设为第一次检测到按键按下时;什么时候结束计时,即一秒之后;在这段时间内,我们需要反复检测(循环检测)按键是否按下并记录次数。若一秒内正好按下两次,则符合要求,可进行相应反馈;否则,反复进行上述检测。
[*]如何使蜂鸣器播放一句旋律?
如果要播放一句较长的旋律,将每个音写成“叮咚”的播放形式无疑是很繁琐的。不难发现,我们要播放的音只有七个,只是重复和不同的组合而已,所以,怎样能使编程简化呢?在上面的程序中,我们每次都要获取 tonelist 中的某一项,而我们不妨将这些项写成一个 xxx 数组,用一个循环函数,每次获取 xxx 数组中的某一项对应的声音并播放,这样代码就简洁了许多。 EVE 发表于 2022-2-10 14:55
哈哈哈哈就是蓝牙
哦。 迟迟具体 发表于 2024-3-22 14:58
不太对呀.并没有实现功能呀。循环次数300次,好像不太对呀。
请教高手!我运行了一下代码,蜂鸣器一直在响。应该修改哪个代码呢? 默默无闻321 发表于 2024-1-19 21:52
请问哪里有卖液晶显示模块
DF商城有的,指路https://www.dfrobot.com.cn/search.php?keywords=%E6%B6%B2%E6%99%B6 制作一个暗号门铃:用户依照特定方式按按钮(如一秒内按两次),门铃才会响。这个怎么编程啊?
太好了 IZ3yGLZb 发表于 2019-7-9 20:37
制作一个暗号门铃:用户依照特定方式按按钮(如一秒内按两次),门铃才会响。这个怎么编程啊?
...
请问您写出来了吗??
高手们在吗?请问最后哪个怎么写的啊?可以指导一下吗??新手 我编了一个 黑马1 发表于 2021-4-13 16:56
我编了一个
感觉不正确 求教各路大神暗号门铃怎么做 谢谢,学会了 有没有两块Arduino板通讯的教程?想做分体式门铃。 赤星三春牛! 发表于 2022-1-29 09:44
有没有两块Arduino板通讯的教程?想做分体式门铃。
两块板子通讯,用micro:bit更方便 EVE 发表于 2022-2-9 15:36
两块板子通讯,用micro:bit更方便
(我没钱买micro:bit了)micro:bit是怎样通讯的?是不是和掌控板一样,有发送广播的功能? 赤星三春牛! 发表于 2022-2-10 14:02
(我没钱买micro:bit了)micro:bit是怎样通讯的?是不是和掌控板一样,有发送广播的功能? ...
哈哈哈哈就是蓝牙 终于帮五年级的儿子把作业做完了{:5_116:} 简化按键侦测。 黑马1 发表于 2021-4-13 16:56
我编了一个
MILLIS函数是怎样实现计时作用的,可以讲解一下吗 请问哪里有卖液晶显示模块 黑马1 发表于 2021-4-13 16:56
我编了一个
不太对呀.并没有实现功能呀。循环次数300次,好像不太对呀。
页:
[1]
2