搜索代码

使用红外遥控器和Arduino控制伺服电机

使用红外遥控器和Arduino控制伺服电机

```html

使用红外遥控器和Arduino控制伺服电机

该项目展示了如何使用红外(IR)遥控器和Arduino控制伺服电机。该设置允许无线控制伺服电机的位置,适用于各种应用。

远程
IR遥控接收器VS1838B引脚
IR遥控接收器VS1838B引脚

这里有一些使用这个设置的项目想法:

  • 远程调整相机的平移和俯仰。
  • 控制机器人手臂的运动。
  • 自动化窗帘或窗帘。
  • 创作互动艺术装置。
  • 建造一辆遥控车或车辆。

硬件/组件

  • Arduino 板(例如,Uno,Nano)
  • 伺服电机
  • 红外遥控器(任何标准遥控器均可使用,但代码已为特定遥控器配置)
  • 红外接收模块(例如,TSOP1838)
  • 跳线
  • 面包板(可选)

接线指南

伺服电机有三根线:接地(通常是棕色或黑色)、电源(通常是红色)和信号(通常是橙色或白色)。红外接收器也有三根线:接地、电源(VCC)和信号。

(in video at 01:46)

IR_remote_servo_wring

  • 舵机接地到Arduino接地
  • 伺服电源至Arduino 5V
  • 伺服信号到Arduino Pin 8(视频中在02:23)
  • 红外接收器地线连接到Arduino地线
  • 红外接收器VCC连接到Arduino 5V
  • 红外接收器信号传输到 Arduino 引脚 11(视频中在 02:38)

代码解释

代码首先包含用于红外通信和伺服控制的必要库。(视频中在03:16)


#include <IRremote.h>
#include <Servo.h>

接下来,定义必要的变量。您需要根据您的特定设置来配置这些变量。(视频中 03:44)


const char type = 'B'; // 'W' for white remote, 'B' for black remote
const boolean PCB = 0;   // 1 if the IR receiver has a PCB, 0 if it's a bare module
const int SERVO_PIN = 8; // The pin connected to the servo's signal wire
int angleStep = 10;      // How many degrees the servo moves per button press
const int ANGLE_CENTRE = 90; // The center/reset position of the servo

(视频中在 05:06)

最重要的配置步骤是将遥控器按钮与特定操作匹配。代码包括不同遥控器类型(白色/黑色,PCB/非PCB)及其相应的按钮代码的数组。您需要识别您遥控器的正确代码并将其分配给所需操作(右、左、中)。 (视频中在 05:16)


const String RIGHT = ">"; // Replace with the code for your "right" button
const String LEFT = "<";  // Replace with the code for your "left" button
const String CENTRE = "OK"; // Replace with the code for your "center" button

(视频中于08:12)

servoAction()该函数根据接收到的红外信号控制伺服电机的运动。它检查收到的命令,并相应调整伺服角度。angleStep变量控制伺服器位置的增减。(在视频中时间为08:06)

实时项目/演示

(视频中在 09:56)

该视频演示了如何使用不同的遥控器控制舵机。它展示了如何调整代码以适应各种遥控器类型和接收模块。演示还涵盖了如何从自己的遥控器捕捉红外代码并将其集成到代码中。(视频时间:12:48)

章节

  • [00:00] 引言和项目概述
  • [00:36] 组件和材料
  • 接线说明
  • [03:16] 代码解释
  • [09:56] 项目演示
  • 使用您自己的远程设备

```

图像

IR遥控接收器VS1838B引脚
IR遥控接收器VS1838B引脚
SG90_servo_motor-1
SG90_servo_motor-1
remote
remote
IR_remote_servo_wring
IR_remote_servo_wring
139-Source for controlling a servo motor with an IR remote controller using Arduino
语言: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

|||您可能需要的东西

资源与参考

尚无可用资源。

文件📁

没有可用的文件。