一款基于RT-Thread操作系统的自动测温+风扇自动调速+加湿+自动启停的智能风扇项目(附源码下载)

news2024/12/23 10:32:40

基于 RT-Thread 的智能加湿风扇

作品背景

一款基于 RT-Thread 操作系统的自动检测温湿度情况进行风扇转速自动调节,加湿自动启停的桌面风扇。

所用硬件:

  • 主控:CH32V307 开发板。
  • 温湿度检测:AHT10 温湿度模块。
  • 风扇主体:SD7 数字舵机、直流有刷电机、加湿模块。
  • 显示屏:陶晶驰智慧串口屏(带触控)。

软件平台:

  • RT-Thread Studio ( 主体开发 )
  • USART HMI ( 串口屏开发 )

实现功能

  • 手动控制摇头、加湿、加减档、切换模式。
  • 连接 WiFi 自动校时。
  • 根据温湿度自动加减风速并开关加湿器。

整体框架

项目框架

本作品以 CH32V307 为主控,通过温湿度传感器 AHT10 采集温湿度信息,再利用 ESP8266 进行 RTC 时间校准。将信息显示到显示屏,也可通过显示屏触摸按钮实现风扇的控制。

在这里插入图片描述

编程思路

将整个系统拆分为多个小任务,可拆分为:温湿度采集任务、时间校对任务、舵机控制任务、电机控制任务、加湿器启停任务等。为各个任务创建一个线程,再利用信号量和邮箱实现各线程的同步和通信。
在这里插入图片描述

RT-Thread 使用情况

  • 信号量

    创建了多个信号量,用于触发串口数据接收、电机加减档、舵机摇头、加湿器启停等交互。

  • 邮箱

    创建邮箱用于串口数据传输及温湿度信息的传输。

  • 线程

    为每个任务创建了一个线程。

硬件框架

  • PWM 驱动

    用于驱动电机和舵机。

  • PIN 设备驱动

    用于控制加湿器启停。

  • 串口

    数据传输和人机交互。

软件框架

  • AHT10 软件包( 用于读取温湿度数据 )
  • AT DEVICE 软件包( 用于控制 ESP8266 )
  • netutils 软件包 ( 用于网络时间校准 )

作品图片

在这里插入图片描述

项目完整源码及文档资料

下载链接:https://download.csdn.net/download/liufang_imei/87867734

待改进

  • 远程遥控功能。
  • 程序优化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/628536.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业开源测试项目实战(附全套实战项目教程+视频+源码)

接口测试项目 1. No matching distribution found for itypes1.1.0 Could not find a version that satisfies the requirement itypes1.1.0 (from -r requirements.txt (line 8)) (from versions: ) No matching distribution found for itypes1.1.0 (from -r requirements.…

Deepspeed Chat项目理解

ChatGPT的广泛使用促进大模型火起来了,深度学习人工智能开启了2.0时代,deepspeed chat是微软开源的大模型训练工具,它充分利用了deepspeed的高效训练的特点,能够自动化的进行多种大模型训练。 言归正传,在博客中我将对…

什么是大数据,常见的大数据应用领域?

现在大数据发展的如火如荼,也有不少小伙伴对于什么是大数据比较感兴趣,那么大数据在比较官方的定义是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力…

ASP.NET Core Web API入门:创建新项目

ASP.NET Core Web API入门:创建新项目 一、引言二、创建新项目三、加入Startup类,并替换Program.cs内容四、编辑Program.cs代码五、修改控制器的路由六、运行项目 一、引言 最近闲着,想着没真正从0-1开发过ASP.NET Core Web API的项目&#…

Navicat for Redis 与 Navicat Premium 16.2 现已正式发布 | 释放 Redis 全部潜能

今天,我们正式发布 Navicat for Redis 与 Navicat Premium 16.2 两款产品。注入 Redis 能力,这对 Navicat 具有里程碑意义。 此次首发的 Navicat for Redis 数据库管理开发工具,将为 Redis 用户的日常工作带来更为便捷、高效的全新体验。同时…

XV-442-57CQB-1-10伊顿触摸屏EATON

​ XV-442-57CQB-1-10伊顿触摸屏EATON XV-442-57CQB-1-10伊顿触摸屏EATON plc的通信模块是用来完成与别的PLC,其他智能控制设备或计算机之间的通信。以下简单介绍FX系列通信用功能扩展板、适配器及通信模块。 (1)通信扩展板FX2N-232-BD…

第十五章物资需求计划

物料需求计划(MRP)是物料管理(MM)和生产计划(PP)的组成部分。在本章中,您将学习如何使用MRP来优化物流和供应链规划流程。 物料需求计划(MRP)是一种用途广泛、直观的计划…

44 最佳实践-性能最佳实践-裸设备映射

文章目录 44 最佳实践-性能最佳实践-裸设备映射44.1 概述44.2 配置示例 44 最佳实践-性能最佳实践-裸设备映射 44.1 概述 配置虚拟机存储设备时,除了将文件配置给虚拟机作为虚拟磁盘使用外,还可以将块设备(物理LUN、逻辑卷等)直…

VXLAN技术应用场景及测试

定义 RFC7348定义了VLAN扩展方案VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网)。 VXLAN采用MAC in UDP(User Datagram Protocol)封装方式,是NVO3(Network Virtualization ove…

设计模式(行为型模式)之:Strategy(策略模式)

文章目录 本质:动机:定义:一个不好的例子策略模式重写总结 本质: 分离算法,选择实现。动机: 在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算…

LeetCode 按摩师 python

目录 1.题目描述 2.普通解法(通过部分测试用例) ​编辑 3.动态规划解法 3.题目总结 1.题目描述 一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻…

(六)CSharp-CSharp图解教程版-委托

一、委托概述 1、什么是委托 委托和类一样,是一种用户定义类型(即是一种类,所以也是一个引用类型)。在它们组成的结构方面区别是,类表示的是数据和方法的集合,而委托则持有一个或多个方法。 可以把 deleg…

Spring架构篇--2.7.1 远程通信基础--Netty原理--NioEventLoopGroup

前言:在使用Netty 时不管是服务端还是客户端都需要 new NioEventLoopGroup 对象进行工作,NioEventLoopGroup的作用是什么呢; 1 NioEventLoopGroup 类图: 从类名字来看它是一个Nio 流的事件轮询器组,既然是一组顾名思…

使用dataFEED OPC Suite将西门子PLC数据转发至阿里云RDS数据库

一 背景 工业现场级别的各种设备会产生大量的数据,这些数据包含生产过程的各种信息,在经过数据库等IT应用的处理后,可为企业提供全面的生产数据分析和决策支持。以往工厂的数据库通常部署在本地,然而得益于云计算的快速发展以及云…

k8s harbor镜像仓库搭建

1.前言 Harbor 是一个开源的云原生镜像仓库,用于存储和分发 Docker 镜像。它提供了一些安全性和管理方面的功能,使得用户可以更好地管理和共享 Docker 镜像 2.配置harbor搭建环境 harbor的搭建需要用到docker、docker-compose服务 docker搭建参考&am…

Vivado 下 IP核之双端口 RAM 读写

目录 Vivado 下 IP核之双端口 RAM 读写 1、RAM IP 核简介 2、实验任务 3、程序设计 3.1、RAM IP 核配置 3.2、顶层模块设计 (1)绘制波形图 4、编写代码 4.1、顶层模块 ip_2port_ram 4.2、RAM 写模块设计 4.3、ram_wr 模块代码 4.4、RAM 读模…

基于graalvm和java swing制作一个文件差异对比的原生应用,附源码

文章目录 1、DFDiff介绍2、软件架构3、安装教程3.1、编译为jar包运行3.2、编译为原生应用运行 4、运行效果图5、项目源码地址 1、DFDiff介绍 当前已实现的功能比较两个文件夹内的文件差异,已支持文件差异对比。 2、软件架构 软件架构说明 开发环境是在OpenJDK17&…

安装 Kafka

文章目录 1.选择操作系统2.配置 Java 环境3.安装 ZooKeeper4.安装 broker(1)安装 broker(2)验证是否安装正确 5.配置 broker(1)常规配置(2)主题的默认配置 6.配置 Kafka 集群&#x…

CAC2.0全新升级发布,为企业邮箱筑起安全壁垒!

5月31日,Coremail举办了【聚焦盗号,企业邮件安全的威胁分析与应对】直播交流会。直播会上Coremail邮件安全团队就邮箱盗号问题进行了深度分享。 面对如此肆虐的盗号现象和即将到来的攻击暴破高峰期,各行业应该如何应对防护邮箱安全呢&#xf…

什么是防火墙?它有什么作用?

作者:Insist-- 个人主页:insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 目录 一、什么是防火墙 二、防火墙的分类 1、软件防火墙 2、硬件防火墙 三、防火墙的作用 1、防止病毒 2、防止访问不安全内容 3、阻…