Программный код замеров EC - пример функции — различия между версиями
Материал из ЭНЭ
Woronin (обсуждение | вклад) |
Woronin (обсуждение | вклад) |
||
Строка 7: | Строка 7: | ||
////////////////////////////////////////////// | ////////////////////////////////////////////// | ||
+ | const int analogRAW1 = A0; // Аналоговый порт измерения EC | ||
// Измеритель ЕС | // Измеритель ЕС | ||
// Схема подключения | // Схема подключения |
Версия 18:47, 7 июня 2023
////////////////////////////////////////////// // 2023.05.31 woronin, umkiedu@gmail.com // Тарирование ЕС датчика. Датчик температууры аналоговый // Robot UMKI controller K6_3 // Датчик ЕС1 и ЕС2 - в виде вилки, сравниваем два щупа ////////////////////////////////////////////// const int analogRAW1 = A0; // Аналоговый порт измерения EC // Измеритель ЕС // Схема подключения // DP1----A0-----> Инвертированные значения от 1023 // DP2-----------> Прямые значения от 0 int DP1 = 8; // Цифровой порт соединенный с аналоговым портом и электродом измерения int DP2 = 9; // Цифровой порт соединенный с электродом противофазы int DP3 = A2; // порт соединенный с аналоговым портом и электродом измерения int DP4 = A3; // порт соединенный с электродом противофазы long nummea = 50000; // Количество измерений для усреднения //Функция замера электропроводности в RAW float cond_sol(int d1, int d2, int a0, long measur) { pinMode(d1, OUTPUT); pinMode(d2, OUTPUT); long var = 1; unsigned long ap = 0; unsigned long an = 0; while (var < measur) { digitalWrite(d2, HIGH); ap = 0 + analogRead(a0) + ap; digitalWrite(d2, LOW); digitalWrite(d1, HIGH); an = 1023 - analogRead(a0) + an; digitalWrite(d1, LOW); var++; } pinMode(d1, INPUT); pinMode(d2, INPUT); // Усреднение АЦП при положительной ap и отрицательной an фазе return (((float)ap + (float)an) / var / 2); }