文章目录

  • 一、功能简介
  • 二、软件设计
  • 三、实验现象
  • 联系作者

一、功能简介

本项目使用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单片机】声光控节能灯设计相关推荐

  1. 【Proteus仿真】【51单片机】声光控节能灯设计

    文章目录 一.功能简介 二.软件设计 三.实验现象 联系作者 一.功能简介 本项目使用Proteus8仿真51单片机控制器,使用人体红外传感器.声音传感器.光线传感器模块,PCF8591 ADC模块. ...

  2. 51单片机 Proteus仿真 基于单片机的篮球计分器设计 LCD

    基于单片机的篮球计分器设计 设计LCD显示篮球比分牌 通过加分按钮可以给A队或B队加分 设计对调功能,A队和B队分数互换,意味着中场交换场地 显示比赛倒计时功能 创新内容:如显示第几小节

  3. 基于STM32单片机的智能手环设计(OLED显示)(Proteus仿真+程序+报告)

    编号8 基于STM32单片机的智能手环设计(OLED显示) 功能描述: 由 STM32单片机+按键模拟计步+RTC时钟模块+DS18B20温度传感器模块+心率采集模块+串口模块+OLED显示模块+键盘 ...

  4. 利用Proteus仿真STM32实现按键控制LED灯设计

    1. 前言 Proteus是英国著名的EDA工具(仿真软件),从原理图布图.代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计.是世界上唯一将电路仿真软件.PC ...

  5. 基于单片机双路温度检测报警系统设计-基于单片机声光控智能开关控制灯设计-基于单片机热电偶智能体温检测设计-基于单片机小型家用燃气锅炉控制系统设计-基于单片机一氧化碳有毒气体采集报警系统设计

    1628基于单片机双路温度检测报警系统设计(串口上位机控制) 基于pcf8591 tlc2543的双路温度检测报警系统 带串口上位机控制带仿真 源程序 温度传感器是 LM35 两路测温通道所用的ad芯 ...

  6. 基于STM32单片机水位检测系统仿真设计

    文章目录 主要功能 仿真图 程序(提供源文件源码) 本设计基于STM32单片机水位检测系统仿真设计(proteus仿真+程序) 仿真图proteus 8.11 程序编译器:keil 5 编程语言:C语 ...

  7. Proteus简单入门教程以及使用Proteus仿真STM32F103单片机和Arduino单片机

    工欲善其事必先利其器,有条件的朋友直接使用开发板学习即可,但有时候手边没有实物开发板可以用,那么可以借助一些仿真软件运行我们的程序,Proteus算是使用的比较多的一种仿真软件,我们使用它来做STM3 ...

  8. 【软件相关】Proteus仿真STM32记录

    文章目录 0 前期教程 1 前言 2 先说说建议的流程 3 需要注意的事项 3.1 供电网配置不要忘了 3.2 ADC模块的使用 3.3 元器件查询手册 4 一些小技巧 4.1 快速添加标号 4.2 ...

  9. 使用 Proteus 仿真 STM32

    使用 Proteus 仿真 STM32 创建项目 新建工程 完成 连接元器件 编辑元件 Program File Crystal Frequency 配置供电网 后续 创建项目 新建工程 一直下一步就 ...

最新文章

  1. 解决 Out of range value adjusted for column 'ID' at row 1
  2. java学习笔记(十三)----IO操作
  3. (转)python调取C/C++的dll生成方法
  4. mysql中不要 秒的函数_Mysql中日期和时间函数应用不用求人 | 很文博客
  5. python 中的 del 使用方法
  6. 第二节:Maven的运行机制
  7. 360云盘直链解析PHP,360云盘分析直链解析
  8. “向日葵”远程控制软件,方舟Q2硬件付费/免费功能全面评测,拔草向
  9. 机器人学中一些常用的三角函数公式
  10. lisp方格网法计算土方量_CAD计算土方方量插件
  11. 【微信授权登录】Scope 参数错误或没有 Scope 权限
  12. python扫码点餐系统_python3实现点餐系统
  13. 类 SimpleDateFormat
  14. uClinux移植概述
  15. 西瓜书课后11.1(Relief算法)
  16. Packet Tracer6.0静态路由,RIP,OSPF路由方案配置(1)
  17. Megacli格式化显示脚本
  18. Verilog简易电梯控制系统(2层)
  19. shell不能使用退格、删除键的解决方案
  20. 龙芯处理器首次成功运行 OpenHarmony ;Log4j 被发现存在第三个漏洞;PyPI 服务出现中断 | 开源日报

热门文章

  1. android auto 能微信_想使用Android Auto系统你需要知道的11件事
  2. 数据分析之统计学(贾俊平)学习笔记二
  3. PayPal五合一收款码在线生成网站源码
  4. 努力成为一名合格的测试(附免费学习网址大全)
  5. 涂鸦智能面试题_涂鸦智能面试(杭州)
  6. LeetCode.874-走路机器人模拟(Walking Robot Simulation)
  7. Spring + Quartz任务调度实战之动态作业调度
  8. 基于共建共享提升高铁网络覆盖和感知的研究
  9. matlab win7安装教程视频,matlab7.0安装 win7系统详细使用方法附软件下载 - 电脑教程...
  10. 软件测试初始决策表,软件测试决策表