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

MCU利用单总线协议(1-wire)读取DHT11温湿度

第1章 硬件连接

硬件原理图

第2章 通讯过程

  1. 用户MCU发送一次开始信号,DHT11从低功耗模式转换到高速模式,DHT11等待主机开始信号结束。
  2. DHT11等待主机开始信号结束后,DHT11发送响应信号。
  3. DHT11发送响应信号后,紧接着送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据。
  4. 从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集,采集数据后转换到低速模式。

一次完整的数据传输,数据为40bit,高位先出。数据格式为:
8bit湿度整数部分数据 + 8bit湿度小数部分数据 + 8bit温度整数部分数据 + 8bit温度小数部分数据 + 8bit效验和

数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据”所得结果的末8位。

2.1 起始信号时序

  1.  MCU空闲状态是高电平;
  2. MCU拉低至少18ms,然后在拉高20~40us,这样就表示MCU发出开始信号了;
  3. DHT11接收到开始信号后,先拉低80us,然后在拉高80us,这样就表示发出响应信号了。

2.2 数字0信号时序

2.3 数字1的时序

第3章 stm32F407编码实现

相关文章:

MCU利用单总线协议(1-wire)读取DHT11温湿度

第1章 硬件连接 硬件原理图 第2章 通讯过程 用户MCU发送一次开始信号,DHT11从低功耗模式转换到高速模式,DHT11等待主机开始信号结束。DHT11等待主机开始信号结束后,DHT11发送响应信号。DHT11发送响应信号后,紧接着送出40bit的数据…...

[保姆式教程]使用目标检测模型YOLO11 OBB进行旋转目标检测:训练自己的数据集(基于卫星和无人机的农业大棚数据集)

之前写了一个基于YOLOv8z做旋转目标检测的文章,内容写得不够好,内容也比较杂乱。现如今YOLO已经更新到11了,数据集也集齐了无人机和卫星的农业大棚,所以这次就写一个基于YOLO11 OBB的农业大棚旋转检测。 1. 下载源码配置环境 在h…...

【网络安全】网站常见安全漏洞 - 网站基本组成及漏洞定义

文章目录 引言1. 一个网站的基本构成2. 一些我们经常听到的安全事件3. 网站攻击者及其意图3.1 网站攻击者的类型3.2 攻击者的意图 4. 漏洞的分类4.1 按来源分类4.2 按危害分类4.3 常见漏洞与OWASP Top 10 引言 在当今的数字化时代,安全问题已成为技术领域不可忽视的…...

Redis——个人笔记留存

今日内容 1. redis1. 概念2. 下载安装3. 命令操作1. 数据结构4. 持久化操作5. 使用Java客户端操作redis Redis 1. 概念: redis是一款高性能的NOSQL系列的非关系型数据库 1.1.什么是NOSQLNoSQL(NoSQL Not Only SQL),意即“不仅仅是SQL”,是…...

人工智能_大模型091_大模型工作流001_使用工作流的原因_处理复杂问题_多轮自我反思优化ReAct_COT思维链---人工智能工作笔记0236

# 清理环境信息,与上课内容无关 import os os.environ["LANGCHAIN_PROJECT"] "" os.environ["LANGCHAIN_API_KEY"] "" os.environ["LANGCHAIN_ENDPOINT"] "" os.environ["LANGCHAIN_TRACING_V…...

linux上jdk1.8安装elasticsearch6.8.5踩坑总结

先在windows上下载了elasticsearch8安装成功后,本来是想在linux上也安装一个一样的版本,然后发现各种启动不了,查了一天原来jdk版本不同,需要下载不同版本的elasticsearch,我测试了8,7,6&#x…...

Three.js教程_02场景、相机与渲染器全面解析

Three.js 场景、相机与渲染器全面解析 Three.js 是一个强大的 JavaScript 库,用于在网页上创建和渲染 3D 图形。本文将深入解析 Three.js 中的几个核心概念,并介绍它们的用法及拓展方法。内容包括场景、相机、渲染器、网格对象、光源、坐标轴、控制器和…...

【数据结构】动态规划-基础篇

针对动态规划问题,我总结了以下5步: 确定dp数组以及下标的含义; 递推公式; dp数组如何初始化; 遍历顺序; 打印dp数组(用来debug); 以上5步适用于任何动态规划问题&#x…...

opencv读取展示图片

import time import cv2 # 创建窗口 cv2.namedWindow(window, cv2.WINDOW_AUTOSIZE) # cv2.WINDOW_AUTOSIZE自动大小,不允许修改窗口大小 cat cv2.imread("./6.jpg", 0) # opencv默认读取bgr,0代表的是灰度图模式,1是彩色图 # 展示名字为window…...

网站访问统计A/B测试与数据分析

在网站运营中,访问统计和数据分析是优化用户体验和提高转化率的关键工具。A/B测试作为一种数据驱动的方法,能够帮助网站运营者验证设计和内容的有效性。A/B测试的基本原理是同时展示两个不同的版本(A和B),通过比较它们…...

前端开发 之 15个页面加载特效下【附完整源码】

文章目录 十二:铜钱3D圆环加载特效1.效果展示2.HTML完整代码 十三:扇形百分比加载特效1.效果展示2.HTML完整代码 十四:四色圆环显现加载特效1.效果展示2.HTML完整代码 十五:跷跷板加载特效1.效果展示2.HTML完整代码 十二&#xff…...

详解八大排序(六)------(三路划分,自省排序,归并排序外排序)

文章目录 1. 快排之三路划分1. 1 三路划分的诞生由来1. 2 三路划分的具体思路1. 3 代码实现 2. 快排之自省排序2. 1 自省排序的目的2. 2 自省排序的思路2. 3 自省排序的实现代码 3. 归并排序外排序3. 1 外排序介绍3. 2 归并排序外排序的思路3. 3 归并排序的实现代码 1. 快排之三…...

【Java从入门到放弃 之 从字节码的角度异常处理】

从字节码的角度异常处理 生成字节码Javap 命令的使用基本语法 字节码文件testTryCatchtestTryCatchFinallytestTryWithResource 如果大家对与java的异常使用还有问题或者还不太了解,建议先看一下我之前写的Java异常了解一下基本 的异常处理知识,再看这篇…...

Java虚拟机(JVM)中的元空间(Metaspace)一些关键点的总结

• 元空间的引入:在Java 8中,JVM的内存结构经历了变化,其中方法区被替代为元空间(Metaspace)。元空间用于存储类的元数据信息,包括类的名称、方法、字段等信息。 • 存储位置:与方法区不同&…...

小程序 模版与配置

WXML模版语法 一、数据绑定 1、数据绑定的基本原则 (1)在data中定义数据 (2)在WXML中使用数据 2、在data中定义页面的数据 3、Mustache语法的格式(双大括号) 4、Mustache语法的应用场景 (…...

当大的div中有六个小的div,上面三个下面三个,当外层div高变大的时候我希望里面的小的div的高也变大

问: 当大的div中有六个小的div,上面三个下面三个,当外层div高变大的时候我希望里面的小的div的高也变大 回答: 这时候我们就不能写死六个小的div的高度,否则上下的小的div的间距就会变大,因为他们的高度…...

MySQL——操作

一.库的操作 1.基本操作 创建数据库 create database 数据库名称; 查看数据库 show databases; 删除数据库 drop database 数据库名称; 执行删除之后的结果: 数据库内部看不到对应的数据库 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删…...

Python语法之正则表达式详解以及re模块中的常用函数

正则表达式详解及re模块中的常用函数 概念、作用和步骤 概念: 本身也是一个字符串,其中的字符具有特殊含义,将来我们可以根据这个字符串【正则表达式】去处理其他的字符串,比如可以对其他字符串进行匹配,切分&#xf…...

《地球化学》

《地球化学》主要报道近代地球化学, 特别是其主要分支学科, 如岩石地球化学、元素地球化学、有机地球化学、环境地球化学、矿床地球化学、实验地球化学、生物地球化学、天体化学、计算地球化学、分析地球化学、海洋地球化学、沉积地球化学、纳米地球化学、油气地球化学和同位素…...

alpine openssl 编译

./config no-shared --prefix/usr/local/openssl apk add musl-dev gcc g apk add linux-headers ssh root 登录 编辑 SSH 配置文件 打开 SSH 配置文件 /etc/ssh/sshd_config: vi /etc/ssh/sshd_config PermitRootLogin yes...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...

Linux-进程间的通信

1、IPC: Inter Process Communication(进程间通信): 由于每个进程在操作系统中有独立的地址空间,它们不能像线程那样直接访问彼此的内存,所以必须通过某种方式进行通信。 常见的 IPC 方式包括&#…...

跨平台商品数据接口的标准化与规范化发展路径:淘宝京东拼多多的最新实践

在电商行业蓬勃发展的当下,多平台运营已成为众多商家的必然选择。然而,不同电商平台在商品数据接口方面存在差异,导致商家在跨平台运营时面临诸多挑战,如数据对接困难、运营效率低下、用户体验不一致等。跨平台商品数据接口的标准…...

如何把工业通信协议转换成http websocket

1.现状 工业通信协议多数工作在边缘设备上,比如:PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发,当设备上用的是modbus从站时,采集设备数据需要开发modbus主站;当设备上用的是西门子PN协议时&#xf…...

SpringCloud优势

目录 完善的微服务支持 高可用性和容错性 灵活的配置管理 强大的服务网关 分布式追踪能力 丰富的社区生态 易于与其他技术栈集成 完善的微服务支持 Spring Cloud 提供了一整套工具和组件来支持微服务架构的开发,包括服务注册与发现、负载均衡、断路器、配置管理等功能…...

n8n:解锁自动化工作流的无限可能

在当今快节奏的数字时代,无论是企业还是个人,都渴望提高工作效率,减少重复性任务的繁琐操作。而 n8n,这个强大的开源自动化工具,就像一位智能的数字助手,悄然走进了许多人的工作和生活,成为提升…...

C#调用Rust动态链接库DLL的案例

C#调用Rust动态链接库DLL的案例 项目概述 这是一个演示C#调用Rust动态链接库DLL的项目,包含: C#主程序 (Program.cs)Rust动态链接库 (rust_to_csharp目录) 使用C#创建一个net9的控制台项目,不使用顶级语句 dotnet new console --framewo…...

Python基于蒙特卡罗方法实现投资组合风险管理的VaR与ES模型项目实战

说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融投资中,风险管理是确保资产安全和实现稳健收益的关键环节。随着市场波动性的增加,传统…...

论文阅读笔记——Large Language Models Are Zero-Shot Fuzzers

TitanFuzz 论文 深度学习库(TensorFlow 和 Pytorch)中的 bug 对下游任务系统是重要的,保障安全性和有效性。在深度学习(DL)库的模糊测试领域,直接生成满足输入语言(例如 Python )语法/语义和张量计算的DL A…...