用透明屏+pH电极做一个pH计
最近在DF商城看到个—模拟pH计,可用于测量液体的酸碱度。想想曾经在化学实验课上还是使用pH试纸来测量溶液酸碱度,测量不仅操作复杂而且也无法得到精确的pH数值。
如今使用DF出品的硬件以及文档资料便可轻松自制pH计,用此来测量常见液体的pH值,实验室级电极测量精度在±0.1@25℃完全满足使用需求。
大家都说柠檬很酸能酸掉大牙那种,今天我们就来看看到底有多酸—来实测柠檬的pH值。
一开始选用透明屏其实并没有特殊含义,只是最近才试玩了并且觉得显示效果不错,过程中朋友问我“你都选用透明屏了为什么不让它透明,不然你选择它的意义在那”。这灵魂拷问一时间我竟无以回答。后来经过一系列的构思设计以及朋友的建议,才有了最终的展示效果。
根据pH值颜色对照表,用灯带的颜色对应不同的pH值。
X-Y坐标显示测量pH值的变化曲线
DIY手持式pH计
材料清单:
- Beetle ESP32-C3
- 模拟pH计V2
- OLED透明屏幕
- RGB 全彩灯带
- 3.7V电池
- 外壳
硬件组装:
安装电源开关
用电磨机给外壳开孔
固定pH计的信号转接板
用塑料片固定透明屏
连接透明屏转接板
焊接且固定C3的扩展板
插上C3
连接3.7V电池
打孔安装灯带
额。。。翻车了,3颗坏2颗(南瘦)
算了,还是重新设计一下吧,绘制图纸
用激光切割亚克力板
在反面切割开孔并安装亚克力板
使用切割工具须小心注意安全
将前盖与后盖组合起来
在外壳正面贴上黑色贴纸
连接上pH计探头
到此你便得到了一个精雕细刻、流光溢彩、妙不可言的pH计!
最后有一说一柠檬真的很酸!
实用工具推荐
钩式测试夹
在pH计的制作过程中非常实用的工具,在测试与焊接前使用钩式测试夹,直接钩住焊孔,连接稳定解放双手;彩色的设计更容易区分电路。
程序
#include <Arduino.h>
#include <U8g2lib.h>
#include <SPI.h>#if defined ARDUINO_SAM_ZERO
#define OLED_DC 7
#define OLED_CS 5
#define OLED_RST 6
/*ESP32 */
#elif defined(ESP32)
#define OLED_DC 1
#define OLED_CS 7
#define OLED_RST 6
/*ESP8266*/
#elif defined(ESP8266)
#define OLED_DC D4
#define OLED_CS D6
#define OLED_RST D5
/*AVR series board*/
#else
#define OLED_DC 2
#define OLED_CS 3
#define OLED_RST 4
#endif
U8G2_SSD1309_128X64_NONAME2_1_4W_HW_SPI u8g2(/* rotation=*/U8G2_R0, /* cs=*/ OLED_CS, /* dc=*/ OLED_DC,/* reset=*/OLED_RST);
const uint8_t col[] U8X8_PROGMEM= {0x00,0x00,0x1F,0x0E,0x04}; #include "DFRobot_PH.h"
#include <EEPROM.h>#define PH_PIN A0
float voltage,voltage1,phValue,temperature = 25;
float acidVoltage = 2032.44;
float neutralVoltage = 1500.0;
int w;
int qw;float w0,w1,w2,w3,w4,w5,w6,w7,w8;int p;float randNumber;//随机数DFRobot_PH ph;void setup(){Serial.begin(115200);ph.begin();u8g2.begin();u8g2.setFontPosTop();}void loop(){static unsigned long timepoint = millis();if(millis()-timepoint>1000U){ //time interval: 1stimepoint = millis();//temperature = readTemperature(); // read your temperature sensor to execute temperature compensationvoltage = analogRead(PH_PIN)/4096.0*2900; // read the voltage// voltage = analogRead(PH_PIN)/1024.0*5000;phValue = ph.readPH(voltage,temperature); // convert voltage to pH with temperature compensationSerial.print("temperature:");Serial.print(temperature,1);Serial.print("^C pH:");Serial.print(phValue,2);//voltage1=voltage-1500.00;
voltage1=voltage*0.001;Serial.print(" voltage:");Serial.print(voltage1);Serial.println("mV");}ph.calibration(voltage,temperature); // calibration process by Serail CMDw=map(phValue, 0, 15, 5, 99);qw=map(phValue, 0, 15, 2, 39);w8=w7;
w7=w6;
w6=w5;
w5=w4;w4=w3;w3=w2;w2=w1;w1=w0;w0=qw;u8g2.firstPage(); do{u8g2.drawLine(5, 54, 104, 54);u8g2.drawLine(50, 0, 50, 40);u8g2.drawLine(50, 40, 120, 40);//u8g2.clearBuffer(); u8g2.setFont(u8g2_font_t0_11b_tr ); u8g2.drawStr(5,55,"0"); u8g2.drawStr(50,55,"7");u8g2.drawStr(95,55,"14");// u8g2.drawStr(w,50,"^");
u8g2.drawXBMP( /* x=*/w , /* y=*/49 , /* width=*/5 , /* height=*/5 , col );u8g2.drawLine(58, w7, 50, w8);
u8g2.drawLine(66, w6, 58, w7);
u8g2.drawLine(74, w5, 66, w6);
u8g2.drawLine(82, w4, 74, w5);u8g2.drawLine(90, w3, 82, w4);
u8g2.drawLine(98, w2, 90, w3);
u8g2.drawLine(106, w1, 98, w2);
u8g2.drawLine(114, w0, 106, w1);u8g2.setFont(u8g2_font_HelvetiPixelOutline_tr);u8g2.setCursor(/* x=*/1, /* y=*/10); //Define the cursor of print function, any output of the print function will start at this position.u8g2.print(phValue);u8g2.sendBuffer(); } while( u8g2.nextPage() );// delay(1000);}float readTemperature(){//add your code here to get the temperature from your temperature sensor}
用透明屏+pH电极做一个pH计相关推荐
- dw做php怎么做表格透明,怎么用DW做一个表格?用DW做表格方法图解
在平时我们做网店装修时,我们经常会遇到做一个小表格,例如我们做一个页面的关联营销,需要做一个表格,然后里面添加我们的图片,价格,产品标题等等,那么问题来了,在我们不懂html代码的情况下,我们怎样用D ...
- 罗斯蒙特1056ph电极_ROSEMOUNT 罗斯蒙特 PH电极 0396R-10-2(0396R-10-2)
ROSEMOUNT 罗斯蒙特 PH电极 0396R-10-21-54 ROSEMOUNT分析仪1056-01-22-38-HT ROSEMOUNT分析仪1056-03-22-38-AN ROSEMOU ...
- 罗斯蒙特1056ph电极_Rosemount/罗斯蒙特1056-02-20-36-AN-UL 分析仪PH电极
1056-02-20-36-AN-UL 396R-10-21-54ROSEMOUNT罗斯蒙特电极现货销售396R-10-21-54 原装进口,价格最低,及时报价 罗斯蒙特浊度电极8-0108-0003 ...
- 罗斯蒙特1056ph电极_罗斯蒙特PH电极0396R-10-21-54
ROSEMOUNT罗斯蒙特 ROSEMOUNT 分析仪表,ROSEMOUNT PH电极,ROSEMOUNT 电导率电极, 罗斯蒙特溶解氧电极,罗斯蒙特1056电导率变送器. 北京英斯路 董婧 010- ...
- 罗斯蒙特PH电极1056-01-22-32-AN智能型四线制变送器规格及特点
罗斯蒙特PH电极1056-01-22-32-AN智能型四线制变送器规格及特点 1056 智能型四线制变送器: 1056 双输入变送器可以单传感器或双传感器输入,并且对两个测量的选择不设限,因此降低了每 ...
- 张勇:做一个透明经济体的CEO
2007年的一天,马云和新进阿里巴巴的一批高管在西湖边的湖畔居喝茶,问大家为什么来阿里.时任淘宝CFO的张勇这样回答:"我已经干过一个30亿美金的CFO了,想干个300亿美金的." ...
- 做一个墨水屏电子钟,炫酷!
这周和大家介绍一个漂亮的墨水屏电子钟,兼具气象站功能(可以通过GPS自动设置),用4节AAA电池可以续航6个月左右,而且,为了保证安全和可靠性,它不需要任何网络连接. 特点包括: 自动设置(通过GPS ...
- 用 python 做一个动态可视化交互大屏
你可能经常会在公司前台.展会.路演时看到可视化数据的交互大屏.今天我们就来用 python 做一个动态可视化的交互大屏图. 一.项目背景 随着科技的飞速发展,数据呈现爆发式的增长,任何人都摆脱不了与数 ...
- E+H PH电极CPF81-NN11A3
E+H PH电极CPF81-NN11A3 废水,底漆和金属的紧凑型电极 Orbipac CPF81是在恶劣环境下进行pH测量的模拟简单解决方案.即使在纤维介质中和高流量下,它也可以可靠,准确地进行测量 ...
- LED透明屏多少钱一平方?—实用LED透明屏价格表参考
透明LED显示屏主要应用在玻璃幕墙.商业橱窗.舞台.室内空间等领域.LED透明屏多少钱一个平方?对于意向的项目朋友来说,一份详细的LED透明屏报价方案,可以更好帮助你了解价格构成信息: 一.LED透明 ...
最新文章
- HTML5的学习,各个标签的尝试
- mac os下valgrind的安装
- 机器学习笔记:过拟合和欠拟合
- mysql频繁查询出错_Mysql数据库频繁查询错误解决方案
- 不扯概念,用例子演示什么是脏读,不可重复读,幻读?
- mysql 替换 汉字_MySQL替换文字
- haproxy 配置 说明
- 统计学习方法---牛顿法
- Django 阅读笔记 - Cache
- JAVA与SQL对应数据类型转换表
- 西门子s7-200解密软件下载_高邮哪里有西门子三菱PLC编程学习班?多久能学会?...
- bugku-writeup-Crypto-Ook.
- RocketMQ源码解析之消息生产者(获取topic路由信息)
- 1.Lunix系统安装及重置root密码
- lavarvel框架路由
- 使用python-control库实现MATLAB自动控制原理常用函数:Bode图 Nyquist图 根轨迹
- VBA 连接Oracle 数据库
- 人工智能基础:机器学习常见的算法介绍
- 中字符转换中文乱码的处理方法
- [渝粤教育] 西南科技大学 管理学原理 在线考试复习资料(1)