红外线触发开关问题| AVR开发版块- AVR-ARM开发网论坛- Powered by PHPWind
大家好!
现在我设计一个红外线触发开关。
当有人接近时,通过接收二极管接收发射二极管反射来的信号,导通开关。
1使用AVR ATMEGA8
2 发射是通过三极管导通,每125us置位发射二极管高电平8us。
3 根据二极管接收信号强度越大,电阻越小的原理,将它通过恒流放大,并转化成电压,通过A/D转化为对应的电压值。
算法是:(发射二极管高电平8us后,立即检测A/D转换值,并储存在寄存器,)连续进行4次,然后去掉{zg}与{zd1}值,取中间两个的ADC的平均值(ADC的范围是0—0FF。如果得出的平均值大于门电压A/D值,则导通开关。

根据这个原理,主要定出门电压A/D值,就可以定出人走多近可以触发开关。
(范围是0—50cm),

但现在出现了问题。
1.我定的门电压A/D值只能为700-1022,
小于700就循环触发,不能关,大于1022就人站多近都不能开。

2.在门电压A/D值700-1022,也不能调整很少的触发距离,反而调整置位发射二极管高电平8us的大小就有作用。

请问,是不是我的算法有问题呢。
谢谢各位高手指点一下吧。

郑重声明:资讯 【红外线触发开关问题| AVR开发版块- AVR-ARM开发网论坛- Powered by PHPWind】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——