:mod:`ds18x20` --- 温度传感器 ================================================== .. module:: ds18x20 :synopsis: ds18b20温度传感器驱动 one wire总线是一种串行总线,仅使用一根电线进行通信(除了用于接地和电源的电线)。DS18B20温度传感器是一种非常流行的单线设备,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。 -------------------------------------------------- | | .. image:: https://potentiallabs.com/cart/image/cache/catalog/nov-dec/DS18B20-500x500-800x800.jpg :width: 200 .. image:: https://www.botshop.co.za/wp-content/uploads/2018/06/ds18b20-module.png :width: 200 .. image:: https://imgaz.staticbg.com/thumb/large/oaupload/banggood/images/89/FC/cebe2df9-a7d2-4f28-8477-9fd5ffc0ab46.jpg :width: 200 - 独特的onewire(单总线)接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 - 测温范围 -55℃~+125℃, - 支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。 - 工作电源: 3.0~5.5V/DC | | .. figure:: /../images/tutorials/ds18x20_res.jpeg :width: 300 :align: center 如果你使用的ds18b20单个器件,为保证数据传输稳定,信号OUT引脚需接4.7K的上拉电阻。 -------------------------------------------- DS18X20类 ------------- .. class:: DS18X20(onewire) 构建DS18X20类。 - ``onewire`` - one wire实例对象 .. method:: DS18X20.scan() 扫描单总线上的ds18b20设备,返回设备地址的列表。 .. method:: DS18X20.convert_temp() 获取采样温度并进行温度单位转换。 .. method:: DS18X20.read_temp(rom) 返回该设备的温度值。注意,在 ``convert_temp()`` 转换温度后,至少需要等待750毫秒,才能读取温度值。 - ``rom`` - 设备地址 .. literalinclude:: ../../../examples/onewire/ds18b20.py :caption: 示例-ds18b20 :linenos: