Для аналогового кондуктометра EC Meter

Для аналогового кондуктометра EC Meter

3 208 руб.

Описание

Аналоговый Измеритель проводимости EC
Обратите внимание: Этот продукт содержит введение продукта, монтажную схему, исходный код, пожалуйста, смотрите ниже!
Разница между этим продуктом и продуктом DTS заключается в том, что диапазон измерений большой: 1 мс/см-20 мс/см. DTS подходит для коротких измерений качества воды в домашних условиях
Информация о продукте
Этот аналоговый Измеритель проводимости имеет характеристики простого соединения, удобный и практичный. После подключения с схемой, очень удобно измерять проводимость раствора через программный контроль.
Самое главное, что мы открываем все дизайн и код. arduino позволяет легко собрать данные о проводимости для дальнейшего контроля и исследований. поклонники могут пообщаться и поделиться ими, а также дать ценный совет.
Проводимость-это способность вещества переносить ток и является взаимным сопротивлением. в жидкости проводимость обычно измеряется по взаимному сопротивлению. проводимость воды является важным индикатором качества воды, который может отражать степень электролита в воде. В соответствии с концентрацией электролита в водном растворе, Степень проводимости раствора также отличается. В международной системе блоков блок электрической проводимости называется Siemens/meter (S/m). Другие единицы: S/m, ms/cm и mus/cm.
Диапазон применения
Обнаружение качества воды
Смешанные почвы сельское хозяйство
Аквакультуры
Декоративных аквариумных рыб
Технические параметры
Рабочее напряжение: + 5,00 в
Размер печатной платы: 45 мм × 32 мм
Диапазон измерения: 1 мс/см-20 мс/см
Применимая температура: 5-40 ℃
Точность: <± 10% F. S. (точность зависит от вашей точности калибровки)
Интерфейс XH2.54 (3-значок патч)
BNC соединительный кондуктометрический электрод (постоянный электрод 1)
Проводящий электродный кабель Длина: прибл. 60 см
Мощность индикатор
Схема подключения
Ec-метр-Arduino
В, 5,0 в.
G-заземление;
A -- аналоговый IO (соответствует исходному коду)
Счетов-фактур
BNC соединительный Тип проводимости электрода 1
1 EC метр печатной платы
Одно подключение
Arduino исходный код: & nbsp;

# Включают в себя <OneWire. h> # Определите startконвертировать 0 # Определите температуру чтения 1 конст-байт num показания = 20;/Количество таймбайта образца ECsensorPin = A1;/аналоговый выход счетчика EC, штырь на аналоговом 1 байте DS18B20_Pin = 2;/DS18B20 сигнале, штырь на цифровом 2 неподписанном Инт аналоговом интервале = 25, printInterval = 700, темпсамплеинтервал = 850;/аналоговый интервал образца; Последовательный интервал печати; температурный образец интервалунподписанный Инт показания [НУМ показания]; /Показания аналогового inputbyte = 0;/Индекс текущей индикации неподписанного длинного аналога = 0;/Запуск totalunsigned int analogaveragevolage = 0; /averageunsigned длинные аналоги, printTime, tempSampleTime; температура поплавка, eccurate;/температурный чип i/oOneWire ds (DS18B20_Pin);/цифровой контакт 2 void setup () {/Инициализация последовательной связи с компьютером: Серийный номер. начать (115200)/инициализации все Чтение до 0: (байт thisReading = 0; thisReading <num Чтение; thisReading + +) Чтение [thisReading] = 0; TempProcess (StartConvert); /позвольте DS18B20 начать преобразование аналога = millis (); printTime = millis (); tempSampleTime = millis ();} void loop () {/* каждый раз в то время, образец аналогового значения и рассчитать среднее. */if (millis ()-AnalogSampleTime> = аналогичный интервал) {AnalogSampleTime = millis ();/Вычтите последнее чтение: analogvaluetoum = analogvaluetoитого-показания [индекс];/чтение от датчика: показания [индекс] = аналог (эксенсорпин); /добавьте чтение в итог: analogvaluetoum = analogvaluetoum + показания [индекс];/заранее к следующей позиции в массиве: index = index + 1; /Если мы в конце массива... Если (индекс> = число)/. .. Оберните до начала: индекс = 0;/рассчитать Среднее: аналог средний = аналог/цифр;}/* каждый раз за некоторое время, MCU считывает температуру от DS18B20, а затем позволяет DS18B20 начать преобразование. Внимание: интервал между запуском преобразования и считыванием температуры должен быть больше 750 миллисекунд, или температура не точная! * Если (millis ()-tempSampleTime; при заказе на сумму> = tempSampleInterval) {tempSampleTime = millis (); Температура = TempProcess (прочитайте Температура); /ознакомьтесь с текущей температурой DS18B20 TempProcess (startконвертация);/после чтения Начните Преобразование для следующего чтения} /* Время от времени Печатайте информацию на серийный монитор. */if (millis ()-printTime> = printInterval) {printTime = millis (); среднее напряжение = аналогичное среднее * (поплавок) 5000/1024; серийный. печать ("аналоговое значение:"); серийный. печать (аналог средний);/аналоговый средний, от 0 до 1023 последовательный. с принтом ("Напряжение:»); серийный. печать (среднее напряжение);/средний милливольт, от 0мв до 4995мв. печать ("мВ"); серийный. с принтом ("Температура:»); серийный. печать (температура);/серийный ток температуры. печать ("^ C EC:"); Коэффициент темпа поплавка = 1,0 + 0,0185 * (температура-25,0); /Формула компенсации температуры: ffinalrescuit (25 ^ C) = ffinalrescuit (ток)/(1,0 + 0,0185 * (fTP-25.0); Коэффициент поплавка = (поплавок) Среднее напряжение/коэффициент темпфиции; if (CoefficientVolatge <150) Серийный. println («Нет решения! ");/25 ^ C 1413us/см <--> около 216мв, если напряжение (Компенсирует) <150, то есть <1 мс/см, из другого диапазона, если (CoefficientVolatge> 3300) Серийный. println («вне диапазона! ");/> 20 мс/см, из диапазона else {if (коэффициент <= 448) eccurent = 6,84 * CoefficientVolatge-64.32; /1 мс/см <ЕС <= 3 мс/см, если (коэффициент <= 1457) ток = 6,98 * CoefficientVolatge-127; /3 м/см <EC <= 10 м/см другой eccurent = 5,3 * CoefficientVolatge + 2278;/10 м/см <EC <20 м/см eccurent/= 1000; /Преобразуйте us/cm в ms/cm Серийный. с принтом (ECcurrent, 2)/двух отверстий, десятичная система серийный. println ("ms/cm");}/* ch = 0, позвольте DS18B20 начать преобразование; ch = 1, MCU считывает температуру тока от DS18B20. */float TempProcess (bool ch) {/возвращается температура от одного DS18B20 в DEG по Цельсию статические байт данных [12]; статический байт addr [8]; статическая температура поплавка; если (! ch) {if (! Ds. поиск (addr) {Serial. println («no more датчики на цепочке, сбросить поиск! "); ds. reset_search (); return 0;} if (OneWire: crc8 (addr, 7)! = addr [7]) {Serial. println ("CRC не является действительным! "); возврата 0;} долл. США в том случае, если (адрес [0]! = 0x10 & addr [0]! = 0x28) {Serial. печать («устройство не распознано! "); Возврат 0;} ds. сброс (); ds. выберите (addr); ds. запись (0x44,1);/Запуск преобразования, с паразитовой мощностью на конце} еще {byte present = ds. сброс (); ds. выберите (addr); ds. запись (0xBE);/чтение блокнота для (int i = 0; i <9; i + +) {/Нам нужны 9 байтов данных [i] = ds. чтение ();} ds. reset_search (); байт MSB = данные [1]; байт LSB = данные [0]; поплавок tempRead = (MSB <8) | LSB); /с помощью двух комплиментов температурная сумма = темпреуд/16;} возвратная температура;} # включает <OneWire. h> # определить StartConvert 0 # определить ReadTemperature 1 конст байт numReadings = 20; /Количество таймбайта образца ECsensorPin = A1;/аналоговый выход счетчика EC, штырь на аналоговом 1 байте DS18B20_Pin = 2;/DS18B20 сигнал, штырь на цифровом 2 неподписанном аналоговом интервале = 25, printInterval = 700, tempSampleInterval = 850;/аналоговый интервал образца; Последовательный интервал печати; температурный образец интервалунтированных интервалов int [num чтения];/показания аналогового inputbyte index = 0; /Индекс текущей индикации неподписанного длинного аналога = 0;/Запуск totalunsigned int AnalogAverage = 0, averageVoltage = 0;/averageunsigned long AnalogSampleTime, printTime, float; температура поплавка, eccurent; /температурный чип i/oOneWire ds (DS18B20_Pin);/на цифровой контакт 2 void setup () {/Инициализация последовательной связи с компьютером: serial. начать (115200);/инициализировать все показания до 0: для (Байт thisReading = 0; thisReading <num чтения; thisReading + +) чтения [thisReading] = 0; темппроцесс (startконвертация);/позвольте DS18B20 начать преобразование аналогов = millis (); printTime = millis (); tempSampleTime = millis ();} силы петли () {/* каждый раз в то время, образец аналоговое значение и рассчитать среднее значение. */if (millis ()-AnalogSampleTime> = AnalogSampleInterval) {AnalogSampleTime = millis ();/Вычтите последнее чтение: Analogvaluetoum = analogvaluetoum-показания [индекс];/считывается с датчика: показания [индекс] = аналог (эксенсорпин);/Добавить чтение в общее: analogvaluetoum = analogvaluetoum + показания [индекс];/заранее к следующей позиции в массиве: index = index + 1;/если мы в конце массива... Если (индекс> = число)/. .. Оберните до начала: индекс = 0;/рассчитать Среднее: аналог средний = аналог/цифр;}/* каждый раз за некоторое время, MCU считывает температуру от DS18B20, а затем позволяет DS18B20 начать преобразование. Внимание: интервал между запуском преобразования и считыванием температуры должен быть больше 750 миллисекунд, или температура не точная! */if (millis ()-tempSampleTime> = tempSampleInterval) {tempSampleTime = millis (); Температура = темппроцесс (чтение температуры); /ознакомьтесь с текущей температурой DS18B20 TempProcess (startконвертация);/после чтения Начните Преобразование для следующего чтения} /* Время от времени Печатайте информацию на серийный монитор. */if (millis ()-printTime> = printInterval) {printTime = millis (); среднее напряжение = аналогичное среднее * (поплавок) 5000/1024; серийный. с принтом ("аналогового значения:»); серийный. печать (аналог средний);/аналоговый средний, от 0 до 1023 последовательный. с принтом ("Напряжение:»); серийный. печать (среднее напряжение);/средний милливольт, от 0мв до 4995мв. печать ("мВ"); серийный. печать («Темп:»); серийный. печать (температура);/серийный ток температуры. печать ("^ C EC:"); Коэффициент темпа поплавка = 1,0 + 0,0185 * (температура-25,0); /Формула компенсации температуры: ffinalrescuit (25 ^ C) = ffinalrescuit (ток)/(1,0 + 0,0185 * (fTP-25.0); Коэффициент поплавка = (поплавок) Среднее напряжение/коэффициент темпфиции; if (CoefficientVolatge <150) Серийный. println («какого-либо решения! ");/25 ^ C 1413us/см <--> около 216мв, если напряжение (Компенсирует) <150, то есть <1 мс/см, из другого диапазона, если (CoefficientVolatge> 3300) Серийный. println («вне диапазона! ");/> 20 ms/cm, вне диапазона больше {if (CoefficientVolatge <= 448) ECcurrent = 6,84 * CoefficientVolatge-64.32; /1 мс/см <ЕС <= 3 мс/см, если (коэффициент <= 1457) ток = 6,98 * CoefficientVolatge-127; /3 м/см <EC <= 10 м/см другой eccurent = 5,3 * CoefficientVolatge + 2278;/10 м/см <EC <20 м/см eccurent/= 1000; /Таблица преобразования/см до MS/см серийный. печать (eccurent, 2);/двухдесятичный серийный. println ("ms/cm");}/* ch = 0, позвольте DS18B20 начать преобразование; ch = 1, MCU считывает температуру тока от DS18B20. */float TempProcess (bool ch) {/возвращается температура от одного DS18B20 в DEG по Цельсию статические байт данных [12]; статический байт addr [8]; статическая температура поплавка; если (! ch) {if (! Ds. поиск (адрес) {серийный. println («no more датчики на цепочке, сбросить поиск! "); ds. reset_search (); return 0;} if (OneWire: crc8 (addr, 7)! = addr [7]) {Serial. println ("CRC не действует! "); Возврат 0;} если (addr [0]! = 0x10 & addr [0]! = 0x28) {Serial. с принтом ("устройство не опознано! "); Возврат 0;} ds. reset (); ds. выберите (addr); ds. запись (0x44,1)/начать преобразования, с паразитов кнопка включения в конце} больше {байт Настоящее = ds. reset (); ds. выберите (addr); ds. запись (0xBE);/чтение блокнота для (int i = 0; i <9; i + +) {/Нам нужны 9 байтов данных [i] = ds. чтение ();} ds. reset_search (); byte MSB = data [1]; byte LSB = data [0]; float tempRead = (MSB <8) | LSB); /с помощью двух-комплимент TemperatureSum = tempRead/16;} возврата TemperatureSum;} долл. США

Характеристики

Бренд
KEFU
Тип
Беспроводной
Скорость передачи
10/100/1000 Мбит/С
Вид
Внешний
Протокол беспроводной связи
802.11n