友情提示:380元/半年,儿童学编程,就上码丁实验室。
本专案将使用Micro:bit打造一台小型的智能风扇,编程部分这次用的是MicroPython,开始来动手DIY吧!
材料
•Micro:bit
•乐高积木
•Micro:bit Boson 扩充版
组装扩充版
准备我们的micro:bit以及Boson扩充板,组装图如下,记得micro:bit的logo朝下面,有LED数组的那面朝上,如果说到时候刻录程序失败的话,就会用LED数组显示出错误讯息。
风扇制作
本范例的硬件主要是用LEGO来做,请参考下方的图片,零件上用LEGO动力机械的基本套件就能完成啰,当然有兴趣的朋友也可以自己DIY设计一个独特风格的电风扇底座,只要记得上面要有四个boson的座,在待会的实做部份我们会慢慢放入传感器以及马达、风扇。
STEP1:控制马达
首先我们先加入Boson套件中的马达,请装在基座的正中间,组装如下图。
装完马达跟风扇之后,接下来请把Boson的讯号线接到micro:bit Boson扩充板的8号脚位上,也就是右上角的那个插座,如下图。
STEP2:开关控制
有了马达之后,还要有个按钮来开关电风扇,这时候就需要加装传感器(sensor)啦,请依照下方的组装图加上一个Boson套件的按钮,并把它接到扩充版上的脚位12上。
STEP3:风量调整
除了要能够开关之外,还要加入一个旋钮来调整风力大小,让这个风扇更加的贴近使用者!
请按照下图,加装一个Boson 旋钮套件到风扇的基座上,并把讯号线接到扩充板的0号脚位上,也就是板子的左上角。
STEP4:智慧风扇
最后,我们还想要加入一些常见的风扇没有的功能,来让我们的小风扇更加的智能化,并贴近使用者的使用环境。请依照下面的组装图加上一个Boson套件的motion 传感器,并把讯号线接到1号脚位上。
什么是motion sensor呢?其实就是所谓的PIR(Passive Infrared Sensor),常见的用途就是用来侦测人体的接近(靠着生物体的红外线),有时候我们在逃生梯上下楼时,电灯自动会开启其实就是因为有这种传感器,它会自动侦测有人在走动来自动打光。
而我们想要实做的功能就是除了STEP3中有的功能以外,还要加入一个情境,如果侦测到有人的话,例如说侦测到人的手,就会自动开启电风扇,而不需要特地去压按钮还开电风扇,一起来看是如何实做的吧!
以下是这个范例的程序代码。
from microbit import *
fan_switch = False
fan_mode = ["slow","medium","fast"]
fan_power = [700, 900, 1023]
def fan_mode_switch(value):
interval = int(1023/3)
for i in range(3):
if value >= i * interval and value < (i+1)*interval:
break
return fan_mode[i], fan_power[i]
previous_mode, power = fan_mode_switch(pin0.read_analog())
while True:
if pin12.read_digital():
fan_switch = not fan_switch
print(‘Fan status: ‘ + (‘ON’ if fan_switch else ‘OFF’))
while pin12.read_digital():
sleep(100)
if fan_switch:
mode, power = fan_mode_switch(pin0.read_analog())
if mode is not previous_mode:
previous_mode = mode
print(“Fan mode: “, mode)
pin8.write_analog(power)
elif pin1.read_digital():
fan_switch = True
print(‘Fan status: ‘ + ‘ON’)
else:
previous_mode = ‘OFF’
pin8.write_analog(0)
sleep(300)
以下是我们最后完成的智能风扇影片,可以用按钮开关风扇,还可以用旋钮调整转速,并且还能用motion sensor在有人的时候自动开启风扇!