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 |