最新消息:

Micro:bit物联网课程:智能小风扇

Micro Bit 少儿编程 3777浏览 0评论

本专案将使用Micro:bit打造一台小型的智能风扇,编程部分这次用的是MicroPython,开始来动手DIY吧!

材料

Micro:bit

•乐高积木

Micro:bit Boson 扩充版

组装扩充版

准备我们的micro:bit以及Boson扩充板,组装图如下,记得micro:bitlogo朝下面,有LED数组的那面朝上,如果说到时候刻录程序失败的话,就会用LED数组显示出错误讯息。

 

Micro:bit物联网课程:智能小风扇

Micro:bit物联网课程:智能小风扇

 

风扇制作

本范例的硬件主要是用LEGO来做,请参考下方的图片,零件上用LEGO动力机械的基本套件就能完成啰,当然有兴趣的朋友也可以自己DIY设计一个独特风格的电风扇底座,只要记得上面要有四个boson的座,在待会的实做部份我们会慢慢放入传感器以及马达、风扇。

 

Micro:bit物联网课程:智能小风扇

 

STEP1:控制马达

首先我们先加入Boson套件中的马达,请装在基座的正中间,组装如下图。

 

Micro:bit物联网课程:智能小风扇

 

装完马达跟风扇之后,接下来请把Boson的讯号线接到micro:bit Boson扩充板的8号脚位上,也就是右上角的那个插座,如下图。

 

Micro:bit物联网课程:智能小风扇

 

STEP2:开关控制

有了马达之后,还要有个按钮来开关电风扇,这时候就需要加装传感器(sensor)啦,请依照下方的组装图加上一个Boson套件的按钮,并把它接到扩充版上的脚位12上。

 

Micro:bit物联网课程:智能小风扇

 

STEP3:风量调整

除了要能够开关之外,还要加入一个旋钮来调整风力大小,让这个风扇更加的贴近使用者!

请按照下图,加装一个Boson 旋钮套件到风扇的基座上,并把讯号线接到扩充板的0号脚位上,也就是板子的左上角。

 

Micro:bit物联网课程:智能小风扇

 

STEP4:智慧风扇

最后,我们还想要加入一些常见的风扇没有的功能,来让我们的小风扇更加的智能化,并贴近使用者的使用环境。请依照下面的组装图加上一个Boson套件的motion 传感器,并把讯号线接到1号脚位上。

什么是motion sensor呢?其实就是所谓的PIR(Passive Infrared Sensor),常见的用途就是用来侦测人体的接近(靠着生物体的红外线),有时候我们在逃生梯上下楼时,电灯自动会开启其实就是因为有这种传感器,它会自动侦测有人在走动来自动打光。

而我们想要实做的功能就是除了STEP3中有的功能以外,还要加入一个情境,如果侦测到有人的话,例如说侦测到人的手,就会自动开启电风扇,而不需要特地去压按钮还开电风扇,一起来看是如何实做的吧!

 

Micro:bit物联网课程:智能小风扇

 

以下是这个范例的程序代码

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在有人的时候自动开启风扇!

 

 

您必须 登录 才能发表评论!