ESP8266-NodeMCU项目(五):集成空调控制器于洞洞板上并打造电源方案

本文主要是介绍ESP8266-NodeMCU项目(五):集成空调控制器于洞洞板上并打造电源方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

错开の折腾经历:ESP8266 NodeMCU

文章目录

  • 前言
  • 一、准备
    • 1.材料清单
    • 2.设计思路
  • 二、焊接
  • 三、总结


前言

继续之前的项目,现在任务就是将实现的空调控制器集成于一块洞洞板板子上,并打造专属电源方案,让它看起来更像是一个IoT设备。


滴滴:以下是本篇文章正文内容

一、准备

1.材料清单

  1. ESP8266-NodeMCU作为主控
  2. DHT11(温湿度模块)、红外发射模块作为功能模块
  3. 5500mAh、3.7V聚合物锂电池一块,作为电源
  4. TP4056:1A锂电池充电模块(type-C口,充放电保护)
  5. 一个5V稳压板(就自动升降压的那种,然后输出5V电压)
  6. 一个六脚自锁开关
  7. 一个电池电量百分比指示板(方便进行电源管理嘛)
  8. 然后就是一堆飞线啊、针脚啊、洞洞板等等

图示:

5V稳压板:
5v稳压板
TP4056:1A锂电池充电模块:
请添加图片描述
六脚自锁开关:
请添加图片描述
请添加图片描述
全家福:
请添加图片描述

2.设计思路

思路是核心内容

首先
按照上次项目中的接线,我们得把两个功能模块的数据脚接到nodemcu板子的两个GPIO口上,然后再给他们接电(正、负)。

然后
TP4056充电模块,B+、B-端接电池(这里可以接上电池电量模块,方便查看电池电量),进行充放电,out+、-端接5v稳压板的Vin+、-端,将稳压板作为TP4056模块的输出负载,可以通过type-c接口接通电源供电,进行电池充电及设备供电,断开c接口,则电池放电。
(这里我想通过开关进行供电控制,所以我就把TP4056输出端的out+接到了六脚自锁开关的一个引脚,然后检测开关按下后是哪些脚接通,然后将对应脚接到稳压板的vin+,而out-则直接接稳压板Vin-,从而实现开关控制设备通电)
稳压板Vin+旁边有个使能端口,可以控制稳压板的开关(具体可以看 上面稳压板的图片,有解释),然后我把它和Vin+接一起,从而实现稳压板的常开(毕竟我有六脚自锁开关了),然后稳压板out+、-,接到nodemcu板子的Vin-5v引脚还有G脚(接地)。

最后
进行功能模块的接线,将DHT11数据脚接D2(GPIO4)、红外发射模块接D5(GPIO14),然后再将它们的正负脚分别接nodemcu板子的3V脚、G脚。

完事后就可以进行焊接工作了(电烙铁、焊锡丝搭档上场)

二、焊接

接线可以通过,焊接导线或走锡线的方式

我这边希望可以尝试一下多种走线方式,所以以上方式都有用到(才不是因为线材没了呢(๑¯∀¯๑))

推荐导线+焊接方式走线,很小白,也很方便,前提得有线,当然有钱也

走锡线就厉害了,小白第一次焊接起来,就很难焊的好看,有可能也会有部分不通电的情况。

方法:先确定好要接的点,然后选好路径,一个一个焊盘焊上锡球先,然后再连锡,最后测试能不能通电(万用表yyds)

焊接图片:
请添加图片描述

请添加图片描述
请添加图片描述
推荐搞个USB检测器(就可以测电压、电流、电功耗,电容量什么的那种)
请添加图片描述

我遇到的问题无非就是走线时不通电(大多数是排版位置时选的不好,然后先后焊接顺序也有点问题,还有就是边聊天边焊,焊错了脚位,hhh

出错不要慌,万用表拿出来,冷静一哈,慢慢测,看看是哪出了问题,解决后收获很大的!

三、总结

实测
按照网上找到的方法进行计算:
估算功耗

测量存在误差,且电池不会一直按3.7v输出,也不会全放电,一般电压掉2.75V左右就不放电了(TP4056充电模块也有个规定:电池电压到2.5V后停止输出),跟别提其他模块的功耗,以及热量散失等等。

所以说,以上测试是理想状态下的,只能参考,实际功耗肯定比较大,续航3天可能都够呛呀!(下次试试看)

通过这次焊接,学会了很多,实现了空调控制器的集成,以及它的电源方案。
低功耗的代码实现,还没有思路,虽然ESP8266-NodeMCU有提供低功耗模式(功耗由高到低:No-sleep > Modem-sleep > Light-sleep > Deep-sleep),但是blinker不知道可不可以支持其实现低功耗,以后找到资料后再进行尝试吧。

唠叨一下,深圳这边最近直接台风+冷空气,一夜转凉,就像入冬了一夜,啧,我在想:那我搞这个还有什么用捏!(T▽T)

2021.10.22记录:
经过测试功耗,以上方案,可以支持独立电源(电池)续航4-5天

项目目录:
错开のESP8266-NodeMCU项目一
错开のESP8266-NodeMCU项目二
错开のESP8266-NodeMCU项目三
错开のESP8266-NodeMCU项目四
错开のESP8266-NodeMCU项目五

这篇关于ESP8266-NodeMCU项目(五):集成空调控制器于洞洞板上并打造电源方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/312390

相关文章

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步

Spring Boot 集成 Quartz 使用Cron 表达式实现定时任务

《SpringBoot集成Quartz使用Cron表达式实现定时任务》本文介绍了如何在SpringBoot项目中集成Quartz并使用Cron表达式进行任务调度,通过添加Quartz依赖、创... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(