亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

制作 4WD 红外遥控 Arduino 智能小车套件

元器件与物料

元器件 数量 备注
WINGONEER 红外遥控接收模块套件 1 含遥控器与接收头
SainSmart L298N 双 H 桥步进电机驱动板 1 驱动 4 个直流电机
4WD 智能小车底盘套件 1 含车架、电机、轮子
Arduino UNO 1 主控板

所需工具与设备

项目简介

基于 Instructables 上的履带车设计改装而成的 4WD 版本。原设计中电机运行产生的反向电动势干扰红外接收,作者通过修改红外接收引脚分配解决了该问题。使用 SainSmart 4WD 底盘套件组装车身。

制作 4WD 红外遥控 Arduino 智能小车套件

红外接收模块接线

int receiver_pin = 4; // IR 接收信号脚 -> Arduino D4
int vcc = 5;          // IR VCC -> Arduino D5 (供电)
int gnd = 6;          // IR GND -> Arduino D6 (地)
制作 4WD 红外遥控 Arduino 智能小车套件

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 (共地关键)

制作 4WD 红外遥控 Arduino 智能小车套件

L298N 到电机接线

// 电机组 A (右侧)

// 电机组 B (左侧)

电池接 L298N 「+」到 VCC、「-」到 GND

制作 4WD 红外遥控 Arduino 智能小车套件
制作 4WD 红外遥控 Arduino 智能小车套件

代码

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 控制正反转

原理图

制作 4WD 红外遥控 Arduino 智能小车套件

制造工艺

  1. 避孕药:历史、获益、风险与生产
  2. 树莓派 LIRC 通用红外遥控器专业构建指南
  3. 全自动泳池注水与监控系统:树莓派+低功耗Arduino传感器网络
  4. 远程心率监测系统:AWS IoT 告警 + 树莓派 Windows IoT 可视化
  5. 改造废弃红外遥控器控制树莓派:LIRC实现关机重启
  6. 控制电路:基础、应用与最佳实践
  7. 云监控:实时资产管理的远程控制系统
  8. 现代工业远程生产控制的5大核心优势
  9. 桥式起重机遥控系统:提升仓储安全与效率的关键技术
  10. 三菱工业机器人的安全远程访问与控制方案
  11. Delta Controls enteliBUS 漏洞:楼宇系统远程控制风险暴露
  12. C# 构造函数:类型、示例与高级模式完全指南