查看“水质监测/zh”的源代码
←
水质监测/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{| style="width: 800px;" |- | ==概述== *项目名称:Microduino水质监测 *目的:检测温湿度和水的浑浊度 *难度:中 *耗时:2小时 *制作者: *简介: 湿地保护模块使用两个传感器获得湿地最主要的三项参数,并通过OLED屏幕显示出来 ==材料清单== *Microduino设备 {|class="wikitable" |- |模块||数量||功能 |- |[[Microduino-Core/zh]]||1||核心板 |- |[[Microduino-USBTTL/zh]] ||1||下载程序 |- |[[Microduino-BM/zh]] ||1||供电 |- |[[Microduino-Cube-V1/zh]] ||1||连接浊度传感器,加下拉电阻 |} *其他设备 {|class="wikitable" |- |模块||数量||功能 |- |1.27pin 母-母连接线||2||连接传感器 |- |Micro-USB数据线||1||下载程序 |- |外壳套件||1|| |- |锂电池 ||1||供电 |} ==实验原理== 温湿度传感器连接在Sensorhub上,浊度传感器连接到Microduino Cube S1上分别组成数据采集模块,OLED连接在Sensorhub上组成显示模块。Microduino-core与USB-TTL连接构成了系统的核心模块,在调试中USB-TTL作为供电部件和通信部件使用。系统运行的整体流程为:通过数据采集模块采集温湿度和水的浊度数据,在核心模块中进行处理,之后显示在OLED屏幕上。 [[File:Wetlandtheory.jpg||600px|center|thumb]] *主要传感器 浊度传感器 [[File:Wetland1.jpg||600px|center|thumb]] TS浊度传感器是GE公司开发的一种专门用于家电产品的低成本传感器,主要用于洗衣机、洗碗机等产品的水污浊程度的测量。通过测量水的污 浊程度来判断所洗物品洁净程度, 从而确定最佳的洗涤时间。 该传感器的工作原理是:当光线穿过一定量的水时,光线的透过量取决于该水的污浊程度,水越污浊,透过的光就越少。光接收端把透过的光强度转换为对应的电流大小,透过的光多,电流大,反之透过的光少,电流小。通过测量接收端电流的大小,就可以计算出水的污浊程度。TS浊度传感器内部原理如图所示 (虚线框内为浊度传感器内部) [[File:Wetland2.jpg||600px|center|thumb]] 浊度电流信号经过电阻R1转换为0V~5V电压信号,利用A/D转换器进行采样处理,单片机就可以获知当前水的污浊度。TS浊度传感器有3个引脚,按照图中的电路连接就可以实现水浊度的测量 [[File:Wetland3.jpg||600px|center|thumb]] ==文档== ==调试过程== *下载程序 将Microduino-Core与Microduino-USBTTL叠加(无上下顺序),通过USB数据与电脑连接起来。 [[File:download1.jpg||600px|center|thumb]] 打开Arduino IDE编程软件,点击【文件】->【打开】 [[File:Dl1.jpg||600px|center|thumb]] 在弹出的窗口中找到例程的Wetland文件夹,选择文件夹内的Wetland.ino文件 [[File:Wetland4.jpg||600px|center|thumb]] 点击【工具】,在板选项里面选择板卡(Microduino-Core),在处理器选项里面选择处理器(Atmega328p@16M,5V),再在端口选项里面选择正确的端口号,然后直接烧录程序。 [[File:Dl3.jpg||600px|center|thumb]] *搭建 第一步:将Microduino-Sensorhub,Microduino-USBTTL,Microduino-core,Microduino-Cube-S1按从上到下的顺序拼接好,完成Microduino模块部分的组装。 [[File:Wetland5.jpg||600px|center|thumb]] 第二步:将OLED模块用连接线连接在Sensorhub的I2C接口上(右下) [[File:Wetland6.jpg||600px|center|thumb]] 第三步:温湿度传感器AM2321通过导线连接到Microduino-Sensorhub的I2C接口上(右下) [[File:Wetland7.jpg||600px|center|thumb]] 第四步:将浊度传感器通过导线连接到Microduino Cube S1背面的接口上 [[File:Wetland3.jpg||600px|center|thumb]] 整体效果 [[File:Wetland8.jpg||600px|center|thumb]] ==注意事项== 浊度传感器的数据输出端口接10KΩ下拉电阻示数才会正确,若不加下拉电阻则示数变化范围会很小 ==程序说明== <source lang="cpp"> #include "U8glib.h" // OLED的库 #include <Wire.h> //I2C总线的库 #include <AM2321.h> //温湿度传感器的库 #define PIN_zd A6 //浊度传感器连接在A6接口 //HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); //128x64 OLED AM2321 am2321; float sensor_vol, temp, tmp; int cnt = 0; float final; void setup() { Serial.begin(9600); // 设置默认颜色 if ( u8g.getMode() == U8G_MODE_R3G3B2 ) u8g.setColorIndex(255); //white else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) u8g.setColorIndex(3); //max intensity else if ( u8g.getMode() == U8G_MODE_BW ) u8g.setColorIndex(1); // pixel on //zhuodu sensor pinMode(PIN_zd, INPUT); //浊度传感器I/O口A6设置为输入模式 } void loop() { sensor_vol = analogRead(PIN_zd); //读取A6口的数值 Serial.println(sensor_vol); //串口显示读取的数值,调试用 sensor_vol = map(sensor_vol, 0, 225, 0, 100); //将电压值映射为 0%-100%表示浑浊程度 temp += sensor_vol; //求和 cnt++; //计数器 if(cnt == 10) { final = temp / 10; //十次数据求均,保证示数稳定 cnt = 0; //计数器清零 temp = 0; //中间值清零 final = 100 - final; if(final < 0) { final = 0; //刨除不稳定数据 } } am2321.read(); //温湿度传感器读取 u8g.firstPage(); //OLED屏幕显示 do { draw(); } while( u8g.nextPage() ); delay(500); } void draw(void) { // 用于OLED屏的设置参数写在这里。 u8g.setFont(u8g_font_unifont); //设置字体 u8g.drawStr( 0, 20, "Temperature:"); //屏幕显示函数,前两个参数为在OLED屏上的坐标 //和固定字符串。每个英文字母和数字,符号占8个像 //素 u8g.setPrintPos(96, 20); //设置坐标,与下个显示函数同时使用,用于显示 u8g.print(am2321.temperature / 10.0); //参数am2321.temperature/10.0 //湿度数据am2321.humidity/10.0 u8g.drawStr( 0, 40, "Humidity:"); u8g.setPrintPos(96, 40); u8g.print(am2321.humidity / 10.0); //浊度数据sensor_vol u8g.drawStr( 0, 60, "Turbidity:"); u8g.setPrintPos(80, 60); u8g.print(final); u8g.drawStr(120, 60, "%"); } </source> ==视频==
返回至
水质监测/zh
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息