顯示具有 遙控器 標籤的文章。 顯示所有文章
顯示具有 遙控器 標籤的文章。 顯示所有文章

2015年2月16日 星期一

[Arduino] 紅外線電視遙控器轉無線電遙控

 上一篇 [Arduino] 以 nRF24L01+ 和 RF24 library 製作無線電端點 只是小前導專案. 事實上我想實現將紅外線電視遙控器轉為無線電發送. 這樣可以搭配 Locationfree 在房間看電視並且用遙控器選台.

沒錯, 你可以說我是 Locationfree 偏執狂, 我就是一股不爽, 一臺原價近萬元的東西在 Sony 的封閉思想下沒幾年就 game over, 我只是想讓當時的投資繼續使用下去, 這樣的想法很奢侈嗎? 還有, 我不懂這些做遠端電視盒的公司為什麼不把 IR over RF 或 IR over IP 做進去. 一臺機器貴森森, 有無線網路元件都已經在裡面了, 做個 IR over IP 上去不為過吧. 甚至搭個 RF 做 IR over RF 也增加不了多少成本.

總之, 已經被原廠放棄成了孤兒的東西, 沒有就是自己想辦法弄弄看, 看看是否能夠延續機器的生命. 抱怨完畢!

上次做了RF一號機和二號機, 其實硬體基礎上已經都差不多了, 接下來這篇文章幾乎就都是軟體活. 唯二要做的硬體活就是將 IR LED 和 IR Receiver 串到一二號機上面:

首先處理線路規劃比較好的二號機, 選兩個 pin 作為 IR LED 或 IR Receiver 的 data pin:

我選了3號pin 和 7號pin, 其中 7 號 pin 那組接出了三個腳, 包含 data, GND, Vcc, 很顯然可以作為 IR Receiver 接進來的pin:

另一個方向的照片, 紅色是 5V Vcc, 黑色是 GND

另一台布局比較差的一號機, 連pin腳都找不太到地方焊出來, 勉強找到兩孔位置將 pin 焊接起來:

近照, 可以看到空間很侷促, 所以二號機只能接 IR LED, 作為 RF receiver 端:

IR LED 用杜邦接頭接到一號機上, 一腳 GND, 一腳 Vcc:

IR receiver 則是 GND, Vcc, Data, 三隻腳的定義需參考自己買到的型號的datasheet:

將 IR receiver 接到二號機:

近照:

IR LED 則是接到一號機, 作為無線電接收端以及 IR code 發射端:

一號機另一個角度:


一二號機兩端點的錄影, 可以比較清楚看到長相:


兩個端點做起來所有零件成本大約 350 元台幣. 硬體工作都結束了, 接下來都是軟體活了.

發送端(一號機)程式:

接收端(二號機)程式:

首先要說明的是, 我使用的是 maniacbug blog 的RF24 git, 而不是上一篇文章建議使用的 TMRh20/RF24 git, 這相當不好意思. 因為我寫軟體時發現 maniacbug 的 example 雖然被改到錯掉, 但是修一修之後還能用. 也就是兩個端點能通, 反而是 code 比較新的 TMRh20 我沒有辦法跑起來兩邊透過RF連接. 所以還是厚着臉皮回去用 maniacbug 的 library. 照理說 TMRh20 是可以用的, 有空再來研究.

所以我的 printf.h 也是從 maniacbug 的 code copy 出來的. 如果不想用 printf, 殺掉換成一般的 serial port output code 就可以了. 請參考我之前的文章.

這兩支程式都是從 RF24 library 的 GettingStarted 改出來的. 只是加上 IR receive 和 IR send 的部分. 要注意RF接收端 IRTatungRadioReceive (也就是發射 IR code 去控制 kbro box那端), serial port 我使用 9600 baud. 我試過如果用原本 GettingStarted 設定的 57600 baud, 則 IR code 發送會異常, 這個問題讓我卡關卡了一陣子, 詳細我沒有去 trace IR library.

由於我用的是大同液晶電視的遙控器, 所以 IR 接收端(也就是 RF 發射端)的code是大同的 IR. 但是 IR發射端(就是 RF 接收端)要控制的是 kbro 的機上盒. 所以有做一個 IR translater 的查表轉換. 請參考之前的文章.

以下影片是完成後的成果, 還有些按鈕不太敏感 還需要想辦法微調. 由於 Locationfree 會有大約 4至5秒的 delay 作為影片的 buffer, 所以遙控器按鈕不會像照正常電視那樣即時的反應出來, 需要適應一下. 另外就是可以在接收端製作 buffer, 讓按鈕的無線電接收後不會在 IR code 發射階段丟棄, 而是排隊執行, 可能可以增加操作的互動性:

還有一個問題就是上一篇文章已經發現的, nRF24L01+ 的穿透力不強, 大約兩個水泥牆就擋住了. 上面影片中測試的房間和客廳電視櫃的 kbro box 就是隔了兩個水泥牆.  好消息是電磁波應該是不強, 壞消息是無線電遙控的距離受限. 比較裡面的房間就沒辦法了.  解決的 Idea 是做另一個跳板出來轉發. 但是想到要做三號機就有點懶, 隔陣子有空放假再做.
 
 

2015-03-22 補充:
今天製作了另一套泛用版本的 IR-RF send/receive 程式, 主要就是將 IR code type 和 decode_results結構內相關的資訊都用 RF 傳遞出去. 接收端再依據不同的 IR type 透過 IR LED 發射 IR 訊號. 這個版本無法支援 kbro 的 IR code, 但是對於我一個很老舊的電視盒有用, 它用 NEC 的 IR code.

這套泛用版程式目前不支援 raw code, 而我也只寫了 NEC, SONY, PANASONIC 三種 IR 發射邏輯. 但是可以不用改 code 就支援多種遙控器, 只要 Arduino 的 IR library 認得出來的 code 都能支援. 後續有時間我會想辦法把 raw code 的支援也寫進去, 可以支援更廣泛的紅外線遙控器.

一號, 二號機兩端硬體完全沒變, 以下是程式:

發送端程式:
https://github.com/smallbeetw/arduinosketch/blob/master/IRgenericRadio/IRgenericRadioSend/IRgenericRadioSend.ino

接收端程式:
https://github.com/smallbeetw/arduinosketch/blob/master/IRgenericRadio/IRgenericRadioReceive/IRgenericRadioReceive.ino

 

2015年1月21日 星期三

[樂高] 用樂高製作 IR receiver 外殼

這篇是個小DIY, 算是自己紀錄一下做法. 和 Arduino 也沒有直接的關係. 但既然和我做的 IRtranslater 有關, 就也放在 Arduino 分類裡面.

這篇介紹的是幫 IR receiver 用樂高零件製作殼. 由於一般我們 IR receiver 通常用洞洞板或者杜邦線接起來之後, IR receiver 都是裸露在外, 有些不好看. 我的做法是用樂高幫它做個殼. 當然用3D列印也可以做得更加符合需求, 但是樂高做殼還是有零件可重用性高, 成品容易修改的特性.

首先就是材料:
IR receiver *1: 我買到的是 PL-IRM0101-3

記得要找出datasheet上的接腳定義:

再來就是拿來做殼的樂高, 都是露拍上買到的:
    4x2 薄片 *2
    1x2x2 牆壁 *3
    1x2x2 透明牆壁 *1

當然還有三 pin 的立體聲母座  *1
所有材料包含IR receiver加起來大約 50 元新台幣左右.

首先把一個 1x2x2 的樂高牆壁鑽孔, 用小電鑽鑽完之後圓形挫刀擴孔,孔的大小直到立體聲母座的頭鎖得上去就可以了;

從這幾個照片可以看到我直接將 IR receiver 上的三個 pinj 腳焊接到立體聲頭上面, 至於順序沒差, 只要自己紀錄下來到時候接到 Arduino 上的 Vcc, GND, data 三個 pin 接對就可以了:

從另一個角度:

三支腳和立體聲座焊接好的狀況:


 從前面看:

後面樂高牆壁和立體聲座扣圜的接合, 由於立體聲座有個鐵圜可以旋轉固定在我們開出來的孔上面, 鎖緊之後完全不需要任何黏膠就很牢固的和LEGO牆壁接在一起:

把和立體聲座以及IR receiver 接好的牆壁和 4x2 薄板拼起來:

側面用一個薄 1x2x2 牆壁擋起來:

另一邊也是用 1x2x2 牆壁拼上

這個圖很清楚可以看到把 IR receiver 剛好可以包在裡面:

前面再用一個透明的 1x2x2 薄牆壁擋起來:

俯視圖:

拿另一個 2x4 薄板從上面蓋下去, 就可以搭出一個很牢固的樂高盒子出來, 把 IR receiver 和立體聲座包進去:

前視圖:

另一個角度:

屁股:

接下來就可以開始使用了, 用三pin的立體聲線和 Arduino 接起來. 立體聲線可以自己做, 也可以買現成的, 記得買頭有三節的那種, 可以走 3 條線在裡面. 立體聲線自己做和現成的其實價差不會太大: 自己做的好處是長度可以自己控制:

更近一點的照片, 在 Arduino 這邊也是用立體聲座,只要三個 pin 不要接錯就行了. 下圖紅色接 Vcc, 黑色接 GND, 白色接 Arduino 11 pin, 也可以接 8 pin(軟體要改). 軟體用 IRremote library 裡面的 IRrecDump example 測試就可以了.
 

樂高的好處就是彈性大, 可以做成黑色和家電搭配:


樂高做殼有彈性大易修改的特性, 但是缺點就是兜出來的殼沒辦法很完全的match, 在一些場合用3D printer 還是會比較好. 至於成本就要看東西, 用 3D printer 印不一定就比較便宜. 尤其是大的東西或者常修改的.

more: [樂高] 製作 EeePC 701 VESA 螢幕背掛架

2014年12月7日 星期日

[Arduino] 製作紅外線遙控轉換器 IR translate Panasonic 電漿電視轉 Kbro 凱擘

承上一篇 [Arduino] 用 IRrepeater 抓取 kbro 凱擘遙控器的 IR raw code, 目的是做出轉換/發Tivo碼成為 Kbro 機上盒紅外線訊號的轉換器. 只要 Locationfree 設定為遙控 Tivo, 透過轉換器就可以轉成發送 Kbro 紅外線訊號來遙控凱擘機上盒選台. 這樣的原理可以用來讓已經停止維護的 Locationfree 還能遙控任何不支援的機器. (文末有結果的錄影, 想看效果的可以先看.)

同樣的東西我先做了一個來將 Panasonic 電漿電視遙控器發射的紅外線訊號轉發為 Kbro 機上盒用的紅外線訊號. 由於我的 Panasonic 電視有 Skype, Youtube, 螢幕縮放等功能,  所以使用原本的電漿電視遙控器比較方便:


遙控器後面的型號, 好像是 N20AYB:

用 IRrecvDump 抓出來的 Panasonic 電漿電視遙控器碼如下. 由於 Arduino IR library 抓不出 type, 所以是 Unknow type, 以下所有按鈕抓出的 raw data 長度都是 100, 由於有抓出 hash code 可以在程式中用於收訊號比對, 所以 raw data 列在文末備註:

Channel UP: Unknown encoding: 4DE74847 (32 bits)
Channel DOWN: Unknown encoding: B8781EF (32 bits)
ONE 1: Unknown encoding: F7283C77 (32 bits)
TWO 2: Unknown encoding: 757FB4DF (32 bits)
THREE 3: Unknown encoding: B33B4597 (32 bits)
FOUR 4: Unknown encoding: 3C03E507 (32 bits)
FIVE 5: Unknown encoding: E705551F (32 bits)
SIX 6: Unknown encoding: A4A58EC7 (32 bits)
SEVEN 7: Unknown encoding: E2E45F7F (32 bits)
EIGHT 8: Unknown encoding: 6BACFEEF (32 bits)
NINE 9: Unknown encoding: E88E91F (32 bits)
ZERO 0: Unknown encoding: 7D168BCF (32 bits)
OK: Unknown encoding: BB0ED9E1 (32 bits)
RETURN: Unknown encoding: D28EF217 (32 bits)
POWER: Unknown encoding: F61E2A57 (32 bits)

安裝凱擘數位機上盒之後, 多了一支白色遙控器, 由於不想用兩支遙控器(加我的Tivo就三支了), 這支遙控器就是準備封存的:


上面這支白色 kbro 的遙控器用 Arduino 也是無法抓出 type, 所以需要 raw data 作為發射訊號用. 一樣列在文末, kbro raw data 長度都是 18.

接下來是硬體部份, 和上一篇 IRreperter 的架構一模一樣:

架構很簡單, IR LED 接到 D3, IR receiver 接 D11.

材料盤點:

Arduino mini pro, IR LED, IR receiver (PL-IRM0101-3, datasheet), USB焊接公頭. 材料成本大約130元上下.

IR LED, 長腳接 D3, 短腳 GND:


IR receiver, 我用 PL-IRM0101-3, 不同型號三支腳順序不同, 請查看 datasheet, 有Vcc, Vout, GND 三支腳, Vout 接 D11:


USB焊接公頭拿來接5V電進 Arduino mini pro, 接 Vcc pin:

另一個主角, Arduino mini pro, 70元, DIY自用還可以, 但量產來說還是貴,

由於 Arduino pro mini 需要 USB上載器, 這裡拍個照:


連起來後:

杜邦接頭順序:
上載器   接 Arduino mini pro
       DTR 接 DTR
       RXI  接 TXO
       TXO 接 RXI
       VCC 接 VCC
       GND 接 GND  


杜邦線接接好之後一樣用 Arduino IDE compiler/upload 就可以了.

在上一篇已經用麵包板基本測過了, 所以開始用洞洞板佈局, 我的設計是將IR receiver放在尾端, IR LED 放在靠近 kbro 機上盒 IR 收訊窗的那一邊:


下圖是 kbro 機上盒的 USB 接口 和 IR 窗相對位置:



先貼個完成圖, 可以看到 LED 方向:

照佈局焊接, 下面的焊路:

左邊, 焊 IR LED, 盡量LED頂端向著收訊窗:

右邊, 我銲了母pin座, 讓 Arduino mini pro 可以有機會拔下來移作他用:

尾端有 IR receiver:

前端 USB 公頭, 從機上盒的 USB接口取 5V 電:

鐺鐺! 完成! 比起之前的 x61 底座 IR 改造工程簡單多了, 接下來測試:

當然不是只有硬體, 程式要upload進去, 程式在此:
https://github.com/smallbeetw/arduinosketch/blob/master/Panasonic2KbroIRtrans/Panasonic2KbroIRtrans.ino

程式很簡單, 就是將 Panasonic IR hash code 和 kbro raw code 作成一個 mapping table. 後續從 IR receiver 收進來的 IR code 和 mapping table 中的的 panasonic hash code 逐一比對, 如果有 match 就發出相對應的 kbro raw code.

反覆測試的過程中, 有修改程式的部份主要是 deley time, 測過之後用 30 效果最好.

以下為完成後的成果影片:


同樣的設備可以用來轉換 Locationfree 發射出來的 Tivo IR code 成為 Kbro IR code, 而不用擔心 IR code 沒有內建的問題. SlingBox 也可以用相同的方式解決找不到 IR code 的問題, 因為這些機器幾乎都有 Tivo IR code. 只要用 Tivo IR code 作為基礎來轉換成需要的機器, 可以延續 Locationfree 或 SlingBox 的壽命.


2014-12-12 補充:
一開始的設計並沒有把 kbro 機上盒的 power鍵和 Panasonic 電視的遙控器 power 鍵綁在一起, 但是這樣一來就需要設定 kbro 機上盒永遠開機狀態, 否則還是需要原本的遙控器來開機:

預設是24小時沒人操作就會自動關機:

後來改了程式將 power 鍵 binding 起來, 由於我的機上盒放在電視櫃內, 距離電視的收訊窗有一段距離, 有時候沒辦法完全同步, 所以另外再找一個遙控器上的DTV/TV鍵特別binding到 kbro 的power鍵. 詳細請看程式.

當power鍵binding之後, 就可以把自動待機時間調整短一點, 到12小時自動關機, 這樣就算沒有同步關到機上盒, 機上盒12小時後也會自動關機. 倒是那個3小時的選項有點太短了, 比較長的片子是有可能超過三小時, 應該弄個4或5小時的選項會比較有用:

2014-12-20 補充:
心血來潮用簡易USB電表量一下耗電:

kbro的機上盒耗電5V供電還算穩定:
我有兩台kbro機上盒, 另一台的前端USB就容易斷電, 機上盒品質還要加強.

另外量安培流量, 量不出來, 顯示0.00A已經小於簡易電表的最低解析度: 還算省電:
現在市面上有可以使用3A充電電池的USB充電盒, 所以可以嘗試用這樣的充電盒來供電. 缺點是這種USB充電盒不便宜, 也要三百元台幣左右.

2015-01-10 補充:
補充洞洞板的俯視圖和USB公頭的pin腳, 方便了解如何把電從USB頭接進Arduino:





2016-01-11 補充:
在一年的快樂使用後, 這兩天又做了另一個轉換器用來轉換 LF-BOX1的 Panasonic CATV1 code 給 kbro 機上盒用, 發現本篇抓的 raw code 無法用在比較舊的 kbro 機上盒. 無論 Arduino 用 IRremote 怎麼發都無反應. 可能 code 有不同. 如果想使用我抓的 raw code 的同好, 請先看一下您的機上盒是不是長這樣:


確切的完整 kbro 凱擘遙控碼在新的文章中:
[Arduino] 完整抓取 凱擘 kbro 遙控器紅外線原碼並發出重新發出以控制機上盒

more: [Arduino] 以 nRF24L01+ 和 RF24 library 製作無線電端點
more: [Locationfree] 製作紅外線遙控轉換器 IR translator LF-BOX1 Panasonic CATV/DVD 轉 Tivo


備註:

Panasonic 遙控器 Raw data:


Channel UP:
Unknown encoding: 4DE74847 (32 bits)
3450,1750,450,400,450,1300,450,400,450,400,450,450,400,450,450,400,450,450,400,450,450,400,450,450,400,450,450,400,450,1300,450,400,450,400,450,450,450,400,450,400,450,450,400,450,450,400,450,450,400,1300,450,450,400,450,450,400,450,450,400,450,450,400,450,400,450,450,450,400,450,400,450,1300,450,400,450,1300,450,1300,400,450,450,400,450,450,400,450,450,1300,400,450,450,1250,450,1300,450,400,450,1300,450,

Channel DOWN:
Unknown encoding: B8781EF (32 bits)
3400,1750,450,400,450,1300,450,400,450,400,450,450,450,400,450,400,450,450,450,400,450,400,450,450,400,450,450,400,450,1300,450,400,450,450,400,450,450,400,450,400,450,450,450,400,450,400,450,450,450,1250,450,450,450,400,450,400,450,450,400,450,450,400,450,450,400,450,450,1300,400,450,450,1250,450,450,450,1250,450,1300,450,400,450,450,450,1250,450,450,400,1300,450,450,400,1300,450,1300,450,400,450,1300,450,

ONE 1:
Unknown encoding: F7283C77 (32 bits)
3400,1750,450,450,450,1250,450,450,400,450,450,400,450,450,400,450,450,400,450,400,450,450,450,400,450,400,450,450,450,1250,450,450,450,400,450,400,450,450,450,400,450,400,450,450,400,450,450,400,450,1300,450,400,450,400,450,450,450,400,450,400,450,450,450,400,450,400,450,450,450,400,450,400,450,450,450,1250,450,450,400,450,450,400,450,450,400,450,450,400,450,400,450,1300,450,400,450,450,450,1250,450,

TWO 2:
Unknown encoding: 757FB4DF (32 bits)
3450,1750,400,450,450,1300,400,450,450,400,450,400,450,450,450,400,450,400,450,450,450,400,450,400,450,450,450,400,450,1300,400,450,450,400,450,450,400,450,450,400,450,450,400,450,450,400,450,400,450,1300,450,400,450,450,450,400,450,400,450,450,450,400,450,400,450,450,400,1300,450,450,400,450,450,400,450,1300,450,400,450,400,450,450,450,1250,450,450,450,400,450,400,450,1300,450,400,450,450,400,1300,450,

THREE 3:
Unknown encoding: B33B4597 (32 bits)
3400,1750,450,450,400,1300,450,450,400,450,450,400,450,400,450,450,450,400,450,400,450,450,450,400,450,400,450,450,450,1250,450,450,400,450,450,400,450,450,400,450,450,400,450,450,400,450,450,400,450,1300,450,400,450,400,450,450,450,400,450,400,450,450,450,400,450,400,450,450,400,1300,450,450,400,450,450,1300,400,450,450,400,450,400,450,450,450,1250,450,450,450,400,450,1300,450,400,450,400,450,1300,450,

FOUR 4:
Unknown encoding: 3C03E507 (32 bits)
3400,1750,450,400,450,1300,450,400,450,450,400,450,450,400,450,400,450,450,450,400,450,400,450,450,450,400,450,400,450,1300,450,400,450,450,400,450,450,400,450,450,400,450,450,400,450,400,450,450,450,1250,450,450,450,400,450,400,450,450,450,400,450,400,450,450,400,450,450,1300,400,1300,450,450,400,450,450,1250,450,450,450,400,450,400,450,1300,450,1300,450,400,450,400,450,1300,450,400,450,450,400,1300,450,

FIVE 5:
Unknown encoding: E705551F (32 bits)
3400,1750,450,400,450,1300,450,400,450,450,450,400,450,400,450,450,450,400,450,400,450,450,400,450,450,400,450,450,400,1300,450,450,400,450,450,400,450,400,450,450,450,400,450,400,450,450,450,400,450,1300,450,400,450,400,450,450,400,450,450,400,450,450,400,450,450,400,450,450,400,450,450,1250,450,450,450,1250,450,450,450,400,450,400,450,450,450,400,450,1300,400,450,450,1300,400,450,450,400,450,1300,450,

SIX 6:
Unknown encoding: A4A58EC7 (32 bits)
3400,1750,450,400,450,1300,450,400,450,450,450,400,450,400,450,450,450,400,450,400,450,450,400,450,450,400,450,450,400,1300,450,450,400,450,450,400,450,400,450,450,450,400,450,400,450,450,450,400,450,1300,450,400,450,400,450,450,400,450,450,400,450,450,400,450,450,400,450,1300,450,400,450,1300,450,400,450,1300,450,400,450,400,450,450,450,1250,450,450,400,1300,450,450,400,1300,450,450,400,450,450,1250,450,

SEVEN 7:
Unknown encoding: E2E45F7F (32 bits)
3400,1750,450,400,450,1300,450,400,450,400,450,450,450,400,450,400,450,450,450,400,450,400,450,450,450,400,450,400,450,1300,450,400,450,450,400,450,450,400,450,450,400,450,450,400,450,450,400,450,450,1250,450,450,450,400,450,400,450,450,450,400,450,400,450,450,450,400,450,400,450,1300,450,1300,400,450,450,1250,450,450,450,400,450,400,450,450,450,1250,450,1300,450,400,450,1300,450,400,450,450,400,1300,450,

EIGHT 8:
Unknown encoding: 6BACFEEF (32 bits)
3450,1750,400,450,450,1300,400,450,450,400,450,400,450,450,450,400,450,400,450,450,450,400,450,400,450,450,450,400,450,1300,400,450,450,400,450,450,400,450,450,400,450,450,400,450,450,400,450,400,450,1300,450,400,450,450,450,400,450,400,450,450,450,400,450,400,450,450,450,1250,450,1300,450,1300,400,450,450,1250,450,450,450,400,450,400,450,1300,450,1300,450,1250,450,450,450,1250,450,450,400,450,450,1300,400,

NINE 9:
Unknown encoding: E88E91F (32 bits)
3400,1750,450,400,450,1300,450,400,450,450,400,450,450,400,450,450,400,450,450,400,450,450,400,450,450,400,450,400,450,1300,450,400,450,450,450,400,450,400,450,450,450,400,450,400,450,450,450,400,450,1300,400,450,450,400,450,450,400,450,450,400,450,400,450,450,450,400,450,400,450,450,450,400,450,1300,450,1250,450,450,450,400,450,400,450,450,400,450,450,400,450,1300,450,1300,400,450,450,400,450,1300,450,

ZERO 0:
Unknown encoding: 7D168BCF (32 bits)
3400,1750,450,400,450,1300,450,400,450,400,450,450,450,400,450,400,450,450,450,400,450,400,450,450,450,400,450,400,450,1300,450,400,450,450,400,450,450,400,450,450,400,450,450,400,450,400,450,450,450,1250,450,450,450,400,450,400,450,450,450,400,450,400,450,450,400,450,450,1300,400,450,450,400,450,1300,450,1300,400,450,450,400,450,400,450,1300,450,400,450,450,450,1250,450,1300,450,400,450,450,400,1300,450,

OK:
Unknown encoding: BB0ED9E1 (32 bits)
Raw (100): -27668 3450 -1750 450 -400 450 -1300 450 -400 450 -400 450 -450 450 -400 450 -400 450 -450 400 -450 450 -400 450 -450 400 -450 450 -400 450 -1300 450 -400 450 -400 450 -450 450 -400 450 -400 450 -450 450 -400 450 -400 450 -450 400 -1300 450 -450 400 -450 450 -400 450 -400 450 -450 450 -400 450 -400 450 -450 450 -1250 450 -450 450 -400 450 -1300 400 -450 450 -400 450 -1300 450 -400 450 -1300 450 -400 450 -400 450 -1300 450 -400 450 -450 450 -1250 450 -1300 450

RETURN:
Unknown encoding: D28EF217 (32 bits)
Raw (100): -20988 3450 -1700 450 -450 400 -1300 450 -450 400 -450 450 -400 450 -400 450 -450 450 -400 450 -400 450 -450 450 -400 450 -400 450 -450 400 -1300 450 -450 400 -450 450 -400 450 -450 400 -450 450 -400 450 -450 400 -450 450 -400 450 -1300 450 -400 450 -400 450 -450 450 -400 450 -400 450 -450 400 -450 450 -400 450 -1300 450 -1300 400 -1300 450 -400 450 -1300 450 -1300 450 -400 450 -400 450 -1300 450 -1300 400 -1300 450 -450 400 -1300 450 -1300 450 -400 450 -1300 450

POWER:
Unknown encoding: F61E2A57 (32 bits)
Raw (100): -15610 3400 -1750 450 -450 450 -1250 450 -450 400 -450 450 -400 450 -450 400 -450 450 -400 450 -450 400 -450 450 -400 450 -450 400 -450 450 -1250 450 -450 450 -400 450 -400 450 -450 400 -450 450 -400 450 -450 400 -450 450 -400 450 -1300 450 -400 450 -450 400 -450 450 -400 450 -400 450 -450 450 -400 450 -400 450 -1300 450 -400 450 -1300 450 -1300 400 -1300 450 -1300 450 -400 450 -400 450 -1300 450 -400 450 -1300 450 -1300 400 -1300 450 -1300 450 -400 450 -1300 450


kbro 遙控器 Raw data (已拿掉第一個 code, 長度為 18 - 1 = 17):


Channel up:
250,850,250,1000,250,700,250,750,200,750,250,2450,250,750,200,750,250

Channel Down
250,850,250,850,250,750,200,750,250,700,250,2600,250,750,200,750,250

POWER:
250,850,250,700,250,750,200,750,250,750,200,2750,250,750,200,750,200

ONE 1:
250,850,250,2650,200,750,200,750,250,750,200,900,200,750,200,750,250,

TWO 2:
250,850,250,2450,250,750,200,750,250,700,250,1000,250,750,200,750,200,

THREE 3:
200,900,200,2400,200,750,200,750,250,750,200,1150,200,750,250,750,200,

FOUR 4:
200,900,200,2250,200,750,200,750,250,750,200,1300,200,750,250,700,250,

FIVE 5:
250,850,250,2100,200,750,250,700,250,750,200,1400,250,750,200,750,250,

SIX 6:
250,850,250,1950,200,750,250,750,200,750,200,1600,200,750,200,750,250

SEVEN 7:
200,900,200,1850,200,750,250,750,200,750,200,1700,250,700,250,750,200,

EIGHT 8:
250,850,250,1650,250,750,200,750,250,750,200,1800,250,750,200,750,250,

NINE 9:
200,900,250,1550,200,750,200,750,250,750,200,1950,250,750,200,750,200

ZERO 0:
200,900,200,2800,200,750,200,750,250,750,200,750,200,750,250,750,200

OK:
250,850,250,1800,250,750,200,750,200,1050,200,1450,200,750,200,750,250

RETURN:
250,850,250,1300,200,750,200,750,250,1000,200,2000,200,750,200,750,250