当前位置: 首页 > news >正文

树莓派pico入坑笔记,dht11使用及温湿度表制作

 

目录

 

关于树莓派pico和circuitpython的更多玩法,请看树莓派pico专栏

用到的库adafruit_dht,需要导入pico才能使用,在这里下载

样例程序

进阶玩法,显示信息的温湿度计

屏幕使用见树莓派pico专栏的ssd1306oled屏幕使用

代码

效果


关于树莓派pico和circuitpython的更多玩法,请看树莓派pico专栏

使用circuitpython8.x环境,硬件dht11,电压范围3~5v

用到的库adafruit_dht,需要导入pico才能使用,在这里下载

样例程序

import time
import board
import adafruit_dhtdhtDevice = adafruit_dht.DHT11(board.GP28)while True:try:# Print the values to the serial porttemperature_c = dhtDevice.temperaturetemperature_f = temperature_c * (9 / 5) + 32humidity = dhtDevice.humidityprint("Temp: {:.1f} F / {:.1f} C    Humidity: {}% ".format(temperature_f, temperature_c, humidity))except RuntimeError as error:# Errors happen fairly often, DHT's are hard to read, just keep goingprint(error.args[0])time.sleep(2.0)continueexcept Exception as error:dhtDevice.exit()raise errortime.sleep(2.0)

 
dhtDevice = adafruit_dht.DHT11(board.GP28)选择一个引脚作为数据读取引脚

temperature_c = dhtDevice.temperature

humidity = dhtDevice.humidity默认读出的时摄氏度和湿度百分比

其他的是异常处理,输出异常信息的,可以不用加

进阶玩法,显示信息的温湿度计

dht11支持3~5v供电,所以可以使用vout引脚对它供电,3.3v引脚用来给屏幕供电,不需要额外拓展引脚

屏幕使用见树莓派pico专栏的ssd1306oled屏幕使用

代码

import time
import board
import adafruit_dht
import busio
import adafruit_ssd1306dhtDevice = adafruit_dht.DHT11(board.GP28)i2c = busio.I2C(board.GP1,board.GP0)
display_width = 128
display_height = 64
display = adafruit_ssd1306.SSD1306_I2C(display_width, display_height, i2c)
display.fill(0)while True:try:# Print the values to the serial porttemperature_c = dhtDevice.temperaturetemperature_f = temperature_c * (9 / 5) + 32humidity = dhtDevice.humidity
#清空上一次的屏幕内容display.fill(0)display.text("Temp: {:.1f} F / {:.1f} C\nHumidity: {}% ".format(temperature_f, temperature_c, humidity),0,0,1,size=1)display.show()except RuntimeError as error:# Errors happen fairly often, DHT's are hard to read, just keep goingprint(error.args[0])time.sleep(2.0)continueexcept Exception as error:dhtDevice.exit()raise errortime.sleep(.5)

显示时注意每次刷新需要清空上一次的内容,否则会出现像素糊在一起的情况 

效果

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C语言从头学31——与字符串变量相关的几个函数
  • 各地户外分散视频监控点位,如何实现远程集中实时监看?
  • 大整数加法C++
  • STM32H7之DMD2D是个啥
  • 如何理解李彦宏说的”不要卷模型,要卷应用
  • 绝区伍--2024年AI发展路线图
  • 模拟防止重复提交
  • 用智能方法设计量子点半导体光放大器
  • 数据结构第22节 堆排序优化
  • Hive的分区表分桶表
  • RKNN3588——利用推理YOLOv8推理图片
  • 浅析Nginx技术:开源高性能Web服务器与反向代理
  • [RK3566-Android11] 使用iPhone14/15出现的蓝牙断开重连无声音问题
  • duplicate key value violates unique constraint
  • 谷粒商城学习笔记-19-快速开发-逆向生成所有微服务基本CRUD代码
  • 网络传输文件的问题
  • [deviceone开发]-do_Webview的基本示例
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 10个最佳ES6特性 ES7与ES8的特性
  • 5、React组件事件详解
  • Create React App 使用
  • es6
  • iOS小技巧之UIImagePickerController实现头像选择
  • Java IO学习笔记一
  • JavaScript设计模式之工厂模式
  • Java比较器对数组,集合排序
  • js数组之filter
  • Node项目之评分系统(二)- 数据库设计
  • PHP那些事儿
  • RxJS: 简单入门
  • Vue.js源码(2):初探List Rendering
  • vue-cli在webpack的配置文件探究
  • Vultr 教程目录
  • 第2章 网络文档
  • 诡异!React stopPropagation失灵
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 什么是Javascript函数节流?
  • 数组大概知多少
  • 通过几道题目学习二叉搜索树
  • ​批处理文件中的errorlevel用法
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • #php的pecl工具#
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (2)MFC+openGL单文档框架glFrame
  • (day 12)JavaScript学习笔记(数组3)
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (转) Android中ViewStub组件使用