查看: 1046|回复: 2

Micro:bit造物粒子(基于Mind+)05— 变速风扇

[复制链接]
本帖最后由 Vico 于 2018-6-12 19:22 编辑

星际飞船在宇宙中随着惯性飘荡着,看着舷窗外明暗交替的灯光。
船舱内的温度也慢慢升高了起来,麦克的额头上都渗出了汗珠。麦克擦了一把汗说:“我们来做个小风扇凉快凉快吧。”micro:bit立刻表示赞成。
但是两人却有点无从下手,突然麦克灵机一动,想到了小米老师上节课所教给同学们的内容,呼吸灯的明暗变化不就是一个风扇的变速原理吗。于是,麦克和micro:bit开始了小风扇的制作。

所需元件
1× micro:bit主控板
截图201806121448414883.png
1× micro:bit扩展板
截图201806121449247836.png
1×风扇模块
截图201806121449508074.png

与家用风扇的原理相似,内部有马达,扇叶可以旋转,转速可以调整。
1× 按钮模块
截图201806121450129224.png


1× 旋钮模块
截图201806121453187437.png

1× MicroUSB 连接线
截图201806121453315346.png

任务一:按钮风扇实现功能
当按下按钮的时候,外接风扇转动,松开按钮以后,风扇停止转动。
硬件连接
把按钮模块(旋钮模块)接到扩展板P0号接口上;

把风扇模块接到扩展板P1号接口上。
截图201806121454132588.png

风扇模块的使用
硬件连接时,我们将micro:bit与电脑相连接,进行程序调试和下载;

实验中,由于风扇或舵机等传感器的耗电量较大,所以,需要外接电源(或电脑USB口)独立供电。外接电源接在扩展板的外接电源接口VIN。
截图201806121454365739.png

通过检测P0号引脚的值判断按钮是否被按下。当按钮被按下时,设置风扇连接引脚为高电平,风扇转动,当松开按钮时,设置风扇连接引脚为低电平,风扇停止转动。

STEP1:按钮模块属于数字输入,单击“microbit”模块,选择“读取数字引脚P0”指令,并拖到脚本区。
截图201806121455211357.png

STEP2:“运算符”模块中的“ =  ”可以判断按钮是否被按下,如果按钮值为“1”成立,说明按钮被按下,否则,按钮没有被按下。将“数字读取引脚P0”嵌套在等式中
截图201806121456202466.png

STEP3:条件判断——怎样判断按钮是否按下?在“控制”模块中找到“如果那么执行,否则执行”指令。拖入脚本区的循环模块中。
截图201806121456474885.png

STEP4:将“ =  ”左右成立的条件指令嵌套到判断指令“如果那么执行,否则执行”中。
截图201806121457443252.png

STEP5:“microbit”模块中找到“设置数字引脚P0 输出 低电平”指令,将指令修改成“设置数字引脚P1 输出 高电平”和“设置数字引脚P1 输出 低电平”,分别放在“那么执行”和“否则执行”下面,当按钮按下之后,就会执行这个指令让风扇转起来。松开按钮的时候,风扇停止转动。
截图201806121458168101.png

任务二:变速风扇
实现功能
当旋钮旋至较大值时,micro:bit控制风扇转速增大;当旋钮旋至较小值时,micro:bit控制风扇转速变小。旋钮的旋转值不同,对应的风扇转速不同。
硬件连接
将任务一按钮风扇用到的按钮模块换成旋钮模块。
截图201806121459061445.png
编写程序
通过读取旋钮的值,来决定风扇转动的速度。旋钮的值为模拟值,取值范围在0-1023之间,将其值映射为风扇的速度值。
STEP1:旋钮连接板子的P0号引脚,单击“microbit”模块,选择“读取模拟引脚P0”指令,并拖到脚本区。
截图201806121459442031.png

STEP2:风扇的速度由P0对应的旋钮值决定,将P0的值赋值给P1,可以控制风扇速度的改变。Microbit板的读取模拟引脚(旋钮)的值范围是0-1023,比输出模拟(风扇)的范围0-255大,旋钮的参数范围远远超过了输出范围,除了可以使用“ /  (除号)”模块缩小范围,也可以使用“映射”指令,将0-1023的范围映射缩小到0-255

将“运算符”模块中的“映射 从__到__”拖入脚本区,将“读取模拟引脚P0”放在“映射”两字的右侧框里,将数值改为“从 [0,1023] 到 [0,255]”。
截图201806121500502687.png
STEP3:将“microbit”模块中的“设置模拟引脚P0 输出 ”拖入脚本区的“循环执行”中,将P0改为P1。并两个指令嵌套在一起。
截图201806121502004716.png
能力提升
旋钮和按钮只能控制小等和风扇吗,能不能控制其他的硬件呢?编个程序旋钮或者按钮,控制点阵屏试试看吧。







rzyzzxw  版主

发表于 2018-6-13 09:16:15

本帖最后由 rzyzzxw 于 2018-6-13 09:21 编辑

老师课程写得很棒。邀请你加入我们社群,一起玩bit吧。
回复 支持 反对

使用道具 举报

Vico  初级技师
 楼主|

发表于 2018-6-15 17:58:51

rzyzzxw 发表于 2018-6-13 09:16
老师课程写得很棒。邀请你加入我们社群,一起玩bit吧。

好的呀,感谢!已经加您啦
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2016 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail