




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
一種帶顯示屏的汽車遙控器的制作方法隨著汽車的普及和技術的發展,智能遙控器成為了廣大車主的必需品。如今市面上的遙控器大多采用無屏顯示,只能通過聲音提示來進行操作,且有時候會產生干擾;因此,在這里我們將要介紹一種采用顯示屏的汽車遙控器的制作方法。前期準備購買必要的材料制作遙控器所需的材料包括: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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 室內水上樂園管理制度
- 公司外聘律師管理制度
- 公司電線使用管理制度
- 公司入職人員管理制度
- 嵌入式開發師的職業路徑試題及答案
- 單位教育統計管理制度
- 商場廣場車輛管理制度
- 婦幼陪護日常管理制度
- 實現嵌入式系統的數據加密方案試題及答案
- 分析能力提升的試題及答案合集
- 兩辦意見八硬措施煤礦安全生產條例宣貫學習課件
- 制造業行業的商務禮儀培訓
- TCI 263-2024 水上裝配式鋼結構棧橋(平臺)施工技術規程
- 質量部運行卓越績效體系
- XXX燃氣公司門站投產試運行方案
- 甲狀腺結節射頻消融術后護理
- 種植牙沙龍策劃方案
- 大眾安徽測評題庫
- 中醫培訓課件:《穴位埋線減肥》
- 深度學習及其應用-復旦大學中國大學mooc課后章節答案期末考試題庫2023年
- 產品出廠檢驗報告
評論
0/150
提交評論