佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1275|回复: 9

【询问】INFRARED

[复制链接]
发表于 25-5-2005 01:08 PM | 显示全部楼层 |阅读模式
请问有没有人会用PC控制INFRARED传送信号和接收信号呢。。。

或者是有没有测试INFRARED信号的软件吗。。。
回复

使用道具 举报


ADVERTISEMENT

发表于 26-5-2005 09:11 AM | 显示全部楼层
需要对红外线信号译码吗?
是什么红外线device? 你真正想做的是什么?
回复

使用道具 举报

 楼主| 发表于 26-5-2005 10:10 AM | 显示全部楼层
pic 于 26-5-2005 09:11 AM  说 :
需要对红外线信号译码吗?
是什么红外线device? 你真正想做的是什么?


终於有人理我了。。。。。谢谢你。。。。

其实我是想用PC传送信号到DVD机的INFRARED接收器。。。
所以我想知道有什么方法能够做的到呢。。。
回复

使用道具 举报

发表于 26-5-2005 06:43 PM | 显示全部楼层
明白了,方法还很多。
首先,知道DVD机IR的protocol 吗?例如:RC5, control-s, Sharp, RCA 等等...
知道了比较容易编码, 用parallel port 就可以了。

你需要IR receiver, 比如TSOP1838, 输出是5V,0V, 把信号用电容耦合连接到你的
sound card 的line in, 用Audio Editing Sofrtware, eg : SoundForge
进行录音,然后分析信号,记录入‘1'和 '0'的时间长度, 学习信号特征.
然后用parallel port playback 信号,(需要38~40khz的信号调制)

另一个方法,TSOP1838 的信号输入到parallel port,
写一个VB 程序,record/learn 信号, 不用管protocol。
(Timing 要很精确)

如果是我,我会用PIC,比较稳定.

硬件的电路,网络上有很多。。。
http://www.geocities.com/CapeCanaveral/Lab/1475/remotectrl.html
http://www.ee.washington.edu/cir ... s/PCIR/Welcome.html
http://www.google.com/search?q=p ... l&hl=en&lr=
回复

使用道具 举报

 楼主| 发表于 26-5-2005 07:50 PM | 显示全部楼层
pic 于 26-5-2005 06:43 PM  说 :
明白了,方法还很多。


哇!!谢谢你解释的那么详细。。。。


首先,知道DVD机IR的protocol吗?例如:RC5, control-s, Sharp, RCA 等等...
知道了比较容易编码, 用parallel port 就可以了。


目前还不知道要用那个牌子的DVD。。。。
可是我应该怎样知道IR的Protocol呢。。。。



你需要IR receiver, 比如TSOP1838, 输出是5V,0V, 把信号用电容耦合连接到你的
sound card 的line in, 用Audio Editing Sofrtware, eg : SoundForge
进行录音,然后分析信号,记录入‘1'和 '0'的时间长度, 学习信号特征.
然后用parallel port playback 信号,(需要38~40khz的信号调制)

另一个方法,TSOP1838 的信号输入到parallel port,
写一个VB 程序,record/learn 信号, 不用管protocol。
(Timing 要很精确)


我想第二个方法会比较适合我,因为我就是要这个。。。。
我是用PC做控制,所以需要用到VB。
可是前辈,VB接收INFRARED该怎样写呢。
有没有相关的资料吗?我尝试去找,但找不着。。。



如果是我,我会用PIC,比较稳定.


你是说用PIC做INFRARED和PC的连接吗。。。。
回复

使用道具 举报

发表于 27-5-2005 10:20 AM | 显示全部楼层
目前还不知道要用那个牌子的DVD。。。。
可是我应该怎样知道IR的Protocol呢。。。。

那不要管protocol了,做一个universal 的吧。

可是前辈,VB接收INFRARED该怎样写呢。

我不是什么前辈啦,只是有玩过简单的INFRARED罢了。。
我觉得SimonLoo 才是这里的前辈。。。

关于VB接收INFRARED,我没写过,但可试试看:
1。 TSOP1838 的信号输入到parallel port,
2。 用VBinp, VBoutp 指令读parallel port,(inout32.dll, DriverLINX port I/O Driver)
3。 VB program ,每一个ms(或者更快速) 就poll/ 读一次, 有红外线信号会读到一串1010
4。 比如:1111000011111000111100011111111110000。。。。。
5。记录它的pattern, 和DVD按键。
6. Learn 结束
7。Playback 你要的infrared 指令, 通过38Khz 的modulator + infrared LED.
8。 用soundcard playback 可能也可以。

Timing 很重要,一定要精确 , 不要用VB 的timer, 会吐血.
用win32 api.
'*********************************************************************
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

#If Win32 Then
    Private Declare Function GetTickCount Lib "kernel32" () As Long
#Else
    Private Declare Function GetTickCount Lib "kernel" () As Long
#End If
'*********************************************************************


另一个更简单的方法,如果按键不多,直接控制DVD remote control 的按键吧。

你是说用PIC做INFRARED和PC的连接吗。。。。

对,
INFRARED receiver -> PIC -> PC RS232
PC RS232 -> PIC -> INFRARED transmitter

PC IR remote control, DOS program, record / playback using parallel port.
含电路图, DOS C++ 源码,  虽然不是VB,但可以参考他的理论.
http://www.my-primesoft.com/project/pcir.zip

[ Last edited by pic on 27-5-2005 at 01:41 PM ]
回复

使用道具 举报

Follow Us
Superman80 该用户已被删除
发表于 27-5-2005 12:47 PM | 显示全部楼层

Hi pkl0001 and pic

各位好强哦,真令小弟佩服...要向大家多多学习,请各位多多指教指教...
回复

使用道具 举报

 楼主| 发表于 28-5-2005 10:28 AM | 显示全部楼层
pic 于 27-5-2005 10:20 AM  说 :
我不是什么前辈啦,只是有玩过简单的INFRARED罢了。。
我觉得SimonLoo 才是这里的前辈。。。


SimonLoo前辈可以说神龙首不见尾。。。。



关于VB接收INFRARED,我没写过,但可试试看:
1。 TSOP1838 的信号输入到parallel port,
2。 用VBinp, VBoutp 指令读parallel port,(inout32.dll, DriverLINX port I/O Driver)
3。 VB program ,每一个ms(或者更快速) 就poll/ 读一次, 有红外线信号会读到一串1010
4。 比如:1111000011111000111100011111111110000。。。。。
5。记录它的pattern, 和DVD按键。
6. Learn 结束
7。Playback 你要的infrared 指令, 通过38Khz 的modulator + infrared LED.
8。 用soundcard playback 可能也可以。

Timing 很重要,一定要精确 , 不要用VB 的timer, 会吐血.
用win32 api.
'*********************************************************************
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

#If Win32 Then
    Private Declare Function GetTickCount Lib "kernel32" () As Long
#Else
    Private Declare Function GetTickCount Lib "kernel" () As Long
#End If
'*********************************************************************


看得我一头雾水-_-||||
消化中~~~~~~~~~~~



另一个更简单的方法,如果按键不多,直接控制DVD remote control 的按键吧。


我想这也是最后的选择,如果再不行就唯有这样了。。。。



对,
INFRARED receiver -> PIC -> PC RS232
PC RS232 -> PIC -> INFRARED transmitter


我对PIC不熟悉,可能会使用8051
INFRARED Receiver -> 8051 -> PC RS232
PC RS232 -> 8051 -> INFRARED Transmitter



PC IR remote control, DOS program, record / playback using parallel port.
含电路图, DOS C++ 源码,  虽然不是VB,但可以参考他的理论.
http://www.my-primesoft.com/project/pcir.zip


可以试试。。。
如还有什么疑问,希望前辈多多指点。。。。
回复

使用道具 举报


ADVERTISEMENT

发表于 30-5-2005 10:47 AM | 显示全部楼层
看得我一头雾水-_-||||
消化中~~~~~~~~~~~

对不起,表达能力不好, 又不能打英文。
完前不明白吗? 没关系,你最后一定会成功的 , 可记得要跟我们分享你的研究成果。
回复

使用道具 举报

发表于 30-5-2005 10:52 AM | 显示全部楼层
各位好强哦,真令小弟佩服...要向大家多多学习,请各位多多指教指教...

Superman, 大家共同学习吧。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 2-6-2024 09:54 PM , Processed in 0.079862 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表