Последнее обновление: 27.09.2024
63575
Примечание: Этот продукт содержит введение продукта, схему проводки, исходный код и так далее. См. Ниже.Введение продуктаЭто оборудование используется для измерения общего качества воды в домашнем хозяйстве.Как правило, водопроводная вода TDS находится в пределах 100 (около 90 в Шэньчжэне), а очищенная вода-в пределах 10.Датчик TDS, совместимый с Arduino, используется для измерения значения TDS воды. Значение TDS может отражать чистоту воды и может быть применено для тестирования качества воды в области бытовой воды и гидропоники.TDS (общее количество растворенных твердых веществ): показывает, сколько миллиграмм растворенных твердых веществ растворяется в 1 литре воды. В общем, чем выше значение TDS, тем больше лизата содержится в воде и тем больше нечистой воды. Таким образом, размер TDS может быть использован в качестве одной из основы для отражения чистоты воды.Обычно используемое испытательное оборудование TDS-это Ручка TDS. Хотя он недорогой и простой в использовании, он не может передавать данные в систему управления, осуществлять долгосрочный онлайн-мониторинг и анализировать качество воды. Используя специальный инструмент, хотя данные могут передаваться, точность высокая, но цена очень дорогая. С этой целью мы специально ввели этот совместимый с Arduino датчик TDS, который может использоваться для измерения значения TDS воды после подключения к контроллеру Arduino.Предназначен для arduino, этот продукт подключен и работает и прост в использовании. Широкое напряжение питания 3,3 ~ 5,5 V и аналоговым выходом сигнала 0 ~ 2,3 V делают этот продукт совместим с 5V, 3,3 V система контроля, который может быть легко использован в готовой системе управления. Источник возбуждения, используемый для измерения, использует сигнал переменного тока, который может эффективно предотвратить поляризацию зонда, продлить срок службы зонда и повысить стабильность выходного сигнала. Зонд TDS является водонепроницаемым зондом, который может погружаться в воду в течение длительного времени.Продукт может быть применен для тестирования качества воды в области бытовой воды, гидропоники и тому подобное. С помощью этого датчика вы можете легко создать детектор TDS и легко проверить чистоту воды, чтобы улучшить качество воды.Примечание: Зонды TDS не могут использоваться в воде выше 55 °C.Зонд TDS не должен быть помещен слишком близко к краю контейнера, так как это повлияет на дисплей.Головка и свинец зонда TDS являются водонепроницаемыми и могут быть погружены в воду, но интерфейс подключения и плата адаптера сигнала не являются водонепроницаемыми. Пожалуйста, обратите внимание на использование.Особенности1. Широкое Рабочее напряжение: 3,3 ~ 5,5 V2. 0 ~ 2,3 в аналоговый сигнал, совместим с 5 В, 3,3 В двумя системами управления3. Источник возбуждения является сигналом переменного тока, эффективно предотвращающим поляризацию зонда4. Водонепроницаемый зонд для длительного погружения в воду5. Совместимость с Arduino, Простота подключения, подключи и работай, пайка не требуетсяТехнические характеристикиПлата адаптера сигнала:Вход напряжение: 3,3 ~ 5,5 VВыходной сигнал: 0 ~ 2,3 ВРабочий ток: 3 ~ 6 мАДиапазон измерения TDS: 0 ~ 1000ppmTDS Точность измерения: ± 10% F.S. (25 °C)Размер: 42*32 ммИнтерфейс модуля: XH2.54-3PИнтерфейс электрода: XH2.54-2PЗонд TDS:Количество зондов: 2Общая длина: 83 смИнтерфейс подключения: XH2.54-2PЦвет: белыйДругое: водонепроницаемый зондПосылка включает в себя:1 * плата адаптера сигнала TDS1 * водонепроницаемый зонд TDS1 * Линия аналогового датчика------------------------Исходный код Arduino# Define TdsSensorPin A1# Определите kValue 1,8/kValue = калибратор TDS значение/измерение для получения TDS# Define VREF 5,0/Аналоговое эталонное напряжение (Вольт) ADC# Define SCOUNT 30/сумма образцаInt analogBuffer[SCOUNT]; /Сохранение аналогового значения в массиве, чтение из ADCInt analogBufferTemp[SCOUNT];Int analogBufferIndex = 0,copyIndex = 0;Средний поплавок = 0,tdsValue = 0, температура = 25;Установка пустотыСерийный. Старт (115200);PinMode (TdsSensorPin, вход);Пустая петляСтатическая длинная аналоговая точка времени = millis();Если (millis()-Аналогичная точка времени> 40U) /каждые 40 миллисекунд, прочитайте аналоговое значение от ADCАналогичная точка времени = millis();Аналогичный буфер [аналог-баффер] = аналог (TdsSensorPin); /чтение аналогового значения и хранение в буфереАналог bufferindex + +;If (аналог bufferindex = SCOUNT)Аналогичный индекс = 0;Статическая неподписанная длинная Печатающая точка времени = millis();If (millis()-printTimepoint > 800U)PrintTimepoint = millis();Для (copyIndex = 0;copyIndexАналогичный buffertemp [copyIndex]= аналогичный буфер [copyIndex];Среднее напряжение = getmedianmum (аналог buffertemp, SCOUNT) * (поплавок) VREF/1024,0;/чтение аналогового значения более стабильное по среднему алгоритму фильтрации и преобразование в значение напряженияКоэффициент компенсации поплавка = 1,0 + 0,02 * (температура-25,0); /Формула компенсации температуры: fFinalResult(25 ^ C) = fFinalResult (ток)/(1,0 + 0,02 *(fTP-25.0);Поплавок компенсирующий волатge = averageVoltage/компенсирующий коэффициент;/компенсация температурыTdsValue = (133,42 * компенсативная сила * компенсаторная сила-255,86 * компенсаторная сила * компенсирующая сила + 857,39 * компенсаторная сила) * 0,5 * kValue; /значение напряжения в значение tds/Серия. Печать ("напряжение:");/Серия. Печать (averageVoltage,2);/Серия. Печать ("V");Серия. Печать ("TDS значение:");Серия. Печать (tdsValue,0);Серия. println("ppm");Int getmedianum (int bArray[], int iFilterLen)
Int bTab[iFilterLen];Для (байт i = 0; iBTab [i] = bArray[i];Int i, j, bTemp;Для (j = 0; j < ifilterlen = " -=" 1;= "j + +)=">Для (i = 0; i < ifilterlen = " -=" j = " -=" 1;= "i +)=">Если (bTab[i] > bTab[i + 1])BTemp = bTab[i];BTab [i] = bTab[i + 1];BTab [i + 1] = bTemp;If (iFilterLen & 1) > 0)BTemp = bTab[(iFilterLen - 1) / 2];ЕщеBTemp = (bTab[iFilterLen / 2] + bTab[iFilterLen / 2 - 1]) / 2;Возврат bTemp;


















