制作 4WD 红外遥控 Arduino 智能小车套件
元器件与物料
| 元器件 | 数量 | 备注 |
|---|---|---|
| WINGONEER 红外遥控接收模块套件 | 1 | 含遥控器与接收头 |
| SainSmart L298N 双 H 桥步进电机驱动板 | 1 | 驱动 4 个直流电机 |
| 4WD 智能小车底盘套件 | 1 | 含车架、电机、轮子 |
| Arduino UNO | 1 | 主控板 |
所需工具与设备
- 电烙铁 (通用)
项目简介
基于 Instructables 上的履带车设计改装而成的 4WD 版本。原设计中电机运行产生的反向电动势干扰红外接收,作者通过修改红外接收引脚分配解决了该问题。使用 SainSmart 4WD 底盘套件组装车身。
红外接收模块接线
int receiver_pin = 4; // IR 接收信号脚 -> Arduino D4
int vcc = 5; // IR VCC -> Arduino D5 (供电)
int gnd = 6; // IR GND -> Arduino D6 (地)
L298N 电机驱动模块接线
电机 A (右侧双电机并联):
int enA = 8; // PWM 速度控制
int in1 = 12; // 方向控制 1
int in2 = 11; // 方向控制 2
电机 B (左侧双电机并联):
int enB = 7; // PWM 速度控制
int in3 = 10; // 方向控制 1
int in4 = 9; // 方向控制 2
L298N GND 接 Arduino GND (共地关键)
L298N 到电机接线
// 电机组 A (右侧)
- 电机「+」 (红线) -> Out 4
- 电机「-」 (黑线) -> Out 3
// 电机组 B (左侧)
- 电机「+」 (红线) -> Out 2
- 电机「-」 (黑线) -> Out 1
电池接 L298N 「+」到 VCC、「-」到 GND
代码
IR Remote control car (C++)
#include <IRremote.h>
char command;
int receiver_pin = 4;
int vcc = 5;
int gnd = 6;
int statusled = 13;
IRrecv irrecv(receiver_pin);
decode_results results;
// 电机引脚定义同上
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(statusled, OUTPUT);
digitalWrite(statusled, LOW);
// 设置所有电机控制引脚为输出
pinMode(enA, OUTPUT); pinMode(enB, OUTPUT);
pinMode(in1, OUTPUT); pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT); pinMode(in4, OUTPUT);
pinMode(vcc, OUTPUT); pinMode(gnd, OUTPUT);
digitalWrite(vcc, HIGH); // 给 IR 模块供电
}
void loop() {
if (irrecv.decode(&results)) {
digitalWrite(statusled, LOW);
irrecv.resume();
switch (results.value) {
case 0xFF18E7: // 按键 2 - 前进
forward(); break;
case 0xFF10EF: // 按键 4 - 左转
turnLeft(); break;
case 0xFF30CF: // 按键 1 - 原地左旋
rotateLeft(); break;
case 0xFF5AA5: // 按键 6 - 右转
turnRight(); break;
case 0xFF7A85: // 按键 3 - 原地右旋
rotateRight(); break;
case 0xFF4AB5: // 按键 8 - 后退
backward(); break;
case 0xFF38C7: // 按键 5 - 停止
stopCar(); break;
}
}
}
// 电机控制函数 (forward, backward, turnLeft, turnRight, rotateLeft, rotateRight, stopCar)
// 均使用 analogWrite(enA/enB, 100) 设置速度 (0-255)
// 通过 in1-in4 控制正反转
原理图
制造工艺
- 避孕药:历史、获益、风险与生产
- 树莓派 LIRC 通用红外遥控器专业构建指南
- 全自动泳池注水与监控系统:树莓派+低功耗Arduino传感器网络
- 远程心率监测系统:AWS IoT 告警 + 树莓派 Windows IoT 可视化
- 改造废弃红外遥控器控制树莓派:LIRC实现关机重启
- 控制电路:基础、应用与最佳实践
- 云监控:实时资产管理的远程控制系统
- 现代工业远程生产控制的5大核心优势
- 桥式起重机遥控系统:提升仓储安全与效率的关键技术
- 三菱工业机器人的安全远程访问与控制方案
- Delta Controls enteliBUS 漏洞:楼宇系统远程控制风险暴露
- C# 构造函数:类型、示例与高级模式完全指南