您的位置:首页 > 编程语言 > ASP

树莓派初体验之 温控探头

2016-07-06 18:28 597 查看


感谢海爷支援了一个三无的不锈钢防水温控探头,剥线后发现红黑橙三根线。首先我以我的RP赌它是18B20的探头,其次,继续赌红线是Vcc,黑线接地,橙线是数据线。电路图就懒得画了,搜“18B20”可以搜出来一堆。需要说明的是我的实验中4.7K的上拉电阻还是用上的。(图中的棕线连接了探头的橙线)
树莓派用到了1,6,7三个pin(物理编号,即3.3V,地,GPIO7)。红线接pin 1,黑线接pin 6,橙线接pin 7,上拉电阻直连1和7。

树莓派里要sudo raspi-config,启用I2C(在高级选项里)。

### 2017-02-08 修改###

### 在Pixel里是Interfacing Options###

然后修改/boot/config.txt,确认dtparam=i2c_arm=on没有被注释掉。

加一句:dtoverlay=w1-gpio-pullup,gpiopin=4

这里的4就是pin7,应该是采用BCM GPIO的标准。

都好了以后最好重启一下。

起来后用lsmod看一下,有没有类似的信息输出:

w1_gpio        3657  0

wire               25219  2 w1_gpio,w1_therm

我们感兴趣的正是w1_therm。

“在Linux的世界中,一切皆文件”。甚至在读取温控探头获取的温度数据的方式也是如此。

cd /sys/bus/w1/devices

ls

正常情况下能看到一个28开头的目录(每个18B20温控探头都有唯一序列号),cd 这个目录,看到其中有一个文件w1_slave。cat 这个文件,最后的 t=xxxxx就是当前温度值。当然,需要除一下1000。

所以后面有程序需要得到当前温度,本质上就是去读取并解析这个文件即可。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息