前言
近来突发奇想,想通过电视的遥控器控制 我的智能小车。那么要们要做的第一步是先对遥控器进行解码,然后8266芯片通过软串口进行读取,从而达到控制小车的目的。
一、基本电路原理图
此图 是我整个语音控制小车的 全功能图,本节内容先讲述下红外解码和数据读取部分,暂不涉及 语音模块。
二、用到的实验器件
- ESP8266 开发版
- USB 转ttl 串口工具
- 普通红外接收 发送模块
- 面包板 杜邦线
具体可参考电路设计图进行搭建。
三、程序编写与说明
#include<SoftwareSerial.h>
SoftwareSerial mySerial(D1,D0); //定义esp8266 软窜口的引脚
String Serial_String="";
byte sread[80];
byte idx = 0;
void setup() {
mySerial.begin(9600); //设置软窜口的波特率 必须和红外模块的波特率一致
Serial.println("start ok");
Serial.begin(9600); //设置 8266 硬窜口的波特率用于 数据我们接收到的按钮解码 内容
}
void loop() {
if(mySerial.available()>0){
Serial_String="";
read_byte();
for(int i=0;i<=idx;i++){
Serial.println(sread[i], HEX); // 用16进制方式输出
}
idx=0;
Serial.println("=========");
}
}
//按字节的方式读取 然后存放到数组中
void read_byte(){
while(mySerial.available()>0){
byte b= mySerial.read();
sread[idx++]=b;
delay(2);
}
}
//按照字符的方式读取 并连接成字符串
void read_string(){
while(mySerial.available()>0){
Serial_String+=(char)(mySerial.read());
delay(2);}
}
四、 结果展示
1.实物接线图
2.遥控器实物
3.串口解码成功
总结
以上就是今天要讲的内容,本文仅仅简单介绍了8266 通过软窜口读取红外遥控的编码,下节课我们将针对 上下左右按键的编码,在8266内 进行比对 并设置只能小车相关动作。
如果我的创作对你有帮助 ,那么你的鼓励将是我创作的最大动力!非常感谢。