本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页
最热资讯


亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」
如何使用Raspberry Pi Pico控制直流电动机呢?我们可以将它们直接连接到GPIO吗?答案是不。
Raspberry Pi Pico的GPIO引脚无法提供直流电机所需的电流,如果尝试尝试,很可能会损坏Pico。相反,我们需要一个电动机控制器,充当Pico和电动机之间的桥梁。我们打开/关闭两个Pico GPIO引脚,它们控制马达控制器,马达控制器依次打开/关闭两个输出以使马达运动。
对于此项目,您将需要
使用Raspberry Pi Pico的直流电动机的硬件设置
我们在该项目中使用的芯片是DRV8833,我们的特定版本是为面包板制作的,但是还有许多其他版本,包括设计用于嵌入机器人的版本。市场上还有其他电机控制器,例如L298D和L9110S,它们是机器人技术的简单且价格合理的组件。所有电机控制器共享相同的输入/输出约定。
Raspberry Pi Pico直流电动机的软件设置
建立电路后,连接您的Raspberry Pi Pico并打开Thonny应用程序。
import utime
from machine import Pin
2.创建两个对象,motor1a和motor1b。这些将存储用作输出的GPIO引脚号,以控制DRV8833电机控制器。
motor1a = Pin(14, Pin.OUT)
motor1b = Pin(15, Pin.OUT)
3.创建一个使电动机“前进”的功能。为此,我们需要告诉一个引脚拉高,另一个引脚拉低。这继而将我们的预期方向传达给电机控制器,并且相应的输出引脚将紧随其后,迫使电机向设定方向移动。
def forward():
motor1a.high()
motor1b.low()
4.创建一个向后移动的功能。这会看到GPIO引脚状态反转,从而导致电动机沿相反方向旋转。
def backward():
motor1a.low()
motor1b.high()
5.创建一个停止电动机的功能。通过将两个引脚都拉低,我们告诉电动机控制器停止电动机的所有运动。
def stop():
motor1a.low()
motor1b.low()
6.创建一个最终的“测试”功能,该功能将调用先前的功能,并运行一个测试序列,以使电动机“向前”旋转两秒钟,然后“向后”旋转两秒钟。然后它将停止电动机。
def test():
forward()
utime.sleep(2)
backward()
utime.sleep(2)
stop()
7.创建一个for循环,该循环将运行测试功能五次。
for i in range(5):
test()
将代码作为motor.py保存到Raspberry Pi Pico,然后单击绿色箭头以运行代码。电机将双向旋转五次。
如何在Raspberry Pi Pico中使用I2C引脚 I2C扫描器代码
2021-03-23
如何在Raspberry Pi Pico中使用超声波传感器
2021-02-15
基于ATMEGAl6单片机和分级转向模块实现智能寻迹车模系统的设计
2020-05-12
如何在Raspberry Pi Pico中使用运动传感器
2021-02-16
基于Raspberry Pi Pico的家庭自动化系统
2021-03-26
讨论