【Proteus仿真】【STM32单片机】声光控节能灯设计
文章目录
- 一、功能简介
- 二、软件设计
- 三、实验现象
- 联系作者
一、功能简介
本项目使用Proteus8仿真STM32单片机控制器,使用人体红外传感器、声音传感器、光线传感器模块,PCF8591 ADC模块、LED灯等。
系统运行后,声/光/红外同时控制灯亮灭,
光敏控制灯在白天不亮,只在晚上
声控检测到声音或红外检测到人
靠近时灯亮,声音消失或人离开后
延时5秒灯熄灭。
二、软件设计
/*
作者:嗨小易(QQ:3443792007)
*///参数初始化
void sys_parm_init(void)
{sys_ctrl.light=0;sys_ctrl.flag=0;sys_ctrl.sec=0;sys_ctrl.led_flag=0;LED=1;IREN=1;SOUND=1;
}//系统初始界面显示
void sys_open_show(void)
{lcd1602_clear();lcd1602_show_string(0,0,"Light: %");
}//系统数据获取
void sys_data_get(void)
{while(1){//读取光线值sys_ctrl.light=pcf8591_read_adcvalue(0);sys_ctrl.light=cal_map(sys_ctrl.light,0,255,0,100);//传感器检测浓度值显示lcd1602_show_nums(6,0,sys_ctrl.light,3,0);break;}
}//系统功能控制
void sys_fun_ctrl(void)
{//如果是白天,无论有人与否,LED关闭if(sys_ctrl.light>=70){LED=1;sys_ctrl.flag=1;//标记白天TIM_Cmd(TIM2,DISABLE);//关闭定时器sys_ctrl.sec=0;}else{sys_ctrl.flag=0;//标记晚上 }//只有晚上时,灯才受光线、声音、人体红外控制if(sys_ctrl.flag==0){//如果有人或者有声音,灯亮if(IREN==0 || SOUND==0){LED=0;TIM_Cmd(TIM2,DISABLE);//关闭定时器sys_ctrl.sec=0;sys_ctrl.led_flag=1;}//如果没有人并且没有声音,灯亮一段时间熄灭if(IREN==1 && SOUND==1 && sys_ctrl.led_flag==1){TIM_Cmd(TIM2,ENABLE);//打开定时器 }}
}//应用控制系统
void appdemo_show(void)
{ctrl_pin_init();sys_parm_init();//系统参数初始化pcf8591_init();lcd1602_init();TIM2_Init(500-1,71);//定时10mssys_open_show();while(1){sys_data_get();//系统数据获取sys_fun_ctrl();//系统功能控制 }
}/*******************************************************************************
* 函 数 名 : TIM2_IRQHandler
* 函数功能 : TIM2中断函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void TIM2_IRQHandler(void)
{static u8 i=0;if(TIM_GetITStatus(TIM2,TIM_IT_Update)){i++;if(i>=20)//1S到{i=0;sys_ctrl.sec++;if(sys_ctrl.sec>=LED_COLSE_TIME)//时间到达,自动关闭LED{LED=1;TIM_Cmd(TIM2,DISABLE);//关闭定时器sys_ctrl.sec=0;sys_ctrl.led_flag=0;}}}TIM_ClearITPendingBit(TIM2,TIM_IT_Update);
}
三、实验现象
演示视频:https://space.bilibili.com/444388619
联系作者
专注于51单片机、STM32、国产32、DSP、Proteus、ardunio、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。
【Proteus仿真】【STM32单片机】声光控节能灯设计相关推荐
- 【Proteus仿真】【51单片机】声光控节能灯设计
文章目录 一.功能简介 二.软件设计 三.实验现象 联系作者 一.功能简介 本项目使用Proteus8仿真51单片机控制器,使用人体红外传感器.声音传感器.光线传感器模块,PCF8591 ADC模块. ...
- 51单片机 Proteus仿真 基于单片机的篮球计分器设计 LCD
基于单片机的篮球计分器设计 设计LCD显示篮球比分牌 通过加分按钮可以给A队或B队加分 设计对调功能,A队和B队分数互换,意味着中场交换场地 显示比赛倒计时功能 创新内容:如显示第几小节
- 基于STM32单片机的智能手环设计(OLED显示)(Proteus仿真+程序+报告)
编号8 基于STM32单片机的智能手环设计(OLED显示) 功能描述: 由 STM32单片机+按键模拟计步+RTC时钟模块+DS18B20温度传感器模块+心率采集模块+串口模块+OLED显示模块+键盘 ...
- 利用Proteus仿真STM32实现按键控制LED灯设计
1. 前言 Proteus是英国著名的EDA工具(仿真软件),从原理图布图.代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计.是世界上唯一将电路仿真软件.PC ...
- 基于单片机双路温度检测报警系统设计-基于单片机声光控智能开关控制灯设计-基于单片机热电偶智能体温检测设计-基于单片机小型家用燃气锅炉控制系统设计-基于单片机一氧化碳有毒气体采集报警系统设计
1628基于单片机双路温度检测报警系统设计(串口上位机控制) 基于pcf8591 tlc2543的双路温度检测报警系统 带串口上位机控制带仿真 源程序 温度传感器是 LM35 两路测温通道所用的ad芯 ...
- 基于STM32单片机水位检测系统仿真设计
文章目录 主要功能 仿真图 程序(提供源文件源码) 本设计基于STM32单片机水位检测系统仿真设计(proteus仿真+程序) 仿真图proteus 8.11 程序编译器:keil 5 编程语言:C语 ...
- Proteus简单入门教程以及使用Proteus仿真STM32F103单片机和Arduino单片机
工欲善其事必先利其器,有条件的朋友直接使用开发板学习即可,但有时候手边没有实物开发板可以用,那么可以借助一些仿真软件运行我们的程序,Proteus算是使用的比较多的一种仿真软件,我们使用它来做STM3 ...
- 【软件相关】Proteus仿真STM32记录
文章目录 0 前期教程 1 前言 2 先说说建议的流程 3 需要注意的事项 3.1 供电网配置不要忘了 3.2 ADC模块的使用 3.3 元器件查询手册 4 一些小技巧 4.1 快速添加标号 4.2 ...
- 使用 Proteus 仿真 STM32
使用 Proteus 仿真 STM32 创建项目 新建工程 完成 连接元器件 编辑元件 Program File Crystal Frequency 配置供电网 后续 创建项目 新建工程 一直下一步就 ...
最新文章
- 解决 Out of range value adjusted for column 'ID' at row 1
- java学习笔记(十三)----IO操作
- (转)python调取C/C++的dll生成方法
- mysql中不要 秒的函数_Mysql中日期和时间函数应用不用求人 | 很文博客
- python 中的 del 使用方法
- 第二节:Maven的运行机制
- 360云盘直链解析PHP,360云盘分析直链解析
- “向日葵”远程控制软件,方舟Q2硬件付费/免费功能全面评测,拔草向
- 机器人学中一些常用的三角函数公式
- lisp方格网法计算土方量_CAD计算土方方量插件
- 【微信授权登录】Scope 参数错误或没有 Scope 权限
- python扫码点餐系统_python3实现点餐系统
- 类 SimpleDateFormat
- uClinux移植概述
- 西瓜书课后11.1(Relief算法)
- Packet Tracer6.0静态路由,RIP,OSPF路由方案配置(1)
- Megacli格式化显示脚本
- Verilog简易电梯控制系统(2层)
- shell不能使用退格、删除键的解决方案
- 龙芯处理器首次成功运行 OpenHarmony ;Log4j 被发现存在第三个漏洞;PyPI 服务出现中断 | 开源日报
热门文章
- android auto 能微信_想使用Android Auto系统你需要知道的11件事
- 数据分析之统计学(贾俊平)学习笔记二
- PayPal五合一收款码在线生成网站源码
- 努力成为一名合格的测试(附免费学习网址大全)
- 涂鸦智能面试题_涂鸦智能面试(杭州)
- LeetCode.874-走路机器人模拟(Walking Robot Simulation)
- Spring + Quartz任务调度实战之动态作业调度
- 基于共建共享提升高铁网络覆盖和感知的研究
- matlab win7安装教程视频,matlab7.0安装 win7系统详细使用方法附软件下载 - 电脑教程...
- 软件测试初始决策表,软件测试决策表