PIC项目(9)——基于PIC16F877A的环境光照检测系统

1.课题背景

        近年来,城市光污染问题逐渐显现。白天,玻璃幕墙、釉面砖墙、磨光大理石和各种涂料等装饰反射光线,明晃刺眼;夜晚,商场、酒店、超市楼顶的广告牌、电子屏、霓虹灯炫烂夺目。面对这样的光污染,人们却往往忽视了它对儿童视力带来的伤害。

        显然我们需要一款能够测量环境光照强度的设备,当环境光照足够强时,发出警报,提醒人们需要采取必要的措施,进行一定的自我保护,如保护眼睛等。我们的设计就是在这样一个背景下产生的,我们的设计可以测量环境光照强度,并把强度转换为电压值显示出来,可以通过设定光照强度阈值,当环境光大于阈值的时候,就亮红灯,告诉用户环境光过于强,需要采取措施  保护眼睛。若环境光不强,则亮绿灯,用于提示用户现在的环境光照没那么强烈,不必担心会伤害到眼睛。

        对环境光的测量是通过光敏电阻实现的,光敏电阻在环境光照强度发生变化时,它的阻值就会发生变化,通过将光敏电阻和定值电阻串联,那么就可以将光敏电阻阻值的变化转变为电压的变化,通过PIC单片机的AD采集功能,可以检测到电压变化,通过电压变化就可以知道环境光照强度的变化了。此外,本系统还采用了EEPROM,可以保存设置的阈值,实现阈值掉电不丢失的效果。还使用了单片机的内部定时器,实时记录系统运行的时间,还使用串口将采集到的电压发送到上位机显示。

        本次设计的不足之处是,只使用了一路AD,只采集了环境里一个点位上的光照强度,用一个点上的光照代替整个环境的光照可能误差比较大。换句话说,就是一个点上的光照强度不能够代表整个环境上的光照强度,有时候具有偶然性。

        后期应该使用多路AD,采集环境中多个地方、多个点的光照强度,用以排除偶然性,增加可信度。

2.功能设计

功能框图:

功能描述:

  1. 利用单片机的AD功能,测量光敏电阻的电压,用以获得环境光照强度。
  2. 然后通过两个按键,设置光照强度的阈值,(通过设置电压阈值来实现),
  3. 当测得的电压大于设定的阈值电压时,子板上的红灯亮,否则,绿灯亮。其中,按键KEY1使用了外部中断的方法。
  4. 设定的阈值电压存储在了使用I2C接口的EEPROM的地址0001上,每次开机时,都会先从该地址中,读取出数据,通过按键设定的阈值也会被写入到该地址中,那么设定的阈值就会有一个掉电保存的效果。也就是本次重新开机,所使用的阈值其实是上一次使用该系统的时候设置的阈值。
  5. 另外,系统使用了一个定时器,用于测量系统已经开始运行的时间,
  6. 该时间会显示在LCD屏幕上。
  7. 测到的电压值也通过串口,向上位机发送。

3.硬件实现

本次使用的PIC单片机开发板如下图

它分为底板和子板,上层那个绿色的就是子板,下面红的是底板。

 底板全貌如下:

 其原理图如下:

子板的原理图如下:

 

实现过程中的一些实物图如下所示:

 

 

上位机显示如下:

 

4.课题意义 

设计PIC单片机环境光照检测的课题具有以下几个意义:

1. 学习和应用单片机和传感器技术:设计PIC单片机环境光照检测需要学习和应用单片机的基本原理和编程技术,以及光敏传感器的工作原理和使用方法。通过该课题,学生可以增强对单片机和传感器技术的理解和应用能力。

2. 熟悉模拟信号采集和处理:环境光照检测需要采集和处理模拟信号。学生在设计过程中可以学习和熟悉模拟信号采集技术,包括模拟信号的采样、滤波和转换为数字信号的方法。这可以帮助学生提高模拟信号处理的能力。

3. 实践电路设计和调试能力:设计环境光照检测电路需要设计和调试相关的电路,如传感器接口电路和模拟信号处理电路。学生可以通过该课题锻炼电路设计和调试的能力,学习电路原理和实际应用技巧。

4. 了解环境光照的影响和应用场景:环境光照检测可以用于自动调节照明系统、车辆灯光控制等场景。学生通过设计和实践环境光照检测课题,可以更好地了解环境光照的影响和应用场景,在智能化控制系统和自动化领域有实际应用。

5. 培养创新思维和解决问题的能力:在设计PIC单片机环境光照检测的过程中,学生可能会遇到各种问题和挑战,需要运用创新思维和解决问题的能力。通过培养解决问题的能力,学生可以更好地应对未来工程领域的挑战。

综上所述,设计PIC单片机环境光照检测的课题对于学生提高单片机和传感器技术、电路设计和创新能力非常有意义。同时,环境光照检测在智能和自动化领域有广泛应用,这也使得该课题具有实用性和可操作性,有助于学生将所学的知识应用到实际生活和工作中。

5.完整工程

基于PIC16F877A的环境监测系统资源-CSDN文库icon-default.png?t=N7T8https://download.csdn.net/download/guangali/88673968?spm=1001.2014.3001.5503

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于Omlox定位标准(一)——omlox hub

关于Omlox定位标准 Omlox是世界上第一个开放的定位标准,旨在实现灵活的实时定位解决方案,,可以使用来自各个制造商的单元。“omlox"一词源自拉丁词汇"omni”(无处不在)和"locus"(位置…

使用element中el-cascader级联选择器动态懒加载以及回显 (单选)

<template><!-- 新增||修改弹框 --><el-dialog :close-on-click-modal"false" :close-on-press-escape"false" :title"title" :visible.sync"open"width"800px" append-to-body><el-form ref"for…

仓库申请报错:Cannot access gated repo for url https://huggingface.co/api

这个报错主要是使用huggingface里面的仓库的模型或其他文件需要提供访问权利&#xff0c; 1.需要有自己的huggingface账号&#xff08;没有则创建&#xff09; 2.右上角点进个人中心&#xff0c;然后找到Access Tokens&#xff0c; 3.设置新的或者Tokens&#xff0c;设置为读…

Linux之缓冲区的理解

目录 一、问题引入 二、缓冲区 1、什么是缓冲区 2、刷新策略 3、缓冲区由谁提供 4、重看问题 三、缓冲区的简单实现 一、问题引入 我们先来看看下面的代码&#xff1a;我们使用了C语言接口和系统调用接口来进行文件操作。在代码的最后&#xff0c;我们还使用fork函数创建…

牛客网面试题知识点记录-02

1.collection接口 2.在构造方法中调用方法A,若方法A被子类重写&#xff0c;则会先调用子类的方法A。举例如下题&#xff1a; 此时会输出null&#xff0c;调用顺序为&#xff1a;子类初始化&#xff0c;但是子类实现了Base&#xff0c;会先执行Base的构造方法&#xff0c;构造…

【C语言数组传参】规则详解

目录 数组传参介绍 数组传参规则 数组传参的实参 特殊情况一&#xff1a;sizeof&#xff08;数组名&#xff09; 特殊情况二&#xff1a;&数组名 数组传参的形参 数组传参使用数组名作为形参接收 形参如果是⼀维数组 形参如果是⼆维数组 数组传参使用指针作为形参…

登峰造极,师出造化,Pytorch人工智能AI图像增强框架ControlNet绘画实践,基于Python3.10

人工智能太疯狂&#xff0c;传统劳动力和内容创作平台被AI枪毙&#xff0c;弃尸尘埃。并非空穴来风&#xff0c;也不是危言耸听&#xff0c;人工智能AI图像增强框架ControlNet正在疯狂地改写绘画艺术的发展进程&#xff0c;你问我绘画行业未来的样子&#xff1f;我只好指着Cont…

nginx源码分析-3

这一章内容讲述nginx中的事件是如何一步步添加到epoll实例中的。 在初始化http连接的函数ngx_http_init_connection中&#xff0c;nginx为http连接初始化了处理请求的回调函数&#xff0c;之后调用ngx_handle_read_event函数对可读数据进行处理。这里只为连接设置read而没有设…

Python生成器 (Generators in Python)

Generators in Python 文章目录 Generators in PythonIntroduction 导言贯穿全文的几句话为什么 Python 有生成器Generator&#xff1f;如何获得生成器Generator&#xff1f;1. 生成器表达式 Generator Expression2. 使用yield定义生成器Generator 更多Generator应用实例表示无…

一文道破Java NIO

文章目录 一、常见的几种 Java IO 工作模式1.1 同步阻塞 IO1.2 同步非阻塞 IO1.3 异步非阻塞 IO 二、Java NIO 多路复用详解2.1 原理图2.2 基础组件简介SelectorChannelSelectionKey 2.3 Java NIO 代码示例2.4 Linux 支持多路复用的系统调用函数select 函数poll 函数epoll 函数…

十二星座女生、谁最拥有当潮 “女神范儿” 排名 。

请点击 → 「链接」 ← 查看&#xff01; ​​​​​​​ 冠军&#xff08;天秤座&#xff09;、亚军&#xff08;处女座&#xff09;、季军&#xff08;巨蟹座&#xff09; 第四名&#xff08;双鱼座&#xff09;、第五名&#xff08;狮子座&#xff09;、第六名&…

Python/R/GUI/BI类型常用数据可视化工具

什么是数据可视化工具&#xff1f; 数据可视化工具是指旨在可视化数据的所有形式的软件。它们处理数据输入&#xff0c;将其转换为用户可以根据自己的需求进行定制的视觉效果。 不同的工具可以包含不同的功能&#xff0c;但最基本的是&#xff0c;数据可视化工具提供输入数据集…