一種帶顯示屏的汽車遙控器的制作方法_第1頁
一種帶顯示屏的汽車遙控器的制作方法_第2頁
一種帶顯示屏的汽車遙控器的制作方法_第3頁
一種帶顯示屏的汽車遙控器的制作方法_第4頁
一種帶顯示屏的汽車遙控器的制作方法_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

一種帶顯示屏的汽車遙控器的制作方法隨著汽車的普及和技術(shù)的發(fā)展,智能遙控器成為了廣大車主的必需品。如今市面上的遙控器大多采用無屏顯示,只能通過聲音提示來進(jìn)行操作,且有時(shí)候會(huì)產(chǎn)生干擾;因此,在這里我們將要介紹一種采用顯示屏的汽車遙控器的制作方法。前期準(zhǔn)備購買必要的材料制作遙控器所需的材料包括:Arduino控制板、藍(lán)牙模塊、320x240TFT顯示屏、9V電池、保護(hù)殼以及必要的電路連接線。搭建Arduino開發(fā)環(huán)境通過USB連接線將Arduino控制板和電腦連接,下載ArduinoIDE開發(fā)環(huán)境并進(jìn)行安裝,并將Arduino對(duì)應(yīng)的驅(qū)動(dòng)程序進(jìn)行安裝。制作過程1.連接藍(lán)牙模塊將藍(lán)牙模塊連接到Arduino控制板,連接方式如下:藍(lán)牙模塊ArduinoVCC5VGNDGNDTXDRXDRXDTXD2.連接顯示屏將顯示屏連接到Arduino控制板,連接方式如下:顯示屏ArduinoVCC5VGNDGNDSCKSCKSDAA4AOA53.編寫代碼并上傳現(xiàn)在我們可以使用ArduinoIDE進(jìn)行代碼編寫了。我們需要使用到兩個(gè)庫,TFT.h用于驅(qū)動(dòng)顯示屏,SoftwareSerial.h用于驅(qū)動(dòng)藍(lán)牙模塊。示例代碼如下:#include<SoftwareSerial.h>//Bluetooth模塊必要的頭文件

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

#defineRST8//TFT顯示屏必要的定義

#defineCS9

#defineDC7

//定義了一個(gè)顏色庫,用于TFT顯示屏的顏色設(shè)置

#defineBLACK0x0000

#defineBLUE0x001F

#defineRED0xF800

#defineGREEN0x07E0

#defineCYAN0x07FF

#defineMAGENTA0xF81F

#defineYELLOW0xFFE0

#defineWHITE0xFFFF

//初始化并設(shè)置顯示屏

voidsetup(){

BlueTooth.begin(9600);

pinMode(RST,OUTPUT);

digitalWrite(RST,LOW);

pinMode(CS,OUTPUT);

digitalWrite(CS,HIGH);

pinMode(DC,OUTPUT);

digitalWrite(DC,HIGH);

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

}

//以下是主函數(shù)代碼

voidloop(){

//讀取藍(lán)牙模塊發(fā)送的數(shù)據(jù)

charcommand=BlueTooth.read();

//示例代碼,當(dāng)藍(lán)牙模塊接收到“1”的信號(hào)時(shí),顯示綠色背景。

if(command=='1'){

bgColorSet(GREEN);

}

//示例代碼,當(dāng)藍(lán)牙模塊接收到“2”的信號(hào)時(shí),顯示紅色背景。

if(command=='2'){

bgColorSet(RED);

}

}

//進(jìn)行顯示屏的初始化工作

voidTFTInit(){

resetDisplay();

inti=0;

while(i<10){

sendCMD(0x01);//軟件復(fù)位

delay(5);

sendCMD(0x11);//SLPOUT

delay(5);

sendCMD(0x28);//回復(fù)到Outofsleep模式

delay(5);

i++;

}

setAddrWindow(0,0,319,239);//設(shè)置顯示區(qū)域

fillColor(WHITE);//設(shè)置背景顏色為白色

delay(300);

}

//重置顯示屏

voidresetDisplay(){

digitalWrite(RST,HIGH);

delay(50);

digitalWrite(RST,LOW);

delay(50);

digitalWrite(RST,HIGH);

delay(50);

}

//封裝了一些顯示屏命令的底層函數(shù)

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);

}

//設(shè)置顯示屏顯示區(qū)域

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);

}

//設(shè)置顯示背景顏色

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);//最重要的一行,去抖動(dòng)

}

}

digitalWrite(CS,HIGH);

}

//設(shè)置背景顏色

voidbgColorSet(uint16_tcolor)

{

fillColor(color);

}4.進(jìn)行調(diào)試和測(cè)試將遙控器放置在車內(nèi),打開車輛的電源,使用遙控器進(jìn)行調(diào)試和測(cè)試。由于暫時(shí)沒有合適的汽車作為測(cè)試對(duì)象,我們只能使用模擬路徑進(jìn)行模擬測(cè)試??偨Y(jié)以上便是一種

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論