如何在树莓派Pico上使用红外线接收模块?

电子说

1.2w人已加入

描述

在树莓派 Pico 上使用红外线接收模块(HX1838 型),我们采用开源的 pico_ir 库。

这需要下载整个库文件,解压之后将其中的 pico_ir 目录整体上传到 Pico 的根目录。可以使用 Thonny 的 File 功能框上传。

硬件连接

红外线接收模块的 + 脚接树莓派 Pico 的 VSYS。
红外线接收模块的 – 脚接树莓派 Pico 的 GND。
红外线接收模块的 S 脚接树莓派 Pico 的 GP28。

编程

要导入刚才上传在根目录 pico_ir 库,需要使用两行代码:

 

import sys 
sys.path.append('pico_ir')

 

否则会提示找不到 pico_ir 的模块。下面是完整代码,将其保存在 Pico 的根目录,命名为 main.py。

 

import utime
import sys 
sys.path.append('pico_ir')
from machine import Pin
from pico_ir import read_code, send_code, validate_code, InvalidCodeException
 
pin_in = Pin(28, Pin.IN, Pin.PULL_UP)
pin_out = Pin(21, mode=Pin.OUT)
 
while True:
    out = read_code(pin_in)
    # ignore random signals 
    if out:
        try:
            validate_code(out)
            print(out)
            utime.sleep_ms(100)
            send_code(pin_out, out)
        except InvalidCodeException:
            print("InvalidCodeException:" + out)

 

效果

运行之后,将红外遥控器对着接收头按下不同的按键,Thonny 的 Shell 窗口会显示相应按键的编码。如果希望在接收到某个按键编码后处理一些事情,可以在上面的代码中加入 if 判断并添加处理逻辑。

Shell







审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分