当你按下手中的红外遥控器时,小车就会按照预先的程序,前进、后退、左转、右转,是不是很神奇呢?下面是我的程序代码。

#include <IRremote.h>
int RECV_PIN = 7;
int pinLB=14;
int pinLF=15;
int pinRB=16;
int pinRF=17;

long advence = 0x00FF629D; 
long back = 0x00FFA857;
long stop = 0x00FF02FD;
long left = 0x00FFA25D;
long right = 0x00FFE21D;
IRrecv irrecv(RECV_PIN);
decode_results results;

void dump(decode_results *results) {
  int count = results->rawlen;
  if (results->decode_type == UNKNOWN)  {
     Serial.println("Could not decode message");
    } 
  else  {
    if (results->decode_type == NEC) {
       Serial.print("Decoded NEC: ");
      } 
    else if (results->decode_type == SONY) {
       Serial.print("Decoded SONY: ");
      } 
    else if (results->decode_type == RC5) {
       Serial.print("Decoded RC5: ");
      } 
    else if (results->decode_type == RC6) {
       Serial.print("Decoded RC6: ");
      }
     Serial.print(results->value, HEX);
     Serial.print(" (");
     Serial.print(results->bits, DEC);
     Serial.println(" bits)");
   }
     Serial.print("Raw (");
     Serial.print(count, DEC);
     Serial.print("): ");
  for (int i = 0; i < count; i++) 
     {
      if ((i % 2) == 1) {
      Serial.print(results->rawbuf[i]*USECPERTICK, DEC);
     } 
    else  
     {
      Serial.print(-(int)results->rawbuf[i]*USECPERTICK, DEC);
     }
    Serial.print(" ");
     }
      Serial.println("");
     }
}
void setup(){
  pinMode(RECV_PIN, INPUT);   
  pinMode(pinLB,OUTPUT);
  pinMode(pinLF,OUTPUT);
  pinMode(pinRB,OUTPUT);
  pinMode(pinRF,OUTPUT);
  Serial.begin(9600);
  irrecv.enableIRIn();
 }
int on = 0;
unsigned long last = millis();
void loop() {
  if (irrecv.decode(&results)) {
    if (millis() - last > 250)  {
       on = !on;
       digitalWrite(13, on ? HIGH : LOW);
       dump(&results);
      }
    if (results.value == advence ) {

digitalWrite(pinRB,HIGH);
    digitalWrite(pinRF,LOW);
    digitalWrite(pinLB,HIGH);
    digitalWrite(pinLF,LOW);

}
    if (results.value == back ) {

digitalWrite(pinRB,LOW);
    digitalWrite(pinRF,HIGH);
    digitalWrite(pinLB,LOW);
    digitalWrite(pinLF,HIGH);

}
    if (results.value == left ) {

digitalWrite(pinRB,HIGH);
     digitalWrite(pinRF,HIGH);
     digitalWrite(pinLB,HIGH);
     digitalWrite(pinLF,LOW);

}

if (results.value == right ) {

digitalWrite(pinRB,HIGH);
     digitalWrite(pinRF,LOW);
     digitalWrite(pinLB,HIGH);
     digitalWrite(pinLF,HIGH);

}
    if (results.value == stop ) {

digitalWrite(pinRB,HIGH);
     digitalWrite(pinRF,HIGH);
     digitalWrite(pinLB,HIGH);
     digitalWrite(pinLF,HIGH); 
}       
    last = millis();      
    irrecv.resume(); 
  }
}

上传代码后,就可以遥控你的智能小车了。

arduino 红外遥控小车相关推荐

  1. arduino红外遥控库IRremote的IRsend类sendRaw函数溢出问题及其解决方法

    arduino红外遥控库IRremote的IRsend类sendRaw函数溢出问题及其解决方法 参考文章: (1)arduino红外遥控库IRremote的IRsend类sendRaw函数溢出问题及其 ...

  2. 微信小程序+UDP+wifi8266+l293d扩展板+Arduino uno遥控小车

    微信小程序+UDP+wifi8266+l293d扩展板+Arduino uno遥控小车 序言 前面突然看到自己已经落灰的Arduino板子,感觉自己必须做点什么.正好手上有个8266的模块.有个焊接接 ...

  3. Arduino开发遥控小车(三)基于nRF24L01无线模块实现舵机转向和直流电机调速

    Arduino开发遥控小车(三)基于nRF24L01无线模块实现舵机转向和直流电机调速 前面和大家分享了通过nRF24L01无线模块实现数据发送和接收的基本方法,本次继续和大家分享最终实现遥控小车转向 ...

  4. 【C应用】红外遥控小车程序分析(下)——红外传输数据程序分析

    目录 红外遥控的概述: 程序分析: 红外遥控的概述: 引自:图解红外遥控的发射和接收原理 - Noble_ - 博客园 红外线的光谱位于红色光之外,波长是0.76-1.5μm,比红光的波长还长.红外遥 ...

  5. 【单片机毕业设计】【mcuclub-cl-011】基于单片机的红外遥控小车的设计

    最近设计了一个项目基于单片机的红外遥控小车系统,与大家分享一下: 一.基本介绍 资料下载网址:www.mcuclub.cn 项目名:红外遥控小车 项目编号:mcuclub-cl-011 单片机类型:S ...

  6. 新朋实验室之玩具遥控车改装为ARDUINO蓝牙遥控小车(代码及制作过程开源)

    新朋实验室之玩具遥控车改装为ARDUINO蓝牙遥控小车(代码及制作过程开源) 2017年08月21日 12:55:25 XPLab 阅读数:4008 你家里的玩具遥控车坏了?遥控器丢了?先不要急着丢掉 ...

  7. Arduino红外遥控无源蜂鸣器播放音乐

    Arduino红外遥控无源蜂鸣器播放音乐/模拟电子琴 简介 关于频谱 实验材料 接线 实验代码 模拟电子琴 接线 代码 总结 原文链接:https://www.yourcee.com/newsinfo ...

  8. arduino红外遥控控制LED灯亮度

    红外接收和红外发射 vcc接5v或者3.3v 红外接收头的接线 IRremote库安装 如果下面运行版本报错请下载第一点的版本比如2.x.x 获取遥控器按键的值 /* 红外遥控,通过串口查看每个按钮对 ...

  9. Arduino蓝牙遥控小车

    准备材料:电机驱动板.Arduino板.蓝牙模块.小车全家桶 制作流程:一.组装小车  二.接线  三.烧录代码   四.调试蓝牙  五.测试 一.组装 按照图纸组装,有手就行.一定一定要准备螺丝刀和 ...

最新文章

  1. 在Ubuntu 14.04 64bit上使用网络诊断工具mtr
  2. C#系列五《多样化的程序分支》
  3. DevOps 的发展史
  4. 恢复应用_ofo年底裁员超50%,苹果应用市场恢复畅销榜,支付宝15周年微电影发布,MIUI来电留言功能即将下线,这就是今天的其他大新闻!...
  5. 最讨厌心灵鸡汤 所有失败最终都是人不行
  6. JAVA中线程同步的方法(7种)汇总
  7. QT学习:线程等待与唤醒
  8. win10+deepin双系统安装方法(UEFI+GPT)
  9. STL模板之vector与sort的使用
  10. Windows11 + Linux子系统(ubuntu)体验(篇一)
  11. protel99se学习笔记
  12. t分布 u分布 卡方分布_F分布、t分布、正太分布与卡方分布的联系与区别
  13. php漂浮广告代码,JS实现网站悬浮广告的代码
  14. 运行“travel[org.apache.tomcat.maven:tomcat7 maven plugin:2.1:run]时出错:未指定项目JDK
  15. JSch连接SFTP Exception:Algorithm negotiation fail问题解决
  16. 码农架构 | Spring Boot 实现通用 Auth 认证的 4 种方式
  17. Android 手机连接电脑
  18. 米兰大学计算机科学,米兰大学
  19. 实验四+070+胡阳洋
  20. 高等数学(第七版)同济大学 习题11-5 个人解答

热门文章

  1. Java数据结构与算法 一
  2. 【SpringBoot进阶】阿里云短信发送配置
  3. 2021-08-09[RoarCTF2019]黄金6年、从娃娃抓起
  4. STM32如何下载官方固件库
  5. 塔望食业洞察|中国有机食品市场研究与发展策略思考
  6. 【线性代数】4-2:投影(Porjections)
  7. 使用STM32的DFSDM外设来驱动PDM麦克风进行音频采集
  8. 英语时态:一般、否定疑问句、现表将来
  9. element实现el-progress线形进度条渐变色
  10. 性能测试(二)-重要性能指标TPS、RT