FastBond环境监测之树莓派Pico简易温度测量
基于树莓派Pico驱动美信单总线温度传感器DS18B20,通过0.96英寸OLED12864进行显示,电池供电。
标签
嵌入式系统
hhjinghh
更新2021-11-24
1636

项目介绍

自从树莓派发布Pico后,被这个小东西惊艳到了,这次乘着电子森林的活动正好参与一波,既可以”白嫖“板子又可以玩到新玩意,活动超级nice。树莓派Pico的定位就是简单易用,这次我就选择了环境监测主题,使用MicroPython作为开发语言,实现简易的温度测量,顺便使用优惠券体验了捷配的免费打板PCB。

项目用到的板卡、芯片、模块、仪器、设备等介绍

使用树莓派Pico读取美信公司的单总线温度传感器DS18B20,数据通过i2c接口0.96英寸的oled12864显示,使用ADI公司的ADP7118AUJZ-5.0-R7将9V叠层电池转换为5V给系统供电。

DS18B20的官方网站如下:

https://www.maximintegrated.com/en/products/sensors/DS18B20.html

DS18B20是分辨率可编程设置的1-Wire数字温度计,通过最少的连线实现高精度温度测量,理想用于多传感器测量系统。应用电路如下:数据线需要上拉4.7K电阻。

Fp-ReFynS6BxG82BbbZtS5tNQB0X

ADP7118AUJZ-5.0-R7的官方网站如下:

https://www.analog.com/cn/products/adp7118.html#product-overview

ADP7118是一款CMOS、低压差(LDO)线性稳压器,工作电压范围为2.7 V至20 V,最大输出电流为200 mA。这款高输入电压LDO适用于调节工作范围为1.2 V至20 V的高性能模拟和混合信号电路。该器件采用先进的专有架构,提供高电源抑制、低噪声特性,仅需一个2.2 μF小型陶瓷型输出电容,便可实现出色的线路与负载瞬态响应性能。ADP7118稳压器输出噪声为11 μVrms,与5 V及以下的固定选项输出电压无关。

应用电路如下,使用十分简单,外部仅需两颗电容:

FnKXmOAvEyV0Fg8bqSEv_tKq9gfv

项目中遇到的问题以及解决方案 

  • 一开始打算用VSCode开发树莓派Pico,没折腾出来,只好使用Thonny这个IDE。
  • MicroPython原生不带oled12864驱动库,只好在github上搜索了, 然后还要把这个库安装到树莓派Pico里面,将下载的库文件夹lib放到电脑桌面,并在Thonny文件栏PC目录找到lib文件夹,右键上载到树莓派Pico,完成后可以在树莓派Pico的目录下看到lib文件夹。

FlkljCHcxHBcevMVQJdH2ryJ7jYL

上载成功后:

Fmg-9UUucjtA9LtjgJzjQP9BRQ8q

  • 开始SCL和SDA引脚选择为GP0和GP1引脚,Thonny一直提示报错,找半天发现是树莓派Pico与电脑连接时,GP0和GP1复用为与电脑终端交互的串口UART0了,改为GP4和GP5就正常了。

关键性代码及说明

import ssd1306py as lcd
import machine, onewire, ds18x20, time

ds_pin=machine.Pin(6)
ds_sensor = ds18x20.DS18X20(onewire.OneWire(ds_pin))
roms = ds_sensor.scan()
print('Found DS devices: ', roms)

lcd.init_i2c(5,4, 128, 64, 0)
lcd.text('fastbond', 32, 0, 16)
lcd.text('digkey & eetree', 0, 20, 16)
lcd.show()

while True:
  ds_sensor.convert_temp()
  time.sleep_ms(750)
  for rom in roms:
    temp=ds_sensor.read_temp(rom)
    print(temp)
    lcd.text('T:'+str(temp), 0, 40, 24)
    lcd.show()
  time.sleep(1)

 

MicroPython语法十分简洁,实现这样的功能换成C语言代码行数要远高于MicroPython。

功能演示结果及说明

原理图如下:

FqmpZLmbd5uXrcei0xtUW3M8YHHC

oeld12864连接到树莓派Pico的I2C接口,DS18B20连接到树莓派Pico的GP6。散件这个样子:

FtSctn0rhphvT7nNNyDz-PcYNrjP

焊接好上电效果:

FtUmUFY8Cro5jyV40NpSNvyTWvwl

对本活动的心得体会
FastBond这个活动很赞,自由发挥度很大,既玩到了新鲜板子又学到了新知识,活动群也很活跃,感谢活动主办方。



 

附件下载
main.py.py
应用程序
lib.rar
树莓派Pico ssd1306 oled驱动库
DS18B20和ADP7118数据手册.rar
数据手册
团队介绍
团队成员
hhjinghh
电子DIY爱好者。
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号