900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 烟雾传感器(mq-2)使用详细教程(基于树莓派3b+实现)

烟雾传感器(mq-2)使用详细教程(基于树莓派3b+实现)

时间:2021-12-13 19:53:25

相关推荐

烟雾传感器(mq-2)使用详细教程(基于树莓派3b+实现)

经验:

网上大部分关于mq-2的代码,实现的功能判断是否有烟雾值,而具体的烟雾值无法读取。由于树莓派无法直接读取模拟信号A0值,所以得借助PCF8591(读取烟雾值关键adc)读取,这个PCF8591相当关键,必须使用。

硬件准备:

树莓派3b+、mq-2、PCF8591(读取烟雾值关键adc)和杜邦线

PCF8591如下图:

实物连接:

PCF8591与树莓派相连接:

mq-2与树莓派和PCF8591相连接

mq-2 PCF8591 树莓派

vcc------------------------3.3v

gnd-----------------------gnd

AOUT–A0

关键连接如图:

设置树莓派:

打开I2C接口

打开树莓派终端,输入以下指令进入配置界面

sudo raspi-config

选择 Interfacing Options -> I2C ->yes 启动 i2C 内核驱动

上代码:

import timefrom smbus import SMBusaddress = 0x48MODE0 = 0x00 #Channel0 = AIN0#Channel1 = AIN1#Channel2 = AIN2#Channel3 = AIN3MODE1 = 0x10 #Channel0 = AIN3-AIN0#Channel1 = AIN3-AIN1#Channel2 = AIN3-AIN2MODE2 = 0x20 #Channel0 = AIN0#Channel1 = AIN1#Channel2 = AIN3-AIN2MODE3 = 0x30 #Channel0 = AIN1-AIN0#Channel1 = AIN3-AIN2CHNL0= 0x40 #Using Channel0CHNL1= 0x41 #Using Channel1CHNL2= 0x42 #Using Channel2CHNL3= 0x43 #Using Channel3DAouputEn = 0x40PCF8591 = SMBus(1)while True:value0 = PCF8591.read_byte(address)PCF8591.write_byte(address, CHNL0)time.sleep(2)

运行结果

具体实现效果和具体资料可到微信公众号查看:

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