900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 树莓派红外遥控电机

树莓派红外遥控电机

时间:2021-08-02 02:33:08

相关推荐

树莓派红外遥控电机

树莓派红外遥控电机

1、 元器件

淘宝网购买的红外遥控和红外接受模块,注意:只要红外接收器能够接收到遥控器发出的信号即可,任意型号都ok,后续录入对应按键信息即可,下图只是一种:

2、 接线

红色——电源+

黑色——电源-

白线——信号线

3、 树莓派红外环境配置

3.1 lirc配置

Ps:前提是putty通过wifi登陆上树莓派

第一步,终端输入命令:

sudo apt-get install lirc

sudo apt-get install liblircclient-dev

sudo apt-get install python3-lirc

第二步,修改文件 /boot/config.txt 配置lirc的红外接口IO:

sudo vim /boot/config.txt

找到 lirc-rpi module 的部分,进行修改,结果如下:

解释:gpio_in_pin=12对应树莓派bcm2835中的12引脚编号,如下红色框:

第三步,修改文件 /etc/lirc/lirc_options.conf 配置lirc硬件接口,结果如下所示:

保存退出,重启树莓派。

第四步,测试:

终端输入命令:

sudo service lircd stop # 停止lircd服务

mode2 -d /dev/lirc0 # 接收红外信号

然后按下遥控器中的任意键:有数据产生,则说明连接成功,如下图所示:

3.2 获取红外遥控器按键值

第一步,配置。

终端输入命令:

irrecord -d /dev/lirc0 ~/lircd.conf

按照提示输入回车键,出现如下所示界面:

此时是给配置文件取名字:我这里输入motor,按回车,出现,红色框中的motor.lircd.conf则为红外遥控器配置文件:

再按下回车键,开始录入遥控器按键信息,注意:10s内没接受到数据,会自动终止。

遥控器按键方法:

第一次按照顺序,将所有的按键按至少一次,这个次数自己决定,你会发现,每按一次键,会打印出一个点,这个点就是接收到的信息,直到录满一行点,第一次录入就会结束。值得注意的是:第一次录数据,,为确保红外遥控器键上的每个值都录入,建议每个键先按一次,录入完整个按键值之后再重复录入。如下所示:

第二次按照顺序,将所有的按键按至少两次,数据为2x80个,不管这个,录入到出现这句话:Please enter the name for the next button (press to finish recording)

的时候就说明录制结束,再输入回车键就录制完成:

在家目录下会发现有motor.lircd.conf出现,

因为我在前面命令的时候,保存目录为~/lircd.conf:

第二步,将motor.lircd.conf文件拷贝到/etc/lirc/lircd.conf.d目录下:

sudo cp ~/motor.lircd.conf /etc/lirc/lircd.conf.d

问题:我们来看看motor.lircd.conf里面是什么?

红色框就是按键编码,比如:遥控器第一个按键KEY_POWER的编码就是0x00FFA25D,这个编码对后续编程很有用,蓝色框呢?蓝色框是我删掉的编码,都是一样的,为什么删掉呢,因为不删掉,遥控器按键没反应,本质就是删掉后面的编码,程序才能够正确调用。

第三步,配置程序执行环境:

进入/etc/lirc目录,输入命令:

sudo cp lircd.conf.dist lircd.conf

sudo cp lirc_options.conf.dist lirc_options.conf

第四步,编辑irexec.lircrc,里面有很多个,例举一个:

prog = irexec 代表执行程序为irexec

button = KEY_RED 表示按键的自定义含义,可以按照实际情况定义

config = echo “KEY_RED” 代表按下这个键将会执行echo “KEY_RED”这个语句,可以换成其他的,比如 config = mplayer 1.mp3 按下这个键之后,会播放1.mp3这个音乐,可以自定义

第五步,将irexec.lircrc改名为.lircrc,并将.lircec复制到/root和/目录,原因是:执行irexex程序会去/root或者/下调用.lircrc。

然后重启lirc:sudo service lircd restart

第六步,测试:输入irexec,按下遥控器的键,会输出如下信息,再次提示:这个信息是在.lircrc中定义的,我贴图出来,给大家参考。

3.3 程序获取编码:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。