Project

General

Profile

PH metre » History » Version 15

Frédéric Blanc, 2021-04-11 13:18

1 1 Frédéric Blanc
h1. PH metre
2
3 2 Frédéric Blanc
h2. PH-4502C
4
5 5 Frédéric Blanc
!clipboard-202104101846-oevts.png!
6 4 Frédéric Blanc
7 3 Frédéric Blanc
*Po* Ph analog
8
*To* Temp analog
9
*Do* Trig digital
10
11 1 Frédéric Blanc
!clipboard-202104101516-ovhks.png!
12 2 Frédéric Blanc
13 7 Frédéric Blanc
h3. ADS1115
14 1 Frédéric Blanc
15 7 Frédéric Blanc
gain x1 (4.096V)
16 11 Frédéric Blanc
<pre><code>
17 9 Frédéric Blanc
ph=-5.7*(%value%/2^15*4.096)+21.34
18
</code></pre>
19
20 6 Frédéric Blanc
21 2 Frédéric Blanc
https://www.e-tinkers.com/2019/11/measure-ph-with-a-low-cost-arduino-ph-sensor-board/
22
23
http://agregationchimie.free.fr/phmetre_arduino.php
24 10 Frédéric Blanc
25 11 Frédéric Blanc
h2. DS18B20 Température
26 10 Frédéric Blanc
27
!clipboard-202104111008-blrnr.png!
28 12 Frédéric Blanc
29
correction en température du Ph
30
31
!clipboard-202104111055-6t3ty.png!
32 13 Frédéric Blanc
33
h2. TDS Total Dissolved Solids
34
35
le TDS mesure en ppm les solides dissous dans l’eau.
36
37
!clipboard-202104111106-vnamd.png!
38
39 14 Frédéric Blanc
<pre><code>
40 13 Frédéric Blanc
compensationVolatge=Voltage/1.0+0.02*(temperature-25.0); //temperature compensation
41 1 Frédéric Blanc
tdsValue=(133.42*compensationVolatge^3 - 255.86*compensationVolatge^2 + 857.39*compensationVolatge)*0.5
42 14 Frédéric Blanc
</code></pre>
43 15 Frédéric Blanc
h3. Utilisation des Rules
44 13 Frédéric Blanc
45 15 Frédéric Blanc
Calcul du TDS en ppm compensé en température. Transmission sur un serveur MQTT.
46
TEMP#temperature donnée du capteur de température en °C
47
ADS1115_AIN1_TDS#Analog donnée du convertisseur ADS1115 en volt, la conversion en tension est fait dans le pluging
48
var#n variable interne définie par Let,n,xxx
49
50
<pre><code>
51
On System#Boot do    //When the ESP boots, do
52
 Publish %sysname%/IP,%ip%  // adresse IP
53
  timerSet,1,60      //Set Timer 1 for the next event in 60 seconds
54
endon
55
56
On Rules#Timer=1 do  //When Timer1 expires, do
57
  Let,1,[ADS1115_AIN1_TDS#Analog]/1.0+0.02*([TEMP#temperature]-25.0)   //compensation temperature de la tension TDS 
58
  Let,2,(133.42*[var#1]^3 - 255.86*[var#1]^2 + 857.39*[var#1])*0.5     // valeur du TDS en ppm
59
  Publish %sysname%/TDS,[var#2]
60
  timerSet,1,60       //Resets the Timer 1 for another 60 seconds
61
endon
62
</code></pre>
63 13 Frédéric Blanc
https://wiki.keyestudio.com/KS0429_keyestudio_TDS_Meter_V1.0