10
本文作者: 吳攀 | 2015-11-16 17:20 |
編者注:本項(xiàng)目由HactiCs發(fā)表于Instructables上,講解了如何DIY一個(gè)使用遙控器控制計(jì)算機(jī)的小設(shè)備的過(guò)程,其中涉及到的程序作者都已提供,趕緊來(lái)學(xué)習(xí)一下吧。
遙控器現(xiàn)在已經(jīng)成為電視機(jī)、空調(diào)、機(jī)頂盒等設(shè)備的標(biāo)配,但是隨著計(jì)算機(jī)的普及,許多年輕人對(duì)電視機(jī)已經(jīng)沒(méi)有了需求,最多也只是用來(lái)作為連接游戲機(jī)的顯示器。那對(duì)于只有電腦的年輕人來(lái)說(shuō),如果電腦放在桌子上,又該怎么方便地坐在床上看片呢?
今天的這個(gè)教程將告訴你如何使用Arduino開(kāi)發(fā)板和紅外接收器為自己的電腦制作一個(gè)遙控器。這樣不僅能讓你坐在床上輕松看片,還能用來(lái)作為PPT遙控器哦。下面就開(kāi)始行動(dòng)吧:
Arduino UNO
紅外接收器
紅外遙控器
Arduino IDE
Microsoft Visual Basic 2010 Express
一些庫(kù)
看得出來(lái),這個(gè)項(xiàng)目需要的硬件非常簡(jiǎn)單。
首先我們看看如何使用Arduino和遙控器控制LED燈。連接過(guò)程非常簡(jiǎn)單,只需要像下圖一樣進(jìn)行連接即可。
本項(xiàng)目最為關(guān)鍵的還是代碼,但在使用以下代碼之前,你需要現(xiàn)在開(kāi)發(fā)環(huán)境中配置紅外庫(kù),你可以在GitHub上下載,也可以在PJRC上了解更多。
具體的代碼如下:
#include
int RECV_PIN = 3;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); //啟動(dòng)接收器
pinMode(13,OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {// irrecv.decode(&results) :如果收到代碼則返回true
Serial.println(results.value, HEX); //檢查你按下紅外遙控器上的按鈕的代碼
if(results.value==0xFA08F7) // 0x代表十進(jìn)制數(shù)
{
digitalWrite(13,HIGH); //LED開(kāi)啟
else
digitalWrite(13,LOW); //LED關(guān)閉
delay(300);// 延遲以避免0xFFFFFFF
irrecv.resume (); // 接收下一個(gè)值
}
}
等你熟悉了如何遙控LED之后,我們?cè)撛囋囘b控電腦了。為了實(shí)現(xiàn)這一目標(biāo),我們需要用到Visual Basic中的一個(gè)SendKeys.Send(“”)指令,該指令可以在電腦上模擬空格鍵,然后你可以借此控制在線(xiàn)視頻或本地播放器的播放。以下是實(shí)現(xiàn)這一功能的代碼部分:
If data = "1" Then
SendKeys.Send(" ")
TextBox1.Text = "SPACE"
End If
而Arduino中對(duì)應(yīng)的代碼為:
if(results.value==0xFA10EF)
Serial.write('1');
解釋?zhuān)寒?dāng)你按下代碼是0xFA10EF的按鈕時(shí),Arduino會(huì)發(fā)送“1”到電腦的串口。這時(shí)使用Visual Basic編寫(xiě)的程序?qū)?huì)從串口接受到數(shù)據(jù)1,然后通過(guò)軟件的方式模擬空格點(diǎn)擊,從而控制視頻的播放和停止,當(dāng)然這也可以用來(lái)控制PPT演示。
如果你覺(jué)得Visual Basic實(shí)在太難了,不要擔(dān)心,下載鏈接在下面:
接下來(lái)就需要配置你的紅外遙控器代碼了,這個(gè)步驟和上面第二步的差別不大,只不過(guò)我們需要發(fā)送一個(gè)特定的返回值到電腦的Arduitop.exe。接下來(lái)將改好的代碼寫(xiě)入Arduino,完成之后打開(kāi)Arduitop.exe,選擇Arduino所連接的COM口,點(diǎn)擊init執(zhí)行。
這一步對(duì)Visual Basic的要求較高,作者提供的參考代碼點(diǎn)此下載:IR PROJECT.rar。
通過(guò)對(duì)該代碼進(jìn)行適當(dāng)?shù)男薷?,你還能實(shí)現(xiàn)音量控制、快進(jìn)快退等常見(jiàn)的電視功能,如下視頻:
2015-2016賽季全球創(chuàng)客馬拉松北理工珠海學(xué)院站已經(jīng)開(kāi)始接受報(bào)名啦!關(guān)注“硬創(chuàng)邦”(微信號(hào):leiphone_bang),回復(fù)“北理工”即可參與報(bào)名!此外還可加入全球創(chuàng)客馬拉松主群(群號(hào):259592983),參與我們的互動(dòng)討論~
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。