优快云广告邮件太多了,邮箱已经屏蔽了优快云,留言请转SegmentFault:https://segmentfault.com/a/1190000014135418
使用树莓派搭配红外管,进行接收、发射红外信号是很方便的,同时红外信号也有很广泛的用途。这次我们将总结使用树莓派制作一个空调红外遥控器的过程。
准备工具
- 红外接收管(参考型号HS0038B)
- 红外发射管(参考型号TSAL6200)
- 遥控器(或能使用万能遥控器的手机)
- 用作开关的三极管、限流电阻(非必须、参考型号S9013)
使用开关三极管可以有效增强红外发射管的性能,但不是必须的。不使用三极管也能在三五米范围内成功遥控空调。这些材料总共费用不超过1块钱,反而是快递费比较贵了。
看到遥控器、接收管、发射管,相信已经有人明白了制作遥控器的原理。是的,我们只需要事先把遥控器发射出的红外信号记录下来,然后通过树莓派依样画葫芦地把这个信号发射出去,一个“克隆”版的遥控器就做好了。
硬件连接
*注意:两个GPIO引脚是固定的,与后续安装的软件有关。
接收管信号输出脚 OUT → GPIO18
发射管正极(不使用开关三极管的情况下) → GPIO17
如果你手头上没有开关三极管,直接将红外发射管正极接在GPIO17,如下所示:
如果接入三极管,用GPIO17连接基极,控制发射极和集电极的通断:
(偷懒了没有接入限流电阻,在意的同学自行接入)
安装lirc
sudo apt update
sudo apt install lirc
修改CONFIG.TXT
修改文件 /boot/config.txt
:
sudo nano /boot/config.txt
找到 lirc-rpi module
的部分,修改为:
# Uncomment this to enable the lirc-rpi module
dtoverlay=lirc-rpi,gpio_out_pin=17,gpio_in_pin=18,gpio_in_pull=up
修改驱动配置
修改文件 /etc/lirc/lirc_options.conf
:
sudo nano /etc/lirc/lirc_options.conf
# 把:
driver = devinput
device = auto
# 修改为:
driver = default
device = /dev/lirc0
最后,重启树莓派。
简单测试是否正常
# 必须停止lircd服务才能进入接收红外信号模式
sudo service lircd stop
mode2 -d /dev/lirc0
运行上述命令后,用遥控器对着接收管随便按一些按钮,如果出现形式如下的输出就表示正常:
space