树莓派论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 66|回复: 0
收起左侧

LM75(VIP教程样板)

[复制链接]
发表于 4 天前 | 显示全部楼层 |阅读模式
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
此教程为VIP教程,提供完整的接线说明,代码示例,必要的代码解释。若非特别说明均为python代码,IDE为THONNY。
如何获得本论坛VIP权限呢?点此查看具体要求。如何进行I2C查询? 点此查看。PICO如何安装固件?点此查看。PICO如何编程和自动运行代码?点此查看
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
所需材料:
1、LM75模块:点此购买
2、合适的树莓派PICO版本和配套外设:点此购买
3、必要的 杜邦线(建议母对母,母对公,公对公,均来一些):点此购买 (多了不值钱,少了贼麻烦)
4、必要的 面包板:点此购买
5、电阻包(若有需要):点此购买


教程开始:
树莓派Pico和I2C接口的LM75温度传感器模块,可以通过 MicroPython 编写代码来读取温度数据。以下是一个简单的例程,展示如何连接和读取LM75温度传感器的数据。

硬件连接:
LM75 模块与PICO接线:
VCC -> 3.3V
GND -> GND
SCL -> GP0 (I2C0 SCL)
SDA -> GP1 (I2C0 SDA)
软件准备
给PICO刷好MicroPython固件,方法见开篇。
必要的库
MicroPython 内置了 machine 和 uctypes 等库,这些库可以支持 I2C 通信和读取 LM75 的数据。
示例代码
以下是一个完整的示例代码,用于读取 LM75 温度传感器的数据并在 REPL 中打印出来。
为防止代码格式错误,采用下载代码方式:
代码解释:
I2C 初始化:
i2c = I2C(0, scl=Pin(0), sda=Pin(1), freq=400000)
这行代码初始化 I2C0 接口,设置 SCL 引脚为 GP0,SDA 引脚为 GP1,通信频率为 400kHz。
LM75 地址和寄存器:
LM75_ADDR = 0x48
LM75_TEMP_REG = 0x00
LM75_CONFIG_REG = 0x01
定义 LM75 的 I2C 地址和温度、配置寄存器的地址。
读取温度函数:
def read_temp(i2c, address):
    # 发送读取温度寄存器命令
    i2c.writeto(address, bytearray([LM75_TEMP_REG]))
    # 读取两个字节的数据
    data = i2c.readfrom(address, 2)

    # 将数据转换为温度值
    temp = (data << 8) | data
    if temp > 0x7FFF:
        temp -= 65536
    temp /= 128.0
    if temp > 127:
        temp -= 256

    return temp
该函数发送读取温度寄存器的命令,然后读取返回的两个字节数据,并将其转换为实际的温度值。
主循环
while True:
    temperature = read_temp(i2c, LM75_ADDR)
    print("Temperature: {:.2f} C".format(temperature))
    utime.sleep(1)
在主循环中,每隔 1 秒读取一次温度并打印出来。

若不知道如何在PICO中编程和测试运行程序,请看本贴开头部分!祝您顺利!







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|树莓派论坛 ( 粤ICP备15075382号-1  

GMT+8, 2024-10-23 02:38 , Processed in 1.140625 second(s), 27 queries , Gzip On.

Powered by Shumeipai.net! X3.2

© 2001-2015 树莓派论坛安全联盟

快速回复 返回顶部 返回列表