Project

General

Profile

PH metre » History » Version 17

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

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 16 Frédéric Blanc
44 15 Frédéric Blanc
h3. Utilisation des Rules
45 13 Frédéric Blanc
46 15 Frédéric Blanc
Calcul du TDS en ppm compensé en température. Transmission sur un serveur MQTT.
47
TEMP#temperature donnée du capteur de température en °C
48
ADS1115_AIN1_TDS#Analog donnée du convertisseur ADS1115 en volt, la conversion en tension est fait dans le pluging
49
var#n variable interne définie par Let,n,xxx
50
51
<pre><code>
52 17 Frédéric Blanc
On System#Boot do                                                      //When the ESP boots, do
53
 Publish %sysname%/IP,%ip%                                             //Publication de l'adresse IP
54
  timerSet,1,60                                                        //Set Timer 1 for the next event in 60 seconds
55 15 Frédéric Blanc
endon
56
57 1 Frédéric Blanc
On Rules#Timer=1 do  //When Timer1 expires, do
58 17 Frédéric Blanc
  Let,1,[ADS1115_AIN1_TDS#Analog]/1.0+0.02*([TEMP#temperature]-25.0)   //Compensation temperature de la tension TDS 
59
  Let,2,(133.42*[var#1]^3 - 255.86*[var#1]^2 + 857.39*[var#1])*0.5     //Valeur du TDS en ppm
60
  Publish %sysname%/TDS,[var#2]                                        //Publication de la valeur de TDS en ppm
61
  timerSet,1,60                                                        //Resets the Timer 1 for another 60 seconds
62 15 Frédéric Blanc
endon
63
</code></pre>
64 17 Frédéric Blanc
65 13 Frédéric Blanc
https://wiki.keyestudio.com/KS0429_keyestudio_TDS_Meter_V1.0