树莓派4B让智能小车拥有了"大脑"——它不仅能控制电机,还能运行Linux系统、处理图像、连接WiFi。本文教你打造一台真正的AI智能小车。
一、所需材料
主控:树莓派4B(建议4GB内存版本)× 1
驱动:L298N电机驱动模块 × 1 + 直流减速电机 × 2
底盘:亚克力小车底盘套装 × 1 + 万向轮 × 1
电源:12V 3S航模锂电池 + 降压模块(输出5V 3A给树莓派)
摄像头:USB免驱摄像头或树莓派专用CSI摄像头 × 1
其他:16GB以上TF卡、读卡器、杜邦线、铜柱螺丝套装
二、系统安装
1. 使用树莓派官方镜像工具(Raspberry Pi Imager)将Raspbian系统写入TF卡。
2. 写完后在boot分区新建名为ssh的空文件(启用SSH),再新建wpa_supplicant.conf文件配WiFi。
3. 将TF卡插入树莓派,通电启动,在路由器后台找到树莓派IP地址,用SSH连接。
4. 执行 sudo raspi-config 开启摄像头、I2C、SPI接口。
5. 更新系统:sudo apt update && sudo apt upgrade -y
三、硬件接线
树莓派的GPIO引脚电压为3.3V,而L298N逻辑输入需要5V,所以需要用逻辑电平转换模块或直接使用L298N的板载稳压。
接线方案:
L298N IN1 → GPIO17(物理引脚11)
L298N IN2 → GPIO18(物理引脚12)
L298N IN3 → GPIO22(物理引脚15)
L298N IN4 → GPIO23(物理引脚16)
L298N ENA → GPIO24(物理引脚18,PWM调速)
L298N ENB → GPIO25(物理引脚22,PWM调速)
L298N GND → 树莓派GND(共地)
注意:L298N需要12V供电给电机,但树莓派需要用独立的5V电源(降压模块从12V取电),不要直接用L298N的5V输出给树莓派供电,电流不够。
四、Python控制程序
import RPi.GPIO as GPIO
import time
# 引脚定义
IN1, IN2, IN3, IN4 = 17, 18, 22, 23
ENA, ENB = 24, 25
GPIO.setmode(GPIO.BCM)
for pin in [IN1,IN2,IN3,IN4,ENA,ENB]:
GPIO.setup(pin, GPIO.OUT)
GPIO.output(pin, GPIO.LOW)
# 初始化PWM(频率1000Hz)
pwm_a = GPIO.PWM(ENA, 1000)
pwm_b = GPIO.PWM(ENB, 1000)
pwm_a.start(80)
pwm_b.start(80)
def forward():
GPIO.output(IN1, GPIO.HIGH)
GPIO.output(IN2, GPIO.LOW)
GPIO.output(IN3, GPIO.HIGH)
GPIO.output(IN4, GPIO.LOW)
def backward():
GPIO.output(IN1, GPIO.LOW)
GPIO.output(IN2, GPIO.HIGH)
GPIO.output(IN3, GPIO.LOW)
GPIO.output(IN4, GPIO.HIGH)
def turn_left():
GPIO.output(IN1, GPIO.LOW)
GPIO.output(IN2, GPIO.HIGH)
GPIO.output(IN3, GPIO.HIGH)
GPIO.output(IN4, GPIO.LOW)
def turn_right():
GPIO.output(IN1, GPIO.HIGH)
GPIO.output(IN2, GPIO.LOW)
GPIO.output(IN3, GPIO.LOW)
GPIO.output(IN4, GPIO.HIGH)
def stop():
for pin in [IN1,IN2,IN3,IN4]:
GPIO.output(pin, GPIO.LOW)
try:
forward()
time.sleep(3)
turn_left()
time.sleep(1)
forward()
time.sleep(3)
stop()
finally:
GPIO.cleanup()
保存为 car.py,用 sudo python3 car.py 运行。
五、OpenCV视觉追踪(进阶)
安装OpenCV:sudo apt install python3-opencv
编写颜色追踪脚本,识别人脸或红色目标,根据目标位置控制小车转向。树莓派4B的CPU可以流畅运行简单的OpenCV视觉任务。
六、常见问题
Q:树莓派供电不足怎么办?
A:务必使用独立的5V 3A降压模块给树莓派供电。电机启动瞬间电流很大,会和树莓派抢电。
Q:GPIO控制电机没反应?
A:L298N的逻辑地(GND)必须和树莓派的GND连在一起。2. 检查引脚编号模式(BCM vs BOARD)。

微信联系
淘宝联系