红外遥控智能小车 源码
// 红外遥控智能小车
//高手是只需要代码就能知道所需的元器件的,~~~~~~~~~~~~~~~~~~
// 不可调节电机速度,调节pwm值会影响红外的信号接收。
请笑纳,客官,
推荐一张背景图片给大家,不谢。
//主程序#include <IRremote.h> //自己配置IRredmote库
int RECV_PIN = 11; //红外接收端口
IRrecv irrecv(RECV_PIN);
decode_results results; //结构声明
int Left_motor_back=5; //左电机后退(IN1)
int Left_motor_go=6; //左电机前进(IN2)
int Right_motor_go=9; // 右电机前进(IN3)
int Right_motor_back=10; // 右电机后退(IN4)void setup() //初始化电机驱动IO为输出方式
{pinMode(L_motor_go,OUTPUT); // PIN 5 (PWM引脚)pinMode(L_motor_back,OUTPUT); // PIN 6 (PWM引脚)pinMode(R_motor_go,OUTPUT); // PIN 9 (PWM引脚)pinMode(R_motor_back,OUTPUT); // PIN 10 (PWM引脚)pinMode(13, OUTPUT); //端口模式,输出Serial.begin(9600); //设置波特率为9600irrecv.enableIRIn(); // Start the receiver
}void run() // 前进
{digitalWrite(R_motor_go,HIGH); // 右电机前进digitalWrite(R_motor_back,LOW); digitalWrite(L_motor_go,HIGH); // 左电机前进digitalWrite(L_motor_back,LOW);
}void brake() //刹车,停车
{digitalWrite(R_motor_go,LOW);digitalWrite(R_motor_back,LOW);digitalWrite(L_motor_go,LOW);digitalWrite(L_motor_back,LOW);
}void left() //左转(左轮不动,右轮前进)
{digitalWrite(R_motor_go,HIGH); // 右电机前进digitalWrite(R_motor_back,LOW);digitalWrite(L_motor_go,LOW); //左轮不动digitalWrite(L_motor_back,LOW);
}void spin_left() //左转(左轮后退,右轮前进)
{digitalWrite(R_motor_go,HIGH); // 右电机前进digitalWrite(R_motor_back,LOW);digitalWrite(L_motor_go,LOW); //左轮后退digitalWrite(L_motor_back,HIGH);
}void right() //右转(右轮不动,左轮前进)
{digitalWrite(R_motor_go,LOW); //右电机不动digitalWrite(R_motor_back,LOW);digitalWrite(L_motor_go,HIGH); //左电机前进digitalWrite(L_motor_back,LOW);
}void spin_right() //右转(右轮后退,左轮前进)
{digitalWrite(R_motor_go,LOW); //右电机后退digitalWrite(R_motor_back,HIGH);digitalWrite(L_motor_go,HIGH); //左电机前进digitalWrite(L_motor_back,LOW);
}void back() //后退
{digitalWrite(R_motor_go,LOW); //右轮后退digitalWrite(R_motor_back,HIGH);digitalWrite(L_motor_go,LOW); //左轮后退digitalWrite(L_motor_back,HIGH);
}void read_key() //读取各个按键
{if(irrecv.decode(&results)){ //如果接收到信息Serial.print("code:");Serial.println(results.value,HEX); //results.value为16进制,unsigned longSerial.print("bits:");Serial.println(results.bits); //输出元位数irrecv.resume();}
}void loop()
{read_key();if(irrecv.decode(&results)){ //如果接收到信息switch(results.value){case 0xFD8877: //前,对应2run();break;case 0xFD9867: //后,对应8back();break;case 0xFD28D7: //左,对应4left();break;case 0xFD6897: //右,对应6right();break;case 0xFDA857: //停止,对应5brake();break;default:break;}irrecv.resume();}
}
红外遥控智能小车 源码相关推荐
- 【STM32 .Net MF开发板学习-16】Zigbee遥控智能小车
Zigbee技术目前在物联网领域和RFID一样,受关注度非常高.日前中科院上海微系统与信息技术研究所.无锡物联网产业研究院等传感器网络标准工作组成员单位联合发布了名为VW628.WSNS1_SCBR的 ...
- 【STM32 .Net MF开发板学习-17】Wifi遥控智能小车
恰好以前购买的一个PDA含Wifi功能,所以与其用PC通过Zigbee控制智能小车,不如用PDA来控制,这样更为方便,不过由于目前.NET MF开发板不直接支持Wifi功能,所以我们也只好间接控制了, ...
- 【STM32 .Net MF开发板学习-21】蓝牙遥控智能小车(PC模式)
上篇文章我们用手机上的蓝牙去控制智能小车,这次我们直接用笔记本上的蓝牙模块来控制小车,这样利用PC更为强大的运算能力,就可以扩展出更多有意思的功能来. 下面就是PC蓝牙模块的设置步骤(注意,需保证与小 ...
- 【STM32 .Net MF开发板学习-18】GPRS遥控智能小车
有了Wifi间接控制智能小车的经验,很自然的想到,也可以通过GPRS远程遥控智能小车,因为从通信原理上看,二者其实没有什么本质的不同,都是基于Socket的TCP通信,其控制环节如下: 手机 ===& ...
- c+智能指针源码分析_C ++中的智能指针
c+智能指针源码分析 In this article, we'll take a look at how we can use Smart Pointers in C++. 在本文中,我们将研究如何在 ...
- 计算机毕业设计Java城市出行行程智能推荐系统(源码+系统+mysql数据库+lw文档)
计算机毕业设计Java城市出行行程智能推荐系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java城市出行行程智能推荐系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目 ...
- java计算机毕业设计幼儿影视节目智能推荐系统源码+数据库+系统+lw文档+部署
java计算机毕业设计幼儿影视节目智能推荐系统源码+数据库+系统+lw文档+部署 java计算机毕业设计幼儿影视节目智能推荐系统源码+数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 ...
- java计算机毕业设计客户关系智能管理系统源码+mysql数据库+系统+lw文档+部署
java计算机毕业设计客户关系智能管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计客户关系智能管理系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构 ...
- 基于Java毕业设计幼儿影视节目智能推荐系统源码+系统+mysql+lw文档+部署软件
基于Java毕业设计幼儿影视节目智能推荐系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计幼儿影视节目智能推荐系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构 ...
最新文章
- Angular模块/服务/MVVM
- 源码之ListView分析
- python第一周:python初识、流程控制
- R循环有两个_循环子群
- Android安全开发之ZIP文件目录遍历
- 抵扣个税3K+,这个考试,70%程序员都报了!
- dmidecode 硬件查看
- Win7磁盘清理怎么操作?十步让你学会
- 深度学习中的数据增强方法
- 2020-12-16子类对象指针强转成父类对象指针,父类对象指针调用子类函数问题(待整理)
- aoi服务器图标删除后怎么找回,Windows10系统桌面图标被误删了如何找回【图文教程】...
- Struts框架实战精讲 struts1(5)- 动态ActionForm
- 分享如何将多个pdf文件合并成一个pdf?
- 持续集成(Continous Integration)
- javascript之内置函数
- 【常用命令】一键屏幕截屏操作
- leetcode - 22 672. 灯泡开关 Ⅱ
- Java经典入门教程!java工程师的进阶之路
- 计算机网络专项练习题
- A Game of Thrones(9)