作品图片
情景描述
在古代门铃是随着人们现在生活越来越智能,我们的家居生活也越来越智能,各式各样的门铃比比皆是,门铃的作用也不仅仅是局限于给客人叫门用。最早时人们只能通过敲击门发出声音提醒主人有人来访,到后来出现了专门的门铃,但是当在卧室事或者离门比较远时有时会听不到门铃声,现在出现了很多智能的无线门铃,不管在家里哪个地方都能听到门铃声。本课就要利用好搭Bit的无线功能来制作一个无线门铃。
知识与概念
要学习本课的案例,需要了解以下的概念与原理:
1. 了解无线通讯
好搭bit内置一块 2.4g 无线模块,可以进行无线收发数据,进行无线通信。无线通信是指多个节点间不经由导体或缆线传播进行的远距离传输通讯,利用收音机、无线电等都可以进行无线通讯。拥有这个模块就可以实现通讯功能, 多人互通让编程更加的有趣。
要制作本课的范例作品,还需要学习以下新的指令:
1.“设置无线地址”指令
“设置无线地址”指令属于无线类别指令中,用来设置无线通信组的地址,一块好搭bit只能侦听一个组的地址,也就是在一个组里进行通信。参数默认是1,可以修改参数,范围为(0,255),在发送端和接收端都要使用。
发送端指令
2.“无线发送数”指令
“无线发送数”指令属于无线类别指令,使用这个指令可以将指定的数值发送给其他好搭bit,属于发送端的指令。指令默认是0。
3.“无线发送变量”指令
“无线发送变量”指令属于无线类别指令,第一个参数是变量名称,变量名称首字母必须为英文字母,第二个参数为变量的值,只能为数值。属于发送端的指令。
4.”无线发送字符串”指令
“无线发送字符串”指令属于无线类别指令,使用这个指令可以将指定的字符串发送其他好搭bit。默认是“abcd”,可以根据需要进行修改。
接收端指令
1.“无线接收到数运行”指令
“无线接收到数运行”指令属于无线类别指令,使用这个指令用来判断当无线接收到数值时,运行这个指令里面的程序,接收端使用时与发送端“无线发送数“指令配合使用。参数是“receivedNumber”表示接收的数。
2“无线接收变量运行”指令
“无线接收变量运行”指令属于无线类别指令,使用这个指令用来判断当无线接收到变量值时,运行这个指令里面的程序,接收端使用时与发送端“无线发送变量“指令配合使用。参数是“name”表示接收变量的名称,与发送端中“无线发送变量”里变量名称参数保持一致;“value”是变量的值。
3.“无线接收字符串运行”指令
“无线接收到字符串运行”指令属于无线类别指令,使用这个指令用来判断当无线接收到字符串时,运行这个指令里面的程序,接收端使用时与发送端“无线发送字符串“指令配合使用。参数是“receivedstring”表示接收的字符串。
作品制作
1.作品描述
智能门铃是对按钮模块、蜂鸣器以及好搭bit无线通讯功能的综合应用的案例,进行无线通讯需要使用两块好搭bit,可以以2人一小组的形式来完成,一块好搭bit作为门口的门铃的按键,作为无线通讯的发送端;一块好搭bit作为房间里的门铃提示器,作为无线通讯的接收端。按下发送端的按键时,无线通讯启动,发送数据,接收端接收成功后,接收端的蜂鸣器响起,提醒有客来访。程序编写完成后,再通过乐高积木的搭建,可以摆放在房间的任一角落,从而完成一个智能门铃。
2.硬件连接
发送端
将模块与haoda:bit连接起来:按钮模块连接在“P0”端口;接着haoda:bit与计算机连接,将haoda:bit开机,确定电脑资源管理器跳出“MICROBIT”U盘,进入下载模式。
接收端
将模块与haoda:bit连接起来:蜂鸣器连接在“P0”端口;接着haoda:bit与计算机连接,将haoda:bit开机,确定电脑资源管理器跳出“MICROBIT”U盘,进入下载模式。
3.无线通讯传递数字
登录“好好搭搭”网站,选择“创作”栏目中的“好搭bit模板”,进入“haoda:bit编程设计页”进行编程。
无线通讯需要分别编写接收和发送端的程序,发送端和接收端都要使用”设置无线地址”指令让无线通讯在一个地址下进行,设置为相同的地址,发送端使用“无线发送数”指令发送数字1,接收端将无线循环指令换成“无线接收到数运行”指令,然后在这个指令下编写程序,让点阵屏显示接收的数字。编写完成后分别下载程序至两块好搭bit。
发送端程序:
接收端程序:
试一试:无线通讯发送字符串和变量!
4. 智能无线门铃
发送端和接收端的程序都需要使用“无线设置地址“指令,设置成相同的地址。发送端程序需要使用”如果”和”比较“指令,首先判断按钮是否被按下,当按下时即“数字读取”指令的值为1时,无线发送字符“coming“;接收端使用“无线接收字符串运行”指令,里面使用蜂鸣器相关的指令。具体程序如下图所示:
发送端:
接收端:
试一试:将程序下载至两块好搭bit,能实现无线通讯吗?
拓展与思考
你还能使用其他传感器,让门铃更加智能有趣吗?试一试
我打算这么做:__________________________________________________________________________________________________________________________。
做的时候需要注意:_____________________________________________________________________________________________________________________。