不知道大家是否还记得小时候家里的吊扇,一共有五个档位,通过旋转按钮控制风扇的档位,那我们今天呢就来模
拟下这个系统,利用旋转按钮来控制直流电机的转速。
所需原器件:
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)