不知道大家是否还记得小时候家里的吊扇,一共有五个档位,通过旋转按钮控制风扇的档位,那我们今天呢就来模拟下这个系统,利用旋转按钮来控制直流电机的转速。
所需原器件:
TurnipBit一块
TurnioBit扩展板一块
杜邦线若干
usb数据线一条
旋转按钮模块模块一个
直流电机一个
L298N电机驱动模块一个
实验原理:
L298N是一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46v,输出电流大,瞬间峰值电流可达3A,持续工作电流为2A,额定功率25w。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电机和步进电机,继电器线圈等感性负载。采用标准逻辑电平信号控制,具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作,可外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可驱动一台两相步进电机或四相步进电机,也可驱动两台直流电机。
6.4.接线方法:
|
TurnipBit扩展板 |
按键模块 |
3V3 |
VCC |
P5 |
OUT |
GND |
GND |
Turnip扩展板 |
L298N电机驱动模块 |
5V |
+12V |
GND |
GND |
3V3 |
+5V |
P0 |
IN3 |
GND |
IN4 |
L298N电机驱动模块 |
直流小电机 |
OUT3 |
直流小电机某一段 |
OUT4 |
直流小电机另一段 |
6.5. 源代码:
通过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)