Arduino 水质检测仪(浊度、TDS、温度、电导率、吸光度、硬度)带18b20温度补偿。

博客展示了Arduino代码,可进行串口打印或OLED显示,开启软串口用于蓝牙传输数据给Android上位机。还提及了电路图和串口输出情况,整体围绕Arduino的代码应用展开。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1、arduino代码如下:

可直接进行串口打印或者oled显示(spi)


#include <SPI.h>
#include <Wire.h>
#include <math.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Fonts/FreeSerif9pt7b.h>
#include <MsTimer2.h> 
#include "TSL2581.h"
//---------------------------TDS-----------------------------------
#include <OneWire.h>
#include <DallasTemperature.h>
//-----------------------------------------------------------------
#include <SoftwareSerial.h>      //开启软串口
 
 
SoftwareSerial mySerial(2 , 3); //第2= RX,第3= TX   //开启软串口
WaveShare_TSL2581 tsl = WaveShare_TSL2581();

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 32 // OLED display height, in pixels

// Declaration for SSD1306 display connected using software SPI (default case):
#define OLED_MOSI   9
#define OLED_CLK   10
#define OLED_DC    11
#define OLED_CS    12
#define OLED_RESET 13
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT,
  OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);

#define NUMFLAKES     10 // Number of snowflakes in the animation example

#define Blank_KEY      7
#define Dark_KEY_INT   1
#define LED_Control    8

//************************* User Defined Variables for TDS********************************************************//
 
 
//##################################################################################
//-----------  Do not Replace R1 with a resistor lower than 300 ohms    ------------
//##################################################################################
 
 
int R1= 1000;
int Ra=25; //Resistance of powering Pins
int ECPin= A0;
int ECGround=A1;
int ECPower =A3;
 
 
//*********** Converting to ppm [Learn to use EC it is much better**************//
// Hana      [USA]        PPMconverion:  0.5
// Eutech    [EU]          PPMconversion:  0.64
//Tranchen  [Australia]  PPMconversion:  0.7
// Why didnt anyone standardise this?
 
 
float PPMconversion=0.7;
 
 
//*************Compensating for temperature ************************************//
//The value below will change depending on what chemical solution we are measuring
//0.019 is generaly considered the standard for plant nutrients [google "Tempe
无需任何TDS/pH计,即可构建自己的基于IoT的水质监测系统! 硬件部件: Arduino UNO×1个 公/母跳线×1个 HC-05蓝牙模块×1个 RGB扩散普通阴极×1个 电阻330欧姆×3 旋转电位器(通用)×1个 RGB LCD屏蔽套件,16x2字符显示×1个 电阻1k欧姆×1个 软件应用程序和在线服务:ArduinoIDEArdutooth 手动工具和制造机: 剥线钳和切割器,26-14 AWG单芯和绞线 什么是TDSTDS代表总溶解固体。顾名思义,它可以使我们溶解在一定量的水中的固体数量,以ppm(百万分之一)为单位。TDS是根据电导率[S / m]计算的。电导率越高,TDS值越高。以下是不同类型的水的TDS值的列表: 纯净水:80-150 自来水:250-350 地下水:500-1000 海水:约30000 根据世界卫生组织(世界卫生组织)的建议,饮用水的TDS低于300。但是,TDS低于100的水不能食用,因为它缺乏必需的矿物质。高于300的水被认为过于“坚硬”,因为其中所含的矿物质过多。 通常,我们使用TDS笔来测量水的TDS。但是,我们无法将笔与Arduino集成在一起。因此,有可以与Arduino集成的特殊TDS仪表。但是,我决定在不使用TDS笔的情况下进行此项目。 Arduino电路Arduino的5V连接到面包板的一个电源轨 将Arduino的地面连接到面包板的另一个电源导轨 将1k欧姆电阻的一端连接到地面,另一端连接到面包板。将Arduino上的模拟引脚A0连接到电阻器。最后,将一根线连接到电阻器,将另一根线连接到5V。将这些电线的自由端连接到鳄鱼夹。 液晶显示 将VSS引脚连接到接地轨 将VDD引脚连接到5V电源轨 将V0连接到电位计的中心引脚 将电位计的两端连接到5V并接地 将RS引脚连接到Arduino引脚7 将R / W引脚连接到Arduino引脚8 将D4连接到Arduino引脚10 将D5连接到Arduino引脚11 将D6连接到Arduino引脚12 将D7连接到Arduino引脚13 HC-05蓝牙模块 将VCC引脚连接到5V电源轨 将GND引脚接地 将TX引脚连接到Arduino引脚3(用作RX) 将RX引脚连接到Arduino引脚2(用作TX) RGB LED 将公共阴极(最长的引脚)接地 通过330欧姆电阻将红色引脚(阴极引脚的右侧)连接到Arduino的PWM引脚9 通过330欧姆电阻将绿色引脚(阴极引脚的左侧)连接到Arduino上的PWM引脚6 通过330欧姆电阻将蓝色引脚(最左侧)连接到Arduino上的PWM引脚5
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蜻蜓队长c

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值