arduinoUNO L892N红外遥控小车,实现按键前进后退左转右转

时间: 2024-01-06 14:04:04 浏览: 48
为了实现您想要的功能,您需要先准备好以下材料: - Arduino UNO 开发板 - L298N 电机驱动模块 - 2个直流电机 - HC-SR04 超声波传感器 - 红外遥控器模块 - 面包板 - 杜邦线 - 电池盒和电池 接下来,您可以按照以下步骤来实现按键前进后退左转右转的功能: 1. 将 L298N 电机驱动模块连接到 Arduino UNO 开发板上。将 IN1、IN2、IN3 和 IN4 分别连接到 Arduino 的数字引脚 5、6、9 和 10 上,将 ENA 和 ENB 分别连接到数字引脚 3 和 11 上。 2. 将两个直流电机分别连接到 L298N 电机驱动模块上的 OUT1 和 OUT2 引脚和 OUT3 和 OUT4 引脚。 3. 接下来,将 HC-SR04 超声波传感器连接到 Arduino 上。将 Trig 引脚连接到数字引脚 12 上,将 Echo 引脚连接到数字引脚 13 上。 4. 将红外遥控器模块连接到 Arduino 上。将模块的 VCC 引脚连接到 Arduino 的 5V 引脚上,将 GND 引脚连接到 GND 引脚上,将接收器的 OUT 引脚连接到数字引脚 2 上。 5. 在 Arduino IDE 中编写程序。您可以使用如下代码作为参考: ```c #include <IRremote.h> //定义红外遥控器的按键值 #define KEY_UP 0xFF18E7 #define KEY_DOWN 0xFF4AB5 #define KEY_LEFT 0xFF10EF #define KEY_RIGHT 0xFF5AA5 #define KEY_STOP 0xFF38C7 //定义电机驱动模块的引脚 #define ENA 3 #define IN1 5 #define IN2 6 #define IN3 9 #define IN4 10 #define ENB 11 //定义超声波传感器的引脚 #define Trig 12 #define Echo 13 IRrecv irrecv(2); decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); pinMode(ENA, OUTPUT); pinMode(ENB, OUTPUT); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); pinMode(Trig, OUTPUT); pinMode(Echo, INPUT); } void loop() { if (irrecv.decode(&results)) { switch (results.value) { case KEY_UP: forward(); break; case KEY_DOWN: backward(); break; case KEY_LEFT: left(); break; case KEY_RIGHT: right(); break; case KEY_STOP: stop(); break; default: break; } irrecv.resume(); } } void forward() { digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW); analogWrite(ENA, 200); analogWrite(ENB, 200); } void backward() { digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); analogWrite(ENA, 200); analogWrite(ENB, 200); } void left() { digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW); analogWrite(ENA, 200); analogWrite(ENB, 200); } void right() { digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); analogWrite(ENA, 200); analogWrite(ENB, 200); } void stop() { digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); analogWrite(ENA, 0); analogWrite(ENB, 0); } ``` 6. 上传程序到 Arduino 开发板上,并测试。当您按下红外遥控器上的不同按键时,小车会前进、后退、左转或右转。 希望这个回答能够帮助您实现您的想法。

相关推荐

最新推荐

recommend-type

stm32红外遥控的外部中断实现

花了整整两天时间终于算是基本把红外解码搞明白了,其实并不是很难,用了两天时间,说来惭愧啊,原因就是细节上的问题,不过最终总算找出问题来了。使用外部中断来解码,就先对外部中断进行配置吧
recommend-type

Android编程调用红外线遥控功能示例

主要介绍了Android编程调用红外线遥控功能,结合实例形式分析了Android红外线功能的相关组件调用与布局操作实现技巧,需要的朋友可以参考下
recommend-type

基于STM32的红外遥控实验

本章,我们将向大家介绍如何通过STM32来解码红外遥控器的信号。ALIENTK战舰STM32开发板标配了红外接收头和一个很小巧的红外遥控器。在本章中,我们将利用STM32的输入捕获功能,解码开发板标配的这个红外遥控器的编码...
recommend-type

红外遥控器软件解码原理和程序

5ms的低电平组成,跟着引导码是系统码,系统反码,按键码,按键反码,如果按着键不放,则遥控器则发送一段重复码,重复码由9ms的高电平,2。25ms的低电平,跟着是一个短脉冲, 本程序经过试用,能解大部分遥控器的...
recommend-type

红外遥控玩具小车驱动程序

其中包括红外编码程序,红外解码程序以及小车驱动程序,在自动模式下小车还可以完成自动寻迹和壁障。
recommend-type

STC89C51 简单时钟

STC89C51 简单时钟,叫你从基础开始学习单片机,
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB归一化方法大比拼:5种方法,哪种最适合你的数据?

![MATLAB归一化方法大比拼:5种方法,哪种最适合你的数据?](https://www.finebi.com/wp-content/uploads/2019/11/FineBI%E8%A1%8C%E4%B8%9A%E9%A9%BE%E9%A9%B6%E8%88%B1-1024x510.png) # 1. MATLAB归一化概述 归一化是一种数据预处理技术,用于将数据缩放到特定范围内,从而消除不同特征之间的尺度差异。在MATLAB中,有各种归一化方法可用于不同类型的数据和应用程序。 归一化的主要目的是: - 提高模型的训练效率和准确性,通过消除特征之间的尺度差异,使模型能够更有效地学习
recommend-type

failed to register layer: ApplyLayer exit status 1 stdout: stderr: archive/tar: invalid tar header

很抱歉听到这个问题。这个错误通常是由于Docker镜像损坏或Docker存储库中缺少所需的图层引起的。您可以尝试以下几种方法来解决这个问题: 1. 清理Docker镜像和容器:使用命令“docker system prune”清理不再使用的Docker对象。 2. 检查Docker存储库:确保您正在使用可靠的Docker存储库,并检查是否存在所有必需的图层。 3. 重新下载Docker镜像:如果您确定问题是由于损坏的Docker镜像引起的,则可以尝试重新下载Docker镜像。 4. 更新Docker版本:如果您使用的是旧版Docker,则可能会出现此问题。尝试更新到最新版本的Docke
recommend-type

Linux系统常用操作命令大全手册

附件是Linux系统常用操作命令大全手册,是 markdown格式,其中覆盖了Linux系统管理、文件操作、网络配置等多个方面,都是日常工作中非常常用的命令,欢迎大家下载学习使用!