如何在我的Pi中使用DS18B20温度传感器?


12

我有几个DS18B20温度传感器。这些通常在Arduino项目中使用,但是我不明白为什么不将它们与Pi一起使用。有一个名为DigiTemp的软件似乎可以驱动设备,我已经在Pi上编译并安装了它。不清楚的是,如何连接它们?直接到UART?

Answers:


5

Adafruit发布了一个名为occidentalis发行版,该发行版内置了1线支持。

DS18B20温度传感器最常使用一根导线。Pi没有“硬件” 1-wire支持,但是可以成功地实现它的冲击。将DS18B20的VCC连接到3V,接地到地,将数据连接到GPIO#4。然后在Data到VCC之间连接一个4.7K电阻。

这将允许您使用以下命令读取温度:

cat /sys/bus/w1/devices/28-*/w1_slave

我不知道digitemp是否可以与之配合使用,但是如果您只想获取温度图,编写munin插件应该相当简单


有什么方法可以在Arch Linux中使用1-wire驱动程序?
Tomas 2012年

@Tomas,我没有使用Arch Linux,但我希望他们最终能在其中安装该模块。同时,您必须自己修补内核。
约翰·拉鲁伊

5
官方内核现在支持GPIO 4上的1条线(从8月23日开始更新),因此使用它的任何发行版都将对此提供支持。但是,您必须更新内核(确保它基于内核3.2)。然后插入wirew1-therm模块。
2012年

4

我认为秘诀在于本页的最后一行

它链接到DS9097U,后者执行UART到1线转换

我以前在这些设备上使用过“ pic arbiter ”。它的作用类似,它从1-wire器件中获取数据并适合UART使用

也可以将I2C器件(例如MCP9804)直接连接到GPIO引脚。缺点是您需要4根电线


谢谢。如果可能的话,我想使用传感器而不添加其他IC。我不介意花费3个GPIO引脚。直接使用GPIO直接连接1线设备是否容易?
托马斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.