EVE 发表于 2019-6-10 18:28:48

【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 数组中的某一项对应的声音并播放,这样代码就简洁了许多。

IZ3yGLZb 发表于 2019-7-9 20:37:05

制作一个暗号门铃:用户依照特定方式按按钮(如一秒内按两次),门铃才会响。这个怎么编程啊?

Rae 发表于 2019-7-17 09:21:30

太好了

DFB1tXFFiKD 发表于 2020-12-1 16:02:38

IZ3yGLZb 发表于 2019-7-9 20:37
制作一个暗号门铃:用户依照特定方式按按钮(如一秒内按两次),门铃才会响。这个怎么编程啊?
...

请问您写出来了吗??

DFB1tXFFiKD 发表于 2020-12-2 10:57:57

高手们在吗?请问最后哪个怎么写的啊?可以指导一下吗??新手

黑马1 发表于 2021-4-13 16:56:47

我编了一个

哇小帅 发表于 2021-5-3 09:29:27

黑马1 发表于 2021-4-13 16:56
我编了一个

感觉不正确

车神 发表于 2021-12-22 10:41:21

求教各路大神暗号门铃怎么做

赤星三春牛! 发表于 2022-1-23 12:06:45

谢谢,学会了

赤星三春牛! 发表于 2022-1-29 09:44:57

有没有两块Arduino板通讯的教程?想做分体式门铃。

EVE 发表于 2022-2-9 15:36:56

赤星三春牛! 发表于 2022-1-29 09:44
有没有两块Arduino板通讯的教程?想做分体式门铃。

两块板子通讯,用micro:bit更方便

赤星三春牛! 发表于 2022-2-10 14:02:12

EVE 发表于 2022-2-9 15:36
两块板子通讯,用micro:bit更方便

(我没钱买micro:bit了)micro:bit是怎样通讯的?是不是和掌控板一样,有发送广播的功能?

EVE 发表于 2022-2-10 14:55:06

赤星三春牛! 发表于 2022-2-10 14:02
(我没钱买micro:bit了)micro:bit是怎样通讯的?是不是和掌控板一样,有发送广播的功能? ...

哈哈哈哈就是蓝牙

赤星三春牛! 发表于 2022-2-10 15:00:37

EVE 发表于 2022-2-10 14:55
哈哈哈哈就是蓝牙

哦。                           

星哲爸爸 发表于 2023-5-17 11:43:59

终于帮五年级的儿子把作业做完了{:5_116:}

星哲爸爸 发表于 2023-5-17 16:02:04

简化按键侦测。

研究者 发表于 2024-1-18 15:35:13

黑马1 发表于 2021-4-13 16:56
我编了一个

MILLIS函数是怎样实现计时作用的,可以讲解一下吗

默默无闻321 发表于 2024-1-19 21:52:35

请问哪里有卖液晶显示模块

EVE 发表于 2024-2-26 14:56:53

默默无闻321 发表于 2024-1-19 21:52
请问哪里有卖液晶显示模块

DF商城有的,指路https://www.dfrobot.com.cn/search.php?keywords=%E6%B6%B2%E6%99%B6

迟迟具体 发表于 2024-3-22 14:58:39

黑马1 发表于 2021-4-13 16:56
我编了一个

不太对呀.并没有实现功能呀。循环次数300次,好像不太对呀。

皮皮ts 发表于 2024-3-29 12:30:31

迟迟具体 发表于 2024-3-22 14:58
不太对呀.并没有实现功能呀。循环次数300次,好像不太对呀。

请教高手!我运行了一下代码,蜂鸣器一直在响。应该修改哪个代码呢?
页: [1] 2
查看完整版本: 【Mind+】Arduino Uno入门 项目七 创意门铃