美文网首页arduino我爱编程
Arduino 红外遥控电机

Arduino 红外遥控电机

作者: wwyyzz | 来源:发表于2018-01-21 00:15 被阅读93次
Arduino 红外遥控电机

1-使用元件:

  • HX1838遥控模块 1838红外接收模块
  • L298N电机驱动板
  • 电机
  • 遥控器
  • ARDUINO UNO
  • 面包板
  • 跳线

2-实现功能

1、通过遥控器的1-控制左侧电机前进,4-控制左侧电机停止, 7-控制左侧电机后退
2、通过遥控器的3-控制右侧电机前进,6-控制右侧电机停止, 9-控制右侧电机后退

3-代码:

#include <IRremote.h>

long Left_Forward = 0x00FF30CF;
long Left_Stop = 0x00FF10EF;
long Left_Backward = 0x00FF42BD;

long Right_Forward = 0x00FF7A85;
long Right_Stop = 0x00FF5AA5;
long Right_Backward = 0x00FF52AD;


int input1 = 5; // 定义uno的pin 5 向 input1 输出   
int input2 = 6; // 定义uno的pin 6 向 input2 输出  
int input3 = 9; // 定义uno的pin 9 向 input3 输出  
int input4 = 10; // 定义uno的pin 10 向 input4 输出  

int RECV_PIN = 2;//定义红外接收器的引脚为2
IRrecv irrecv(RECV_PIN);
decode_results results;
  
  
void setup() {  
Serial.begin (9600);
irrecv.enableIRIn(); // 初始化红外接收器  
//初始化各IO,模式为OUTPUT 输出模式  
pinMode(input1,OUTPUT);  
pinMode(input2,OUTPUT);  
pinMode(input3,OUTPUT);  
pinMode(input4,OUTPUT);  
  
}  
  
void loop() {  
  //forward 向前转 
  if (irrecv.decode(&results)){
    if(results.value == Left_Forward){
        digitalWrite(input1,HIGH); //给高电平  
        digitalWrite(input2,LOW);  //给低电平 
      }
    if(results.value == Left_Stop){
        digitalWrite(input1,LOW); //给高电平  
        digitalWrite(input2,LOW);  //给低电平 
      }   
    if(results.value == Left_Backward){
        digitalWrite(input1,LOW); //给高电平  
        digitalWrite(input2,HIGH);  //给低电平 
      }   

    if(results.value == Right_Forward){
        digitalWrite(input3,HIGH); //给高电平  
        digitalWrite(input4,LOW);  //给低电平 
      }
    if(results.value == Right_Stop){
        digitalWrite(input3,LOW); //给高电平  
        digitalWrite(input4,LOW);  //给低电平 
      }   
    if(results.value == Right_Backward){
        digitalWrite(input3,LOW); //给高电平  
        digitalWrite(input4,HIGH);  //给低电平 
      }
    irrecv.resume();
    }   
  
} 

相关文章

  • Arduino 红外遥控电机

    1-使用元件: HX1838遥控模块 1838红外接收模块 L298N电机驱动板 电机 遥控器 ARDUINO U...

  • Arduino 红外遥控

    从左至右分别为OUT、GND、VCC 实验一 读取遥控器按键值通过串口发送值电脑。 接线 Nano功能接收头D9数...

  • 从零开始DIY一辆蓝牙遥控小车

    关键词:遥控小车;Arduino;直流电机;L298N电机驱动板;串口蓝牙模块 一、简介 本项目使用Arduino...

  • 03月13日长光培训嵌入式学习第三十八天

    今天围绕步进电机控制进行红外遥控器的学习。上午老师对红外遥控器NEC通信协议进行了讲解,由于红外接受装置只有一个P...

  • 蓝牙遥控赛车

    从零开始DIY一辆蓝牙遥控小车 关键词:遥控小车;Arduino;直流电机;L298N电机驱动板;串口蓝牙模块 一...

  • arduino蓝牙透传 解决arduino在蓝牙透传受控端 卡顿

    最近在使用arduino蓝牙透传遥控自己的步进电机发时候现很奇怪,预定的电机转动延时没有正常执行,电机一卡...

  • arduino——红外遥控1(笔记)

    踩过一堆坑后终于来到了非常好玩,的红外遥控项目。 (其中红外发光二极管不太肯定,没有明显的型号供查询,没关系实验即...

  • arduino——红外遥控2(笔记)

    红外发射 上篇写的是红外接收,而这里是与之相对的红外发射信号,IRremote库只能使用3好引脚作为红外信号输出脚...

  • 3月14日

    今天上午是对红外遥控器进行完善,下午是通过红外遥控器来控制步进电机的转动。 明白意思,一开始也写出了程序,但是没实...

  • 2018-03-13

    今天这个红外线遥控器控制步进电机好难啊,处于懵逼状态,继续努力,加油。

网友评论

    本文标题:Arduino 红外遥控电机

    本文链接:https://www.haomeiwen.com/subject/tlpxaxtx.html