基于51单片机的智能台灯设计

2023-05-16

具体实现功能

系统由STC89C52单片机+L数码管+光敏电阻+人体感应模块+红外接近传感器模块构成。

具体功能:

(1)亮度不够且有人靠近时台灯自动亮;

(2)靠的太近会提醒坐姿不正(蜂鸣器);

(3)附近无人时台灯自动熄灭(30秒),时间可调;

(4)根据环境亮度调节等亮度;

(5)可手动调节台灯亮度;

(6)设定学习时间。

设计背景

台灯已是千家万户的必需生活用品,经常由于忘记关灯而造成巨大的能源浪费。当夜晚来临时,人们又摸黑去开灯,非常不方便。在这里设计了以人体红外辐射(波长为9.5um)传感控制电路。当人体在台灯的范围内且环境光强较弱时,自动感应开灯;当人体太靠近桌面时,台灯自动感应,警告纠正坐姿,若在一定时间内未离开桌面则自动熄灭。当人离开时则自动关灯,达到节约能源的目的。

硬件设计

整体硬件电路是以51单片机为控制核心,主要由热释电红外传感器,光敏电阻信号处理电路,提醒电路,灯光控制电路,故障报警电路等组成。单片机可将热释电红外传感器检测到的人体辐射红外信号及光强信号的模拟量转换成数字量。

(1)LED驱动电路

LED驱动电路采用3路串联、每路4颗的LED灯,使用三极管S8050来控制LED灯的亮灭。在软件上采用PWM控制方式,以此达到控制LED灯的亮度。

(2)光敏感应电路

对于台灯亮度的感应采用了光敏电阻,利用光敏电阻的阻值随着亮度的改变而改变,电阻值的改变会改变光敏电阻上的电压值。这时,通过AD转换器采集电压,转换成相应的光强数据传输给单片机。

(3)人体感应电路

人体感应电路采用了HC-SR501基于红外线技术的数字传感器。当传感器感应到人体时,传感器IO引脚输出高电平;当无人体时,传感器输出低电平。

(4)红外接近传感器

红外接近传感器采用了E18- D80NK数字型传感器,检测到目标是低电平输出,正常状态是高电平输出;此传感器的功能为检测用户是否坐于台灯前。

软件设计

程序开始后,对程序进行初始化。向P0脚写入低电平,开启所有中断,启动计数器。当中断1来时,进入中断1,设置R0为0,调用延时程序TIME0(延时10ms),判断R0是否等于7,若不是,则加1,继续发送数据进入循环,直至R=7,即实现的是灯慢慢变亮的一个过程。当中断0和中断1同时产生时,根据优先级,屏蔽掉中断1,开启中断0。调用延时程序TIME0(延时1分钟),查询中断0控制位;防止人体不小心到达热释电探测器的探测范围内,采用延时程序来排除干扰,防止误判。若为0,则返回主程序;若为1,则向P0高四位发送数据,使灯保持原来最亮状态,调用延时程序TIME1,判断R0是否等于0,若是则中断返回,若不是,则R0减1,继续循环,直至R0等到于0,此程序的目的是实现灯慢慢变暗。

原理图

本系统原理图设计采用Altium Designer19,具体如图。

程序

本设计利用KEIL5软件实现程序设计,具体如图。

全部资料

全部资料包括程序(注释)、AD原理图、PCB源文件、参考论文、任务书、元件清单、芯片资料等,全网最全!


原文链接:基于51单片机的智能台灯

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于51单片机的智能台灯设计 的相关文章

  • Python自动化备份网络设备配置

    前提 xff1a https blog csdn net weixin 50299079 article details 109300864 好嘞 xff0c 废话不多说 xff0c 开始搞 本文以Cisco CSR1000V设备配合Pyt
  • Check Point R80.40 防火墙

    Check Point 它是一家以色列的公司 xff0c 是面向全球企业用户业内领先的信息安全解决方案提供商 Check Point 解决方案对恶意软件 勒索软件和高级目标威胁的防范率处于业界领先水准 xff0c 可有效保护客户免受网络攻击
  • YangSuite 与 Netconf

    Cisco YangSuite 提供了一组工具和插件 xff0c 用于学习 xff0c 测试采用yang模型的可编程接口 xff0c 例如Netconf Restconf gNMI等 关于理论可以参考之前写的Cisco YangExplor
  • DMVPN 动态多点隧道技术

    DMVPN的特点 配置简单 中心站点只需要配置一次即可 xff0c 增加站点无需修改中心站点配置 xff0c 分支站点配置几乎相同 xff1b 性能好 能够实现动态mGRE隧道 xff0c 数据在分支之间能够直接通信 xff0c 一次加解密
  • Cisco Viptela SD-WAN 基本部署

    Cisco SD WAN Cisco SD WAN四平面 xff0c 四组件 管理平面 vManage xff1b 提供了一个高度可视化的仪表板 xff0c 可简化网络操作 它在整个 SD WAN 结构中提供集中配置 管理 操作和监控 编排
  • Ubuntu20.04安装ROS系统(其中里边出现了很多错误并解决了)

    目录 前言配置流程1 Software amp Update设置2 ifconfig命令3 安装支持SSH4 安装源5 密钥6 更新7 开始安装ROS8 配置环境变量9 验证是否安装成功 前言 首先非常感谢网上的各种安装教程 xff0c 以
  • 大龄程序员没有出路吗?

    点赞关注 xff0c 不会迷路 xff01 前言 说好的更新终于来了 文末有福利 关于这篇文章 xff0c 其实一直在犹豫怎么跟大家说 因为大龄程序员是一个群体 xff0c 但是每个人的情况又各有不同 这篇文章只能给你一个参考 xff0c
  • 怎么做一个分分钟哄女朋友开心的小程序

    点赞关注 xff0c 不会迷路 xff01 主要目的 xff1a 做一个以女朋友照片为背景的画布 xff0c 装饰点小花小草小气球小爱心 xff0c 另设一个女朋友的小图片可以自由的移动 那么就需要创建一个小花类一个气球类 xff0c 一个
  • maven中Profiles的配置及作用

    1 maven中Profiles的配置方法 xff1a pom xml xff1a pom xml中声明的profile只对当前项目有效 当你的项目存在父模块和字模块的时候 xff0c 通常配置在父模块即可 用户settings xml x
  • Java如果在try,catch里面执行return,那么还会不会执行finally?

    点赞关注 xff0c 不会迷路 xff01 总结 xff1a 1 不管有没有异常 xff0c finally中的代码都会执行 2 当try catch中有return时 xff0c finally中的代码依然会继续执行 3 finally是
  • 从三本院校到斩获字节跳动后端研发Offer

    文章篇幅较长 xff0c 都是满满的干货 xff0c 看完收获绝对很多 xff0c 文末有学习笔记和学习资料领取 前言 大家好 这次应博主的邀约 xff0c 写一篇关于我的 Java 自学经历 xff0c 希望对小伙伴们有所帮助 我本科就读
  • 【面试必看】肝出万字攻略,详解腾讯面试

    点赞关注 xff0c 不会迷路 xff01 2021最新学习面试资料 点击一起学习 暗号 xff1a csdn 最新学习资料 43 简历优化资源 前言 今天给大家分享下腾讯面试攻略 标题涉及的范围很广 xff0c 对多数面试腾讯的人而言 x
  • 国内最简单易用的源码,Nacos必须榜上有名!

    点赞关注 xff0c 不会迷路 xff01 2021最新学习面试资料 点击一起学习 暗号 xff1a csdn 最新学习资料 43 简历优化资源 最近新组件新的小组 xff0c 开始了新的项目 xff0c 项目的注册组件选择了我们国产的Na
  • 怎么做能防止B站再崩?

    点赞关注 xff0c 不会迷路 xff01 本文转载自 xff1a 敖丙 大家都知道虽然我是一个程序员 xff0c 但是我非常热爱运动 xff0c 比如跳舞 xff0c 这不每天回家睡前我都会在B站舞蹈区学习相关的舞蹈 昨天也不例外 xff
  • kali工具安装

    文章目录 汉化火狐浏览器 xff1a 安装google拼音输入法安装google浏览器安装beefssh安装gdebi安装 汉化火狐浏览器 xff1a 先执行命令 xff1a apt y install firefox esr l10n z
  • java多线程-8(CompletableFuture的简单使用)

    CompletableFuture简单使用 在JDK1 5引入的Future接口表示了一个异步计算返回的结果 但是使用Future获取异步返回结果的时候 xff0c 要么调用阻塞方法get 方法 要么轮询看isDone 是否为true ge
  • ROS导航小车2 AMCL(蒙特卡洛)粒子滤波定位算法(仅作个人记录)

    AMCL原理概念 AMCL adaptive Monte Carlo Localization 自适应蒙特卡洛定位 xff0c A也可以理解为augmented xff0c 是机器人在二维移动过程中概率定位系统 xff0c 采用粒子滤波器来
  • Linux安装docker-compose时使用github.com拒接连接处理

    报错如 xff1a Failed to connect to raw githubusercontent com port 443 Connection refused 主要问题就是拒接服务到github com xff0c 你可以测试pi
  • ESP32-CAM 在 Web 服务器中拍照和显示

    ESP32 CAM 在 Web 服务器中拍照和显示 项目简介所需部件项目概况 安装 ESP32 附加组件安装库安装 ESPAsyncWebServer 库安装 ESP32 的异步 TCP 库 ESP32 CAM 拍摄和显示照片 Web 服务
  • Linux系统常用命令总结

    目录 基本常用命令 xff1a 关机重启命令 xff1a 防火墙相关命令 xff1a 针对于CentOS7系统 重定向和追加 xff1a 打包压缩命令 xff1a vi vim编辑器 xff1a 软件包安装命令 xff1a 文件权限设置 x

随机推荐

  • ROS入门级教程

    目录 前言 一 ROS简介与安装 二 ROS文件系统 三 ROS核心概念 1 节点 2 话题 3 通讯机制 四 ROS的编译与简单使用 五 调试工具 1 Rviz和Gazebo 2 rqt工具 3 rosbag 六 常用指令 1 常用的文件
  • Springboot 框架

    SpringBoot 1 用来简化 spring 初始搭建和开发过程使用特定的方式进行配置 properties 或者 yml 文 件 2 创建独立的 spring 引用程序 main 方法运行 3 嵌入 Tomcat 无需部署 war 包
  • 新建github分支

    新建github分支 xff0c 可以 直接在github仓库上创建 或者 通过git命令创建 这里以 在main分支下创建test分支 为例 方法一 xff1a 直接在github仓库上创建分支 1 进入相应的仓库 xff0c 点击 Sw
  • Linux应用层开发(文件、多线程,多进程、进程间通信)

    文件IO编程 linux 下 切皆 件 xff0c 我们操作外设 标 键盘 磁盘等外设 就像操作 件 样 要如何操作 件与外设 xff0c 就必须熟练掌握 件IO input 写 output读 1 多文件编程 多 件编程 xff1a 把
  • VINS-MONO运行TUM VIO数据集真实轨迹问题处理

    小loser第一次写记录 xff0c 再次记录一下测试TUM VIO数据集碰到的问题及处理 VINS本身输出的数据需要进行格式转换才能用 xff0c 输出文件修改参考这个博客 Ubuntu 18 04 VINS Mono运行与EVO的评测与
  • 对线程和进程的理解

    进程和线程的区别 进程 xff1a 是指运行后的程序 xff0c 是操作系统分配系统资源 xff08 内存空间 CPU xff09 的最小单位 线程 xff1a 每个进程由一个或者多个进程组成 xff0c 线程是CPU进行分配和调度的最小单
  • 【永久解决】Matlab帮助文档设置语言为中文(可以解决预设窗口中无语言设置的情况)中文帮助文档

    问题描述 Matlab帮助文档在试用一段时间后 xff0c 由中文版本变成了英文版本 xff0c 导致在查询帮助文档时非常难过 网上有说通过预设设置帮助语言 xff0c 但很悲惨的是 xff0c 我的Matlab中并没有语言设置模块 情况如
  • STL — 常用容器

    2 STL 常用容器 2 1 string容器 2 1 1 string基本概念 本质 xff1a string是C 43 43 风格的字符串 xff0c 而string本质上是一个类 string和char 的区别 xff1a char
  • Mysql数据库的初始密码及如何修改密码

    数据库初始密码及如何修改密码 初始密码修改密码 初始密码 可能很多小伙伴们下载安装好MySQL后 xff0c 登录时提示你输入密码 xff0c 但是自己不知道密码是什么 xff0c 用下面的方法可以帮助你快速的找到 xff1a step1
  • John 破解shadow 密码

    1 wget https www openwall com john k john 1 9 0 tar gz 2 tar xvf john 1 9 0 tar gz 3 cd john 1 9 0 src 4 make amp make c
  • LVI-SAM代码复现、调试与运行

    一 LVI SAM介绍 LVI SAM是Tixiao Shan的最新力作 xff0c Tixiao Shan是Lego loam和Lio sam的作者 xff0c LVI SAM是Tixiao Shan最新开源的基于视觉 激光 惯导里程计S
  • Intel Realsense D455深度相机的标定及使用(一)——安装librealsense SDK2.0以及realsense-ros

    一 安装Intel RealSense SDK 2 0 Intel RealSense SDK 2 0 的DKMS内核驱动包 xff08 librealsense2 dkms xff09 支持Ubuntu LTS内核版本4 4 4 8 4
  • VINS-Mono详解(1)——feature_tracker部分

    前言 视觉 IMU融合的优势 xff1a 1 视觉可以帮助IMU消除积分漂移和校正IMU的Bias xff1b 2 借助IMU可以帮助视觉系统提升输出频率 xff1b 3 IMU可帮助单目解决尺度不可观的问题 xff0c 帮助双目减少尺度上
  • Intel Realsense D455深度相机的标定及使用(二)——对内置IMU和双目相机进行标定

    标定前需先安装librealsense SDK2 0以及realsense ros xff0c 可参考教程 xff1a Intel Realsense D455深度相机的标定及使用 xff08 一 xff09 安装librealsense
  • 五、ROS学习之订阅T265里程计数据并与stm32通信

    使用ROS读出T265里程计数据 通过节点订阅t265的里程计数据1 订阅T265的里程计信息2 实现linux系统与stm32通信 xff0c 并向stm32发送里程计信息 通过节点订阅t265的里程计数据 我使用的是Kinetic版本
  • 在js文件中调用vue组件

    正常的书写一个vue组件 lt template gt lt div class 61 34 34 gt lt div gt lt template gt lt script gt export default name 39 Subscr
  • BMP180气压传感器详解与示例(STM32 附带源码)

    BMP180气压传感器详解与示例 xff08 STM32 附带源码 xff09 简介工作模式校准数值测试流程第一步 xff1a 微处理器读取校准数值第二步 xff1a 读取温度 气压初始值第三步 xff1a 计算温度 气压第四步 xff1a
  • MAX30102脉搏血氧仪和心率传感器(三)心率计算——时域法

    文章目录 前言一 算法思想二 算法详解1 阈值检测2 等待波形稳定3 FIR滤波 存入缓存区4 检测PPG信号与阈值曲线的交点5 心率计算 三 实际测试1 静止测试2 动态测试 四 总结五 获取工程源码 前言 本章介绍PPG信号的心率计算方
  • 基于51单片机的指纹密码锁设计

    目录 具体实现功能 设计介绍 单片机介绍 设计思路 资料内容 原理图 程序 仿真实现 全部资料 具体实现功能 具体功能 xff1a 本设计采用STC89C52 AT89C52 AT89S52作为主控芯片 xff0c LCD12864液晶显示
  • 基于51单片机的智能台灯设计

    具体实现功能 系统由STC89C52单片机 43 L数码管 43 光敏电阻 43 人体感应模块 43 红外接近传感器模块构成 具体功能 xff1a xff08 1 xff09 亮度不够且有人靠近时台灯自动亮 xff1b xff08 2 xf