【MicroPython】使用DS1820单总线温度传感器

来源:本站
导读:目前正在解读《【MicroPython】使用DS1820单总线温度传感器》的相关信息,《【MicroPython】使用DS1820单总线温度传感器》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《【MicroPython】使用DS1820单总线温度传感器》的详细说明。
简介:本文章是使用DS1820单总线温度传感器。

在MicroPython的源码中,带有了单总线的驱动,可以很方便的驱动单总线器件,如读取温度传感器DS1820。

首先在MicroPython的源码目录中,进入driversonewire目录,然后将目录下的文件ds18x20.py和onewire.py复制到PYBFLASH磁盘的根目录。复制文件后要安全退出磁盘,然后重新接入,不然找不到文件。

用Y11、Y10、Y9三个引脚做为DS1820的控制,其中Y11是GND,Y9是VCC,Y10是DQ。

先将DS1820接到Y11、Y10、Y9,然后输入下面代码:

>>> from pyb import Pin>>> Pin("Y11", Pin.OUT_PP).low()>>> Pin("Y9", Pin.OUT_PP).high()>>> pyb.delay(100)>>> from ds18x20 import DS18X20>>> d = DS18X20(Pin('Y10'))>>> d.read_temp()34.0>>> d.read_temp()33.375>>> d.read_temps()[32.625]>>>

可以看到已经可以读出传感器的温度。用d.read_temp()可以读取一个传感器,默认是第一个传感器,d.read_temp(d.roms[1])可以读取第二个传感器;如果只有一个传感器,可以用d.read_temp(rom=None)忽略地址

用d.read_temps()可以读取全部传感器。

下面连接两个DS18B20进行测试

>>> from pyb import Pin>>> Pin("Y11", Pin.OUT_PP).low()>>> Pin("Y9", Pin.OUT_PP).high()>>> pyb.delay(100)>>> from ds18x20 import DS18X20>>> d = DS18X20(Pin('Y10'))>>> d.read_temp()33.75>>> d.read_temp(d.roms[0])33.875>>> d.read_temp(d.roms[1])33.625>>> d.read_temps()[33.5625, 32.75]>>> d.read_temp()34.0625>>> d.read_temps()[34.0, 34.75]

注:

如果DS1820没有连接好就输入了d = DS18X20(Pin('Y10'))命令,会因为没有搜索到器件而出错。千万不要接反VCC和GND,不然会损坏传感器。使用Y11、Y10、Y9测试成功,但是换其他GPIO时读取错误,暂时还不清楚原因。

提醒:《【MicroPython】使用DS1820单总线温度传感器》最后刷新时间 2024-03-14 01:00:56,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《【MicroPython】使用DS1820单总线温度传感器》该内容的真实性请自行鉴别。