• 32

[很好DIY] WinLIRC電腦萬用紅外線遙控器

先向各位說聲對不起,來篇鞭屍文

很多大大不成功的,在最後做Alnayze的時候都會失敗
我想在第四步驟有些許不同

Please repeatedly press and release the ...

Please press and hold down the ...


我查看 WinLirc 的原始碼[learndlg.cpp],發現這邊有不同


至於這個[repeating],不曉得是不是硬體的差別
請問有人是第二種圖也成功的嗎?
JerryChen wrote:
很多大大不成功的,在最後做Alnayze的時候都會失敗


其實WinLIRC並不是萬能..還是有些遙控器無法學習的..
這時可以的話..換個遙控器成功率會大一點..
我換過的遙控器已經不下10支了,這還包括微軟MCE的遙控器兩種

所以我合理懷疑會不會是電腦硬體的問題 ~~~
請教各位一下
JETTER大大的電路
可以使用在IRCtrl嗎
同樣的電路可以使用在不同軟體上嗎
你好, 我是新加入這討論區, 最近才開始玩 WinLIRC, 請多多指教

關於學習搖控訊號, 我檢視過幾個牌子的搖控器發出的訊號波形
如果長按搖控器的鍵, 發覺波形大致分三類:

1.真正的訊號串只會發射一次
然後再相隔故定時間再發射一個短 pluse

2.整個訊號串會不斷重複發射

3.先發射一組訊號串a, 相隔一段時間後發射另一組訊號串b
之後ababab...不斷重複
例如 sharp 的電視機/錄影機就是用這種模式

WinLIRC 會因應不同種類的訊號, 以不同方式去學習
例如第 1 類會要求你按下, 放開, 按下, 放開...重複數次

第 2 類會要你長按鍵, matches 會由1 跳至 64
如果中途放開會看到 faults 數值跳升

第 3 類最麻煩, 也是 WinLIRC 學不來
我估計 WinLIRC 收到 a 後以為已是整個訊號
當收到 b 時, 由於 a 不等於 b, 於是 b 被當作錯誤訊號
所以 WinLIRC 學不到

如果學不到, 可以試試用 raw code
按下搖控鍵後, 會見到一堆數字在跳
去除第一個 space
由第一個 pause 的數字開始, pspspspsp...p抄出一堆數字
由p開始, 最後也是p
用記事本打開 *.cf 檔, 將這堆數字抄入去

但究竟要抄幾多少個p同s, 就要視乎波形而定
單看數字很難看得出
你可以試試將 dcd 同gnd 之間駁一個50k ohm 可變電阻
可變電阻中間的腳駁去 soundcard 的 line-in 的左或右
先將可變電阻調到最小, 慢慢調大
直到錄音程式可看到大小適中的波形
用錄音程式將訊號的波形錄下來
(例如 audacity, 它是免費程式, 而且有免安裝portable版)
再檢視訊號, 應該會發現波形以大約固定的模式不斷重複
數一數其中一段波形有多少個ps, 就是要抄的數量

但注意, 由於紅外線接收組件在靜態時的輸出是+5v
收到訊號時就會在 +5v 與 0v 之間跳動
當訊號結束後回到 +5v
所以audacity 顯示的波形實際是上下反轉的
高電壓是 space, 低電壓才是 pause

patrickkk wrote:
感謝分享啊...今天...(恕刪)


不太明白

是說背面腳位的從左到右的順序嗎?
我也按圖施工做了一個,但在我的電腦確不能動作,別的電腦確可以,
後來我去量RTS的電壓,未開winlirc是-10V,開了之後是2.5V,
是我的電腦的 UART driving 不夠嗎?
不好意思請問各位大大....

我做好的電路是OK的,遙控器也能用...

但是就是有個很奇怪的地方....要按兩下才會有動作

硬體我是用RC-9995這種遙控器... 軟體是girder 配合winlirc plugin

RTS 只有 2.5V,根本不足以推動 7805。
如果把 WinLIRC 的硬件移除,執行 WinLIRC 硬件時 RTS 的電壓多少呢?

另外,可試試把 7805 移除,改用其它方法供電給紅外線接收器。
例如從電腦的 USB port 取電,Pin 1 和 4 分別是 +5V 和 Gnd。又或者改用 4xAA/AAA 電池,雖然紅外線接收器所需的電源是 +5V,但用 4 粒 AA 或 AAA 普通電池一共 6V 也沒問題,或是用 NiMH 充電池,一共 4.8V 也可以,我製作其它需要用紅外線接收器的電子玩意,很多時也是用 4 粒 AAA 電池。不過,如果用電池的話,要另外加開關掣,因為那紅外線接收器在靜態時也頗吃電的,如果任由它長期開動,大約一、兩個星期就會把電池用光。
分享一下我的經驗,本來想要將手上閒置的雙揚MA660改裝成接收器,原本期望能將大大提供的接收線路加上PL2303來實施,不過最後失敗了...
改裝過後的接收器可以收到遙控器發出的訊號,但是經過WINLIRC所讀取到的RAW DATA似乎就不如預期了,遙控器任何按鍵所發出的訊號,經過pl2303傳到PC後皆被判定成同一按鍵,從RAW DATA分析可以發現,不管PULSE或是SPACE的最小值都大於1900,因此當訊號的width小於1900就無法判斷出來,而我使用同一個遙控器,但是將電路中的pl2303移除,直接將接收線路接到pc的com1,就可以正常動作,從raw data分析,可以發現pulse或是space所得到的最小值約500,因此500~1900之間的signal width都可以正常判斷出.
這個結果也可以說明為何有pl2303的接受器會將所有按鍵判定為同一按鍵,因為加上PL2303將訊號轉至虛擬的COM Port後,訊號的細節皆無法正確讀出.
這是小弟的拙見..或許有不正確的地方..還請見諒..分享給大家參考...
  • 32
內文搜尋
X
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 32)
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?