最近買了一台安博盒子,用了之後真的大為驚奇,第四台快不用混了,連國外頻道都看得到,但因為房間電腦只有一個螢幕,我比較習慣邊看電視邊上網,不想看兩個螢幕,所以老樣子,把上次的第四台網路線移過來給安博盒子用,安博盒子後面有個av端子的3.5m m 孔和HDMI孔,HDMI給電視用,3.5孔轉AV端子就買轉接線接原本的第四台網路線
上圖是已經裝好的樣子
上圖是安博遙控器,圈起來部分是常用的按鈕,也是這次要改的重點
因為安博盒子選台要先選APP,進去後才能選台,而且頻道很多,用兩個按鈕選台已經不夠用了,所以控制器要改造一下,原本用來傳送按鍵訊號的3條線改成紅外線發射器的兩條線,把IC電路移到房間
控制器改成這樣
各按鍵遙控碼
側面圖
另外我找到一款比KMP穩定的播放軟體PotPlayer 64 bit,電腦有擷取卡想要錄影的都可以用
如上,只要選好裝置
開啟>類比電視,然後就能看電視了
這是我的電路圖和架構圖
以下是程式碼:
int I,J,k; //I和J用於判斷頻道上下鍵是否被按下,k則用於兩鍵同時按下記數用
int L,M,N,O,P;
unsigned long v = 0x0;
#include <IRremote.h>
IRsend irsend; // IRRemote限定使用數位腳位3
void setup()
{
pinMode(4, INPUT);//按鈕輸入腳位
pinMode(5, INPUT);//按鈕輸入腳位
pinMode(6, INPUT);//按鈕輸入腳位 L
pinMode(7, INPUT);//按鈕輸入腳位 M
pinMode(8, INPUT);//按鈕輸入腳位 N
pinMode(9, INPUT);//按鈕輸入腳位 O
pinMode(10, INPUT);//按鈕輸入腳位 P
I=0;
J=0;
k=0;
L=0;
M=0;
N=0;
O=0;
P=0;
}
void loop()
{
if(digitalRead(4)==LOW) //按鈕按下時
{
I=1;
}
if(digitalRead(4)==HIGH && I==1) //按鈕放開時
{
I=0;
v = 0x80BF01FE;
irsend.sendNEC(v,32); //轉台上(發送紅外線訊號)第四台保留程式碼
delay(500);
v =0x2FFB24D;
irsend.sendNEC(v,32);//(發送紅外線訊號)安博盒子碼電源
}
if(digitalRead(5)==LOW) //按鈕按下時
{
J=1;
}
if(digitalRead(5)==HIGH && J==1) //按鈕放開時
{
J=0;
v =0x80BF817E;
irsend.sendNEC(v,32);//轉台下(發送紅外線訊號)第四台保留程式碼
delay(500);
v =0x2FF42BD;
irsend.sendNEC(v,32);//(發送紅外線訊號)安博盒子碼返回
}
if(I==1&& J==1) //當兩鍵同時按下時
{
k=k+1;
I=0;
J=0;
v =0x2FF807F;
irsend.sendNEC(v,32);//(發送紅外線訊號)安博盒子碼1
delay(500);
v =0x2FF10EF;
irsend.sendNEC(v,32);//(發送紅外線訊號)安博盒子碼8
delay(500);
switch(k) {
case 1: //轉到10台(當兩鍵同時按下第一次時)第四台保留程式碼
v =0x80BFE11E;
irsend.sendNEC(v,32);//0(發送紅外線訊號)第四台保留程式碼
delay(200);
v =0x80BF49B6;
irsend.sendNEC(v,32);//1(發送紅外線訊號)第四台保留程式碼
delay(200);
v =0x80BFE11E;
irsend.sendNEC(v,32);//0(發送紅外線訊號)第四台保留程式碼
break;
case 2: //轉到50台(當兩鍵同時按下第二次時)第四台保留程式碼
v =0x80BFE11E;
irsend.sendNEC(v,32);//0(發送紅外線訊號)第四台保留程式碼
delay(200);
v =0x80BFF10E;
irsend.sendNEC(v,32);//5(發送紅外線訊號)第四台保留程式碼
delay(200);
v =0x80BFE11E;
irsend.sendNEC(v,32);//0(發送紅外線訊號)第四台保留程式碼
break;
case 3://轉到200台(當兩鍵同時按下第三次時)第四台保留程式碼
v =0x80BFC936;
irsend.sendNEC(v,32);//2(發送紅外線訊號)第四台保留程式碼
delay(200);
v =0x80BFE11E;
irsend.sendNEC(v,32);//0(發送紅外線訊號)第四台保留程式碼
delay(200);
v =0x80BFE11E;
irsend.sendNEC(v,32);//0(發送紅外線訊號)第四台保留程式碼
break;
case 4://轉到250台(當兩鍵同時按下第四次時)第四台保留程式碼
v =0x80BFC936;
irsend.sendNEC(v,32);//2(發送紅外線訊號)第四台保留程式碼
delay(200);
v =0x80BFF10E;
irsend.sendNEC(v,32);//5(發送紅外線訊號)第四台保留程式碼
delay(200);
v =0x80BFE11E;
irsend.sendNEC(v,32);//0(發送紅外線訊號)第四台保留程式碼
k=0; //兩鍵同時按下記數歸零
break;
default:
k=0;
}
delay(1000);
}
if(digitalRead(6)==LOW) //按鈕按下時
{
L=1;
}
if(digitalRead(6)==HIGH && L==1) //按鈕放開時
{
L=0;
v =0x2FFD02F;
irsend.sendNEC(v,32);//(發送紅外線訊號)安博盒子碼上
}
if(digitalRead(7)==LOW) //按鈕按下時
{
M=1;
}
if(digitalRead(7)==HIGH && M==1) //按鈕放開時
{
M=0;
v =0x2FF08F7;
irsend.sendNEC(v,32);//(發送紅外線訊號)安博盒子碼左
}
if(digitalRead(8)==LOW) //按鈕按下時
{
N=1;
}
if(digitalRead(8)==HIGH && N==1) //按鈕放開時
{
N=0;
v =0x2FFB04F;
irsend.sendNEC(v,32);//(發送紅外線訊號)安博盒子碼確認
}
if(digitalRead(9)==LOW) //按鈕按下時
{
O=1;
}
if(digitalRead(9)==HIGH && O==1) //按鈕放開時
{
O=0;
v =0x2FF8877;
irsend.sendNEC(v,32);//(發送紅外線訊號)安博盒子碼右
}
if(digitalRead(10)==LOW) //按鈕按下時
{
P=1;
}
if(digitalRead(10)==HIGH && P==1) //按鈕放開時
{
P=0;
v =0x2FF708F;
irsend.sendNEC(v,32);//(發送紅外線訊號)安博盒子碼下
}
}
要錄影只要這樣選就可以錄影
連印度的頻道都有喔
這些頻道才是重點,頻道數完勝第四台,雖然有時會lag
以上控制器測試影片
3 則留言:
安博盒子竟然能擴充,您好強~
我也想學您的做法,但是光是程式碼完全看不懂了
請問這種做法是否能 客廳 房間電腦同時收看不同節目?
應該是只能同時收看同一台對嗎
對,只能同時看一台,但可以共用,不用買兩台,訊號接電腦可以錄影和轉檔
張貼留言