一种带显示屏的汽车遥控器的制作方法_第1页
一种带显示屏的汽车遥控器的制作方法_第2页
一种带显示屏的汽车遥控器的制作方法_第3页
一种带显示屏的汽车遥控器的制作方法_第4页
一种带显示屏的汽车遥控器的制作方法_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一种带显示屏的汽车遥控器的制作方法随着汽车的普及和技术的发展,智能遥控器成为了广大车主的必需品。如今市面上的遥控器大多采用无屏显示,只能通过声音提示来进行操作,且有时候会产生干扰;因此,在这里我们将要介绍一种采用显示屏的汽车遥控器的制作方法。前期准备购买必要的材料制作遥控器所需的材料包括:Arduino控制板、蓝牙模块、320x240TFT显示屏、9V电池、保护壳以及必要的电路连接线。搭建Arduino开发环境通过USB连接线将Arduino控制板和电脑连接,下载ArduinoIDE开发环境并进行安装,并将Arduino对应的驱动程序进行安装。制作过程1.连接蓝牙模块将蓝牙模块连接到Arduino控制板,连接方式如下:蓝牙模块ArduinoVCC5VGNDGNDTXDRXDRXDTXD2.连接显示屏将显示屏连接到Arduino控制板,连接方式如下:显示屏ArduinoVCC5VGNDGNDSCKSCKSDAA4AOA53.编写代码并上传现在我们可以使用ArduinoIDE进行代码编写了。我们需要使用到两个库,TFT.h用于驱动显示屏,SoftwareSerial.h用于驱动蓝牙模块。示例代码如下:#include<SoftwareSerial.h>//Bluetooth模块必要的头文件

SoftwareSerialBlueTooth(10,11);//在Arduino10、11脚上定义Rx和Tx

#defineRST8//TFT显示屏必要的定义

#defineCS9

#defineDC7

//定义了一个颜色库,用于TFT显示屏的颜色设置

#defineBLACK0x0000

#defineBLUE0x001F

#defineRED0xF800

#defineGREEN0x07E0

#defineCYAN0x07FF

#defineMAGENTA0xF81F

#defineYELLOW0xFFE0

#defineWHITE0xFFFF

//初始化并设置显示屏

voidsetup(){

BlueTooth.begin(9600);

pinMode(RST,OUTPUT);

digitalWrite(RST,LOW);

pinMode(CS,OUTPUT);

digitalWrite(CS,HIGH);

pinMode(DC,OUTPUT);

digitalWrite(DC,HIGH);

TFTInit();//初始化显示屏

}

//以下是主函数代码

voidloop(){

//读取蓝牙模块发送的数据

charcommand=BlueTooth.read();

//示例代码,当蓝牙模块接收到“1”的信号时,显示绿色背景。

if(command=='1'){

bgColorSet(GREEN);

}

//示例代码,当蓝牙模块接收到“2”的信号时,显示红色背景。

if(command=='2'){

bgColorSet(RED);

}

}

//进行显示屏的初始化工作

voidTFTInit(){

resetDisplay();

inti=0;

while(i<10){

sendCMD(0x01);//软件复位

delay(5);

sendCMD(0x11);//SLPOUT

delay(5);

sendCMD(0x28);//回复到Outofsleep模式

delay(5);

i++;

}

setAddrWindow(0,0,319,239);//设置显示区域

fillColor(WHITE);//设置背景颜色为白色

delay(300);

}

//重置显示屏

voidresetDisplay(){

digitalWrite(RST,HIGH);

delay(50);

digitalWrite(RST,LOW);

delay(50);

digitalWrite(RST,HIGH);

delay(50);

}

//封装了一些显示屏命令的底层函数

inlinevoidsendCMD(uint8_tindex){

digitalWrite(DC,LOW);

SPI.transfer(index);

}

inlinevoidsendData16(uint16_tdata){

digitalWrite(DC,HIGH);

SPI.transfer((data>>8)&0xff);

SPI.transfer(data&0xff);

}

inlinevoidsendCMD16(uint16_tindex,uint16_tdata){

sendCMD(index);

sendData16(data);

}

//设置显示屏显示区域

voidsetAddrWindow(uint16_tx0,uint16_ty0,uint16_tx1,uint16_ty1){

sendCMD16(0x2a,x0+2);

sendCMD16(0x2b,y0+1);

sendCMD16(0x2c,x1+2);

sendCMD16(0x2d,y1+1);

}

//设置显示背景颜色

voidfillColor(uint16_tcolor){

uint32_tn=320*240;

uint16_tbarrier;

setAddrWindow(0,0,319,239);

digitalWrite(DC,HIGH);

/*Fill16bitcolortoTFT*/

digitalWrite(CS,LOW);

barrier=n/32;

for(uint32_ti=0;i<n;i++){

SPI.transfer(color>>8);

SPI.transfer(color&0xff);

if((i&barrier-1)==barrier-1){

delayMicroseconds(100);//最重要的一行,去抖动

}

}

digitalWrite(CS,HIGH);

}

//设置背景颜色

voidbgColorSet(uint16_tcolor)

{

fillColor(color);

}4.进行调试和测试将遥控器放置在车内,打开车辆的电源,使用遥控器进行调试和测试。由于暂时没有合适的汽车作为测试对象,我们只能使用模拟路径进行模拟测试。总结以上便是一种

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论