学过物理学的我们都知道换挡风扇的原理,一般按钮控制电感分压或者电容分压,以达到控制电流的目的。那么我们可不可以使用Turnipbit模拟这个系统呢?其实是很简单的。类似于之前用Tpyboard做的智能温控小风扇,有兴趣的同学也可以了解下。
所需原器件:
Ø Turnipbit一块
Ø Turniobit扩展板一块
Ø 杜邦线若干
Ø usb数据线一条
Ø 按键模块一个
Ø 直流电机一个
Ø L298N电机驱动模块一个
Ø 四叶风扇一个
原理很简单 通过按钮模块给Turnipbit发出指令,Turnipbit将指令反馈给L298N,从而达到驱动直流小电机的目的。
L298N是一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46v,输出电流大,瞬间峰值电流可达3A,持续工作电流为2A,额定功率25w。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电机和步进电机,继电器线圈等感性负载。采用标准逻辑电平信号控制,具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作,可外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可驱动一台两相步进电机或四相步进电机,也可驱动两台直流电机。
6.4.接线方法:
Turnipbit扩展板与发光二极管接口对应如下表:
源代码:
通过Turnipbit可视化编程编写代码
打开Turnipbit拖拽地址http://www.turnipbit.com/
可视化编程:
源代码:
from microbit import *
speed_list = [423, 623, 1023]
pin0.write_analog(1023)
numbrt = 0
while True:
display.show(Image.YES)
if pin5.read_digital():
numbrt = numbrt + 1
if numbrt > 3:
numbrt = 1
pin0.write_analog((speed_list[int(numbrt - 1)]))
flag = str(numbrt) + str('')
display.show(flag)
sleep(5000)