# 系统控制与结果查询
# 系统设计
## 设计目的
光污染是继废水、废气、废渣和噪声等污染之后的一种新的环境污染源。光污染不仅仅严重影响了人类的身体健康和其他生物的自然生活规律。除此之外,光污染还对科学探测特别是天文观测产生了严重的影响。
新《中华人民共和国环境保护法》(2015年)中第四十二条明确规定,要防治企业事业单位在生产中产生的包括光污染在内的多种污染。由此可见,我国渐渐认识到了光污染的严重危害,保护环境、治理光污染势在必行。
我们利用在单片机课程上学到的知识,用arduino单片机制作一个可以对光污染进行探测和分析的探测仪器,不仅可以帮助人们保护身体健康,践行绿色环保可持续的发展理念,而且可以在科学探测中保障探测结果的准确。
# 系统功能
基于arduino的光污染探测分析仪具备以下功能:
1. 对整个空间的光强情况进行扫描,寻找出空间中光强最大的方向,也就是污染源的方向。
2. 对于光强探测的结果,既能输出准确的数值,也能进行可视化输出。
2. 网络查询功能:用树莓派做一个服务器,搭建一个网页,用户可以在网页上对探测器进行控制,探测器可以把扫描得到的空间中的光强分布以图片的形式发送到网页上,并且可以对光强最大的污染源拍照并且发送到网页上,方便用户查询。
# 主要硬件介绍
## Arduino uno 开发板:
以ATmega328 MCU控制器为基础,具备14路数字输入/输出引脚(其中6路可用于PWM输出)、6路模拟输入、一个16MHz陶瓷谐振器、一个USB接口、一个电源插座、一个ICSP接头和一个复位按钮。它采用Atmega16U2芯片进行USB到串行数据的转换。它包含了组成微控制器的所有结构,同时,只需要一条USB数据线连接至电脑。目前,Arduino Uno已成为Arduino主推的产品。
![1](./pic/001.png)
## 树莓派3代B+型
这是树莓派的最新型号,主要参数chaxub如下:
* 博通BCM2837B0 SoC,集成四核ARM Cortex-A53(ARMv8)64位@ 1.4GHz CPU,集成博通 Videocore-IV GPU
* 内存:1GB LPDDR2 SDRAM
* 有线网络:千兆以太网(通过USB2.0通道,最大吞吐量 300Mbps)
* 无线网络:2.4GHz和5GHz 双频Wi-Fi,支持802.11b/g/n/ac
* 蓝牙:蓝牙4.2&低功耗蓝牙(BLE)
* 存储:Micro-SD
* 其他接口:HDMI,3.5mm模拟音频视频插孔,4x USB 2.0,以太网,摄像机串行接口(CSI),显示器串行接口(DSI),MicroSD卡座,40pin扩展双排插针
* 尺寸:82mmx 56mmx 19.5mm,50克
![./pic/002.png](./pic/002.png)
## SG90舵机
* 反应转速:0.12~0.13秒/60°;
* 工作扭矩:1.6KG/CM;
* 转动角度:180°
![./pic/002.png](./pic/007.png)
## 光强模块GY-30
通过光敏电阻的原理对光强进行探测,光强越大,电流越小。
![./pic/002.png](./pic/003.png)
# 硬件设计思路和电路图
## 硬件设计思路
1. 将两个舵机按照转轴相互垂直的方向粘合起来,再把四个光强传感器组成探头粘在上方的舵机的转臂上。这样使得探头能够具有四个自由度,可以扫描整个空间。
2. 舵机的转速通过arduino的PWM输出引脚输出PWM信号控制。、
3. 在探头上加一个树莓派专用的摄像头,用于对光污染源拍照。将摄像头和树莓派相连,从而可以将拍到的照片通过树莓派传输的网页端。
## 电路图
## 探测器整体图
![./pic/002.png](./pic/004.png)
# 软件设计思路
## 软件设计
项目主要硬件可以划分为两个部分。arduino部分和raspberry pi部分。两个部分分别是不同的硬件架构。arduino是基于avr的单片机,然而,树莓派是基于arm架构的cpu。
硬件架构的不同导致主要的软件也被划分两部分,再加上显示在用户端的HTML,本项目的软件部分可以划分为三部分。
### arduino部分
arduino主要负责硬件的控制与软件的采集。arduino通过串口接受来自树莓派的指令。
当arduino接收到树莓派的执行光污染源寻找指令时。arduino执行相关函数,首先通过pwm信号操纵水平方向舵机与竖直方向舵机进行转动,转动到初始位置。然后读取光强传感器阵列的数据。之后主次扫描过均匀分布的100各点。并从中找到光强最大的点,并记录位置。然后控制舵机旋转至该位置,然后传送信息至arduino。
当arduino接收到进行全角度扫描时,arduino将控制舵机转动至初始位置。然后开始对空间当中逐点扫描,每转到一个空间位置,遂及测量该点的亮度。并实时传回树莓派,直到遍历空间之中的所有点。扫描完毕之后将结束信号回传。
### 树莓派部分
树莓派作为整个仪器与用户之间的接口,是非常重要的。树莓派对外作为一个web服务器,负责给用户的浏览器分发内容,通过互联网接受用户指令,并根据不同指令返回用户结果或操纵单片机进行相关动作的执行。
#### web服务端采用nginx+uwsig+flask架构
Nginx 是一个很强大的轻量级的高性能Web和反向代理服务器。非常适合在树莓派上用于搭建小型网站。
uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。WSGI是一种Web服务器网关接口。它是一个Web服务器(如nginx,uWSGI等服务器)与web应用(如用Flask框架写的程序)通信的一种规范。uwsgi用于nginx与flask之间的通讯。
Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务。flask在本项目之中可以用作动态网页服务器。用户浏览器发出的指令是由flask处理并执行。
本项目之中树莓派与arduino之间的互动是由python语言完成的。在python中导入了pyserial串口通讯模块用于与arduino通讯。还引入了numpy与matplotlib模块用于处理数据并画图。
# 系统技术测试
经过测试,光强探测器运行一切正常。探测器的探头可以扫描到探头上方整个空间,并且能够绘制出空间中的光强分布。如下图所示:
![./pic/002.png](./pic/005.png)
经过多次测试,探测器的光源寻找功能也能正常工作。能够用树莓派把拍摄到的照片传到网页上。如下所示:
![./pic/002.png](./pic/008.png)
我们根据探测到的光强的范围,设置了一个光强标准,光强范围为0~1000,数值越大,广强越强。
# 软件源代码
## arduino部分
### f7.h
``` C
#include <Servo.h>
struct pw
{
int x;
int y;
float l;
struct pw * next;
};
struct pw * h = NULL;
int a0;
int a1;
int b0;
int b1;
Servo s0;
Servo s1;
char com;
```
### f7.ino
``` C
#include "f7.h"
void readlight();
void findmaxq();
void saomiao();
void sf();
void showlight();
void setup()
{
// 初始化舵机和串口
s0.attach(7);
s1.attach(8);
Serial.begin(9600);
}
void loop()
{
if (Serial.available())
{
com=Serial.read();
switch (com)
{
case 's':
saomiao();
break;
case 'f':
findmaxq();
break;
case 'q':
sf();
break;
case 'l':
showlight();
break;
default:
Serial.println("bad com");
break;
}
}
}
void readlight()
{
// 光强获取函数。
a0=analogRead(A0)-5;
a1=analogRead(A1)+5;
b0=analogRead(A2)-5;
b1=analogRead(A3)+5;
}
void saomiao()
{
// 光强扫描函数
float l;
int i,j;
for( i = 0; i < 180; i++)
{
for( j = 0; j < 180; j++)
没有合适的资源?快使用搜索试试~ 我知道了~
基于arduino+树莓派+Flask的光污染探测分析仪源码+详细文档+全部资料齐全 高分项目.zip
共146个文件
png:34个
html:28个
js:18个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 75 浏览量
2024-05-13
17:40:14
上传
评论
收藏 30.31MB ZIP 举报
温馨提示
【资源说明】 基于arduino+树莓派+Flask的光污染探测分析仪源码+详细文档+全部资料齐全 高分项目.zip基于arduino+树莓派+Flask的光污染探测分析仪源码+详细文档+全部资料齐全 高分项目.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于arduino+树莓派+Flask的光污染探测分析仪源码+详细文档+全部资料齐全 高分项目.zip (146个子文件)
bootstrap-custom.min.css 105KB
bootstrap-custom.min.css 105KB
font-awesome-4.5.0.css 27KB
font-awesome-4.5.0.css 27KB
base.css 7KB
base.css 7KB
highlight.css 2KB
highlight.css 2KB
fontawesome-webfont.eot 69KB
fontawesome-webfont.eot 69KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
f7.h 175B
index.html 129KB
index.html 59KB
index.html 59KB
404.html 5KB
404.html 5KB
test.html 2KB
result.html 161B
result2.html 160B
res.html 70B
res.html 70B
res.html 70B
res2.html 70B
res1.html 19B
res1.html 19B
res1.html 19B
res1.html 18B
res1.html 18B
res1.html 18B
res1.html 18B
res1.html 18B
res.html 15B
res.html 15B
res.html 15B
res.html 15B
res.html 15B
res.html 15B
res.html 15B
res1.html 15B
favicon.ico 1KB
favicon.ico 1KB
web.ini 208B
f7.ino 4KB
Untitled.ipynb 546KB
Untitled-checkpoint.ipynb 27KB
data.jpg 885KB
data.jpg 885KB
data.jpg 885KB
data.jpg 876KB
data.jpg 876KB
data.jpg 859KB
data.jpg 859KB
highlight.pack.js 294KB
highlight.pack.js 294KB
jquery-1.10.2.min.js 91KB
jquery-1.10.2.min.js 91KB
bootstrap-3.0.3.min.js 27KB
bootstrap-3.0.3.min.js 27KB
text.js 15KB
text.js 15KB
lunr.min.js 15KB
lunr.min.js 15KB
require.js 15KB
require.js 15KB
mustache.min.js 9KB
mustache.min.js 9KB
base.js 3KB
base.js 3KB
search.js 3KB
search.js 3KB
search_index.json 120KB
search_index.json 120KB
LICENSE 34KB
index.md 44KB
README.md 44KB
markdown.md 11KB
树莓派详细文档 .md 3KB
search-results-template.mustache 90B
search-results-template.mustache 90B
005.png 3.23MB
005.png 3.23MB
005.png 3.23MB
005.png 3.23MB
004.png 757KB
004.png 757KB
004.png 757KB
004.png 757KB
007.png 398KB
007.png 398KB
007.png 398KB
007.png 398KB
006.png 387KB
006.png 387KB
006.png 387KB
006.png 387KB
001.png 379KB
001.png 379KB
001.png 379KB
共 146 条
- 1
- 2
资源评论
不走小道
- 粉丝: 3217
- 资源: 5113
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功