raspberry pico w引脚图
1. 准备工作
板子 | 编辑器 |
---|---|
raspberry pico w | micropython(thonny编辑器) |
最新的raspberry pi pico w系统包下载地址。
点亮板载led灯
需要注意的是pico的板载led灯是GPIO25引脚,picow的板子led灯则直接用Pin包的"LED"来索引。
import machine
import time# user led is "LED"
led = machine.Pin("LED", machine.Pin.OUT)while True:led.on()time.sleep(0.5)led.off()time.sleep(0.5)
如果用led等直连到GP1和GND之间,则代码只需要简单修改led = machine.Pin("GP1", machine.Pin.OUT)
即可。
2. 驱动直流电机
这里使用DRV8833模块
我这里使用的接线:
picow | DRV8833 | DRV8833 | Motor |
---|---|---|---|
GP16 | AIN1 | AO1 | motorA2 |
GP17 | AIN2 | AO2 | motorA1 |
GP18 | BIN1 | BO1 | motorB1 |
GP19 | BIN2 | BO2 | motorB2 |
VM(接6V电池,3V驱动不了) | |||
GND | GND | ||
GP20 | STBY(置0则清空所有输出) |
示例代码每2s间隔后电机旋转2s。
import time
from machine import PinSTBY = Pin(20, Pin.OUT)
STBY.value(1)motor_A1 = Pin(17, Pin.OUT)
motor_A2 = Pin(16, Pin.OUT)motor_B1 = Pin(18, Pin.OUT)
motor_B2 = Pin(19, Pin.OUT)while True:motor_A1.value(0)motor_A2.value(1)motor_B1.value(1)motor_B2.value(0)time.sleep(2)motor_A1.off()motor_A2.off()motor_B1.off()motor_B2.off()time.sleep(2)
实物图: