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 Pin
STBY = 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)
实物图: