版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
一種帶顯示屏的汽車遙控器的制作方法隨著汽車的普及和技術(shù)的發(fā)展,智能遙控器成為了廣大車主的必需品。如今市面上的遙控器大多采用無屏顯示,只能通過聲音提示來進行操作,且有時候會產(chǎn)生干擾;因此,在這里我們將要介紹一種采用顯示屏的汽車遙控器的制作方法。前期準備購買必要的材料制作遙控器所需的材料包括:Arduino控制板、藍牙模塊、320x240TFT顯示屏、9V電池、保護殼以及必要的電路連接線。搭建Arduino開發(fā)環(huán)境通過USB連接線將Arduino控制板和電腦連接,下載ArduinoIDE開發(fā)環(huán)境并進行安裝,并將Arduino對應(yīng)的驅(qū)動程序進行安裝。制作過程1.連接藍牙模塊將藍牙模塊連接到Arduino控制板,連接方式如下:藍牙模塊ArduinoVCC5VGNDGNDTXDRXDRXDTXD2.連接顯示屏將顯示屏連接到Arduino控制板,連接方式如下:顯示屏ArduinoVCC5VGNDGNDSCKSCKSDAA4AOA53.編寫代碼并上傳現(xiàn)在我們可以使用ArduinoIDE進行代碼編寫了。我們需要使用到兩個庫,TFT.h用于驅(qū)動顯示屏,SoftwareSerial.h用于驅(qū)動藍牙模塊。示例代碼如下:#include<SoftwareSerial.h>//Bluetooth模塊必要的頭文件
SoftwareSerialBlueTooth(10,11);//在Arduino10、11腳上定義Rx和Tx
#defineRST8//TFT顯示屏必要的定義
#defineCS9
#defineDC7
//定義了一個顏色庫,用于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(){
//讀取藍牙模塊發(fā)送的數(shù)據(jù)
charcommand=BlueTooth.read();
//示例代碼,當藍牙模塊接收到“1”的信號時,顯示綠色背景。
if(command=='1'){
bgColorSet(GREEN);
}
//示例代碼,當藍牙模塊接收到“2”的信號時,顯示紅色背景。
if(command=='2'){
bgColorSet(RED);
}
}
//進行顯示屏的初始化工作
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);//最重要的一行,去抖動
}
}
digitalWrite(CS,HIGH);
}
//設(shè)置背景顏色
voidbgColorSet(uint16_tcolor)
{
fillColor(color);
}4.進行調(diào)試和測試將遙控器放置在車內(nèi),打開車輛的電源,使用遙控器進行調(diào)試和測試。由于暫時沒有合適的汽車作為測試對象,我們只能使用模擬路徑進行模擬測試??偨Y(jié)以上便是一種
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村經(jīng)濟發(fā)展模式創(chuàng)新方案與手冊
- 企業(yè)級協(xié)同辦公系統(tǒng)開發(fā)及維護服務(wù)合同
- 在線教育平臺教師資源整合及教學(xué)模式創(chuàng)新
- 緊急危機管理制度
- 企業(yè)內(nèi)部溝通與交流手冊
- 美容美發(fā)行業(yè)顧客服務(wù)流程優(yōu)化方案設(shè)計
- 禁止消費公司資源管理制度
- 虛擬現(xiàn)實教育應(yīng)用合作協(xié)議
- 環(huán)??萍籍a(chǎn)業(yè)技術(shù)創(chuàng)新與應(yīng)用合同
- 電子圖書內(nèi)容出版合同
- 儲能項目用戶側(cè)投資測算表
- 脊柱四肢及肛門直腸檢查
- 高中政治期末綜合檢測部編版選修1
- 歷史(中職)PPT全套教學(xué)課件
- 藥物分離技術(shù)教材吳昊課后參考答案
- 我和外公的戰(zhàn)爭
- 浙人美2011版二年級美術(shù)上冊《淘氣堡》教案及教學(xué)反思
- 提高屋面防水合格率QC成果演示文稿
- 【招標控制價編制研究文獻綜述(論文)4800字】
- 小學(xué)一年級線上主題班會教學(xué)設(shè)計《書 我的朋友》
- 水泥常規(guī)試驗作業(yè)指導(dǎo)書
評論
0/150
提交評論