基于单片机的太阳能无线 LED 灯设计

摘 要 文章设计一款太阳能 LED 经过太阳能给锂电池充电 利用 51 单片机通过检测电路对整个系统施行管理和监控, 可以使用手机和 WIFI 作为通信工具 利用光敏电阻检测光照 进而控制灯的亮度 天越黑 灯越亮 程序编写构造清晰, 应用前景广阔
关键词 单片机 太阳能 光敏电阻 C 语言

0 引言

太阳能与 LED 相结合的技术运用在路灯领域完全符合“ 绿色 节能 低成本 的现代化设计理念 基于目前相关研究, 笔者设计了一款基于单片机的太阳能 LED 可以使用手机, 通过 WIFI 控制灯的亮灭 单片机检测太阳能电池板的电压, 并将太阳能电池板是否正常运行信息发送给手机。 基于单片机的太阳能控制系统不仅能够在路灯上使用, 其设计方法及其技术还可以普遍使用到电池控制器, 逆变控制器等领域 对相关科学具备推进作用并且具有很大拓展价值。

1 总体方案设计

太阳能无线 LED 灯系统主要由单片机系统 太阳能接口电路、 锂电池充电及升压电路 WIFI 模块电路 光照检测电路、 A/D 采集转换电路和 LED 灯电路组成 太阳能接口电路、 锂电池充电及升压电路 光照检测电路 A/D 采集转换电路作为输入模块, LED 灯电路作为输出模块 ,WIFI 模块电路与单片机系统及作为输入模块也作为输出模块, 用户可通过 WIFI 发送指令 系统框图如图 1 所示

2 系统硬件设计

硬件设计主要包括太阳能接口电路 分压电路 光照检测电路、 WIFI 模块电路等几部分 首先通过太阳能给锂电池充电; 把装置置于阳光下 通过光敏电阻检测光照 ,进而控制灯的亮度; 光敏电阻对光照十分敏感 其在无光照时, 呈现的是高阻状态 暗电阻一般可达 1.5M Ω 当有光照时, 材料中激发出自由电子和空穴 其电阻值减小 电阻值会随着光照强度的升高迅速降低, 亮电阻值可小至1kΩ 以下 通过 WIFI 控制灯的亮灭 单片机检测太阳能电池板的电压, 并将太阳能电池板是否正常运行信息发送给用户

2.1 太阳能接口电路设计

本系统中选择 9V 多晶硅太阳能电池板作为发电元件, 太阳能发电后经过 L7805CV 芯片稳压后 将发电后的电压稳在 5V 然后在经过 TP4056 芯片给锂电池进行充放电, 同时因为锂电池的电压为 3.7V 4.2V 而本设计的单片机等电路均为 5V 供电 所以用升压装置将 3.7V 的电压升到 5V 来给设备供电 太阳能电池板发电原理图如图2 所示

2.2 分压电路设计

在串联电路中 各电阻上的电流相等 各电阻两端的电压之和等于电路总电压。 可知每个电阻上的电压小于电路总电压, 故称串联电阻分压 在设计中 选择的 A/D 芯片采集的 5V 电压 故超过 5V 的电压需要分压后降压为 0 ~5V 才可以经过 A/D 转换 其电路原理图如图 3 所示

2.3 光照检测电路设计

本系统选择光敏电阻作为检测光照的器件 其工作原理是基于内光电效应。 光照愈强 阻值就愈低 随着光照强度的升高, 电阻值迅速降低 光敏电阻对光线十分敏感, 其在无光照时 呈高阻状态 在本设计中 通过串联一个电阻实现光敏电阻的分压, 电阻为分压电阻 同时也保护光敏电阻, 其原理图如图 4 所示

2.4 WIFI 模块电路设计

串口 WIFI 模块是新一代嵌入式 WIFI 模块 一款超低功耗的模块, 可将用户的物理设备连接到 WIFI 无线网络上, 进行互联网或局域网通信 实现联网功能 用手机连接APP 控制 LED 灯的亮灭 WIFI 模块电路图如图 5 所示

3 系统软件设计

软件设计中单片机开发环境是 Keil uVision4 Keil u Vision4 软件是目前 51 系列单片机系统的主流程序开发软件, Keil uVision4 STC 公司推出最新一代关于 51 系列单片机处理器的编译、 连接和调试集成环境 如图 3 所示。 可以降低开发周期 从而节约很多成本 Keil uVision4不仅提供了完整的 Windows 开发环境界面 支持 C/C++ 语言开发, 而且其 C 语言编辑效率很高 能够使开发者非常容易地使用 C 语言进行程序编程 [4] 小型太阳能无线 WIFI光照控 LED 灯系统额定功率总和为 10W 系统的光电转换效率为 18% 左右 最高的达到 24% 锂电池的最大充电电流为自身容量的 1/10 则系统输出的最大电流为 0.2A ,理论上可以供给于路灯照明。

4 系统调试

为了对太阳能无线 LED 灯系统测试来验证其可行性, 运行程序使用 C 语言进行编写 在搭建调试平台后 需要对软件程序进行调试, 若程序调试没有问题 接下来开始验证系统功能是否满足要求, 若功能有问题 需要继续调试程序, 反复进行 直到所有功能都满足为止 能正常运行, 至此完成系统调试 如图 6 所示为系统运行流程图

5 结论

基于单片机的太阳能无线 LED 灯的设计经验证 满足设计要求, 系统的硬件设计及调试都达到了预期结果 。LED 灯和太阳能电池板并网运行稳定 未出现电压波动 。系统使用 STC89C52 单片机为主控制器 太阳能 LED 灯的亮度强弱, 可以通过实际需求 使用手机连接 WIFI 进行调控以满足需要。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

全面解析OpenStack架构:掌握云计算核心组件!

Web Frontends Horizon 技术原理:Horizon是OpenStack的基于Web的用户界面,利用Django框架开发,提供用户友好的界面来管理和使用OpenStack资源。应用场景:用于管理虚拟机、存储、网络等资源。举例:管理员通过Horizon界面…

【微信小程序开发实战项目】——如何去申请腾讯地图账号和在微信公众平台,配置request路径和添加地图插件

👨‍💻个人主页:开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…

墨香戏韵,重塑经典

创意名称 墨香戏韵,重塑经典|基于AIGC对戏剧创新 创意概述 京剧作为中国传统戏曲之一,源远流长,承载了丰富的文化内涵和艺术特色。水墨画则是中国传统绘画的瑰宝,以其独特的墨色表达和极简的形式赢得了广泛的赞誉。我们的项目将…

Cheat Engine 学习

文章目录 Exact Value scanning任务实现步骤Unknown initial value任务实现步骤原理说明Floating points任务实现步骤原理说明Code finder任务实现步骤原理说明Pointers任务实现步骤原理说明Change Pointer 操作:Active(活跃状态)和数值修改:Code Injection任务概述实现步骤…

vue3:实现图片放大浏览功能组件

两种实现方式&#xff1a; 1.将原本的盒子与img标签放大至全屏浏览。 2.新建一个div和img标签进行全屏浏览。这样不会改变布局。 第一种&#xff1a; 效果&#xff1a; 组件代码&#xff1a; <template><div :class"isScreen ? fullImg : norImg">…

[Python学习篇] Python字符串

字符串是 Python 中最常用的数据类型&#xff0c;一般使用单引号或引号来创建字符串 语法&#xff1a; 字符串变量名A 字符串变量值A 字符串变量名B "字符串变量值B" 示例&#xff1a; a Hello A print(a) b "Hello B" print(b) 字符串特征 一对引号字…

centos7系统使用docker-compose安装部署jenkins

CentOS7系统使用docker-compose安装部署jenkins&#xff0c;并实现前后端自动构建 记录一次在给公司部署jenkins的真实经历&#xff0c;总结了相关经验 1.准备环境 1.java 由于最新的jenkins需要jdk11以上才能支持&#xff0c;而系统里的jdk是1.8的&#xff0c;因此等jenkins…

干货:数据中台如何深度挖掘数据价值,成就企业核心竞争力-亿发

在当今信息爆炸的时代&#xff0c;数据被誉为“新时代的石油”。企业如何从海量数据中提炼出有价值的信息&#xff0c;进而提升核心竞争力&#xff0c;成为各行各业的关键课题。数据中台作为一种新兴的数据管理和应用架构&#xff0c;正逐渐成为企业实现数据价值最大化的重要工…

【漏洞复现】英飞达医学影像存档与通信系统 Upload.asmx 任意文件上传漏洞

0x01 产品简介 英飞达 医学影像存档与通信系统 Picture Archiving and Communication System&#xff0c;它是应用在医院影像科室的系统&#xff0c;主要的任务就是把日常产生的各种医学影像(包括核磁&#xff0c;CT&#xff0c;超声&#xff0c;各种X光机&#xff0c;各种红外…

从零入手人工智能(3)—— 线性回归

1.前言 实践是验证和理解理论知识的重要手段&#xff0c;在进行实际编程之前&#xff0c;我们首先确保编程环境已正确搭建。若编程环境尚未搭建完毕&#xff0c;建议参照《从零入手人工智能&#xff08;2&#xff09;——搭建开发环境》&#xff0c;文章链接如下&#xff1a; …

Linux C语言:变量的作用域和生命周期(auto、register、static和extern)

一、变量存储类型-auto 1、auto变量的说明 变量在程序中使用时,必须预先说明它们的存储类型和数据类型。 变量说明的一般形式是&#xff1a; <存储类型> <数据类型 > <变量名> &#xff1b; <存储类型>是关键词auto、register、static和extern<…

【Kafka】Kafka Producer 分区-05

【Kafka】Kafka Producer 分区-05 1. 分区的好处2. 分区策略2.1 默认的分区器 DefaultPartitioner 3. 自定义分区器 1. 分区的好处 &#xff08;1&#xff09;便于合理使用存储资源&#xff0c;每个Partition在一个Broker上存储&#xff0c;可以把海量的数据按照分区切割成一块…

《幻影大师:透视缠中说禅的虚像与真相》

而且他从不犯错&#xff0c;至少在他的叙述中是这样&#xff0c;所有的文章和言论都被粉饰得完美无瑕&#xff0c;即便有误&#xff0c;他也绝不公开承认&#xff0c;更别提什么真诚的道歉和改正了。那些对他推崇备至的人&#xff0c;多是盲目追随&#xff0c;将他神化为无所不…

YOLOv8可视化界面PYQT5

yolov8&#xff0c;可视化界面pyqt。支持图片检测&#xff0c;视频检测&#xff0c;摄像头检测等&#xff0c;实时显示检测画面。支持自定义数据集&#xff0c;计数&#xff0c;fps展示……,即插即用&#xff0c;无需更改太多代码

记一次全设备通杀未授权RCE的挖掘经历

想来上一次挖洞还在一年前的大一下&#xff0c;然后就一直在忙活写论文&#xff0c;感觉挺枯燥的&#xff08;可能是自己不太适合弄学术吧QAQ&#xff09;&#xff0c;所以年初1~2月的时候&#xff0c;有空的时候就又会挖一挖国内外各大知名厂商的设备&#xff0c;拿了几份思科…

---String类---

在c语言中要使用字符串&#xff0c;只能通过字符指针或者字符数组&#xff0c;然后再通过函数进行各种操作&#xff0c;这种将变量和变量方法分开的方式显然不符合面向对象的编程&#xff0c;所以java中添加了String这个类 String类构造 而对于string有很多的方法 字符串长度…

UWB技术定位系统源码,智慧工厂人员定位系统,独特的射频处理,配合先进的位置算法

UWB技术定位系统源码&#xff0c;高精度人员定位系统源码&#xff0c;智慧工厂人员定位系统源码&#xff0c;室内定位系统源码 本套系统运用UWB定位技术&#xff0c;开发的高精度人员定位系统&#xff0c;通过独特的射频处理&#xff0c;配合先进的位置算法&#xff0c;可以有…

结构体对齐,与 触发 segment fault 为什么是 1024*132 ,而不是1024*128

1, 简单的小示例代码 按理说 malloc 的size 是 1024*128&#xff0c;这里却需要 1024*132才能及时触发 segmentation fault #include <stdlib.h> #include <stdio.h> #define SIZE 1024*131int main() {char *p 0;p malloc(SIZE);p[SIZE -1] a;free(p);printf(…

【Mongodb-02】springboot整合mongodb(详解)

springBoot整和mongodb 一&#xff0c;springboot整合mongodb1&#xff0c;依赖加入2&#xff0c;yml文件配置3&#xff0c;_class 字段过滤(可选)4&#xff0c;实体类定义5&#xff0c;索引创建6&#xff0c;数据插入6.1&#xff0c;insert方式6.2&#xff0c;使用save的方式实…

Elixir学习笔记——输入输出和文件系统

本章介绍输入/输出机制、文件系统相关任务以及相关模块&#xff08;如 IO、File 和 Path&#xff09;。IO 系统提供了一个很好的机会来阐明 Elixir 和 Erlang VM 的一些思维模式和新奇思想。 输入输出模块 输入输出模块是 Elixir 中读写标准输入/输出 (:stdio)、标准错误 (:s…