V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
longmeier90
V2EX  ›  Python

红外避障传感器怎么设置 持续输出高低电平呢

  •  
  •   longmeier90 · 2023-10-10 17:42:47 +08:00 · 1088 次点击
    这是一个创建于 429 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我有一个程序,需要红外传感器 持续输出高低电平来判断是左还是右。
    但是现在传感器是 触发式的输出信号, 触发一次输出一次,不是连续性的输出。怎么能改造一下变成连续性的输出信号。
    6 条回复    2023-10-11 10:40:11 +08:00
    zzz22333
        1
    zzz22333  
       2023-10-10 19:25:18 +08:00
    轮询读吧
    mrzx
        2
    mrzx  
       2023-10-10 19:37:56 +08:00
    哈,最近刚在学嵌入式,红外线模块上应该有针脚可以调节的,看下硬件说明书.

    红外线模块,普遍有 2 种触发方式的,一种是持续式的,用来检测是否在一直触发,一旦检测有人触发了,一直会处于高电平状态
    可以判断对方的持续时间,就是人触发了红外线,一直在触发红外线的检测,可以用来检测和计算对方的触发时间

    还有种是只持续触发一会,在过一会自动会变成低电平,这种方式可以用来检测对方触发的红外线次数,然后又触发,又变成高电平,
    mrzx
        3
    mrzx  
       2023-10-10 19:38:30 +08:00
    刚学嵌入式,以上都是我自己理解的,如果有说错的地方,希望大牛修正.
    lrzsw2008
        4
    lrzsw2008  
       2023-10-11 09:41:41 +08:00
    看传感器手册,如果能切换模式就切换传感器工作模式。
    如果这个传感器只有这种工作模式那你要么换支持你所需要的模式的传感器,要么你自己这边代码换个方法来写。


    另外如果你是担心现有的触发一次输出一次,你的程序没法及时捕捉到信号变化,可以考虑使用中断。如果程序所在设备比较复杂,你可以用红外挂在 STC8 、STM8 之类的廉价单片机上,这些单片机外部中断接红外,再有单片机转换成你需要的持续电平。
    longmeier90
        5
    longmeier90  
    OP
       2023-10-11 09:58:24 +08:00
    @zzz22333 我的程序就是循环读取的, 但是信号就发一次,就没有了。
    koast
        6
    koast  
       2023-10-11 10:40:11 +08:00   ❤️ 1
    优先尝试用中断来捕捉和处理这个信号,如果由于某些原因不能这么做的话,那就外加个触发器芯片,把脉冲信号转换成电平信号就好了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2753 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:10 · PVG 22:10 · LAX 06:10 · JFK 09:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.