#define sens 4
void setup() {
Serial.begin(9600);
}
void loop() {
sensor_data();
delay(200);
}
void sensor_data() {
int tik = 0;
pinMode (sens, OUTPUT);//
digitalWrite (sens, LOW); // устанавливаем ВЫХОД и 0 для замера времени разрядки кнопки
pinMode (sens, INPUT); // установливаем ВХОД замеряем время зарядки кнопки
while (!digitalRead(sens)) { //пока не будет лог1, считаем tik-и
tik++;
}
Serial.println(tik); //пишем результат
}
Попробовал чисто из интереса по схеме и скетчу этот сенсор. Реагирует на прикосновение пальца. Закоротил конденсатор - сенсор работает, убрал резистор - сенсор работает, убрал сенсор (оставил отрезок проводника со снятой изоляцией ) - "сенсор" работает. Вывод : туфта это, а не сенсор :-)
Попробовал чисто из интереса по схеме и скетчу этот сенсор. Реагирует на прикосновение пальца. Закоротил конденсатор - сенсор работает, убрал резистор - сенсор работает, убрал сенсор (оставил отрезок проводника со снятой изоляцией ) - "сенсор" работает. Вывод : туфта это, а не сенсор :-)
Хотя может я жестоко ошибаюсь.
На пальце не только 50Гц но и статика иногда бывает. Так вот все элементы которые вы убрали и служат для того, чтобы процессор не вышел из строя.
Можно по тикам по подробнее, какой-нибудь фрагмент кода применительно к ситуации.. буду экспериментировать)
bool LEVEL_0 = false; // флаг состояния 0-го датчика
void sensor_data() {
tik = 0;
pinMode (sen_arr[j], OUTPUT);//
digitalWrite (sen_arr[j], LOW); // устанавливаем ВЫХОД и 0 для замера времени разрядки кнопки
pinMode (sen_arr[j], INPUT); // установливаем ВХОД замеряем время зарядки кнопки
// delayMicroseconds(25); //
while (!digitalRead(sen_arr[j]) { //пока не будет лог1, считаем tik-и
tik++;
}
Serial.println(tik); //считаем tik-и с пустым баком , и с полным и на
delay(1000); //основе замеров пишем условие, что-то вроде:
if (tik < 5)
LEVEL_0 = false;
if (tik > 7)
LEVEL_0 = true;
}
Первая часть задачи вроде как решена, помогите по второй - какую сенсорную площадку использовать чтобы ее чувствительности было достаточно без касания? В инете есть общие варианты, хочется конкретный простой в реализации, я далек от этого ..
Для контроля уровня жидкости для радиопрозрачной емкости (Стекло или пластмасса)использую такой датчик из Китая:
,
У этого датчика нет самокалибровки в момент включения, как у TTP223. В этом конкретном датчике имеется выход-открытый коллектор.Использую такой датчик в схеме с Attiny85 для контроля уровня тосола в авто.Работает очень хорошо, и зимой и летом.
Да рассматривал его, но есть но.. текущая цена(, а их нужно мин. 4шт.
Рассматривал это вариант, не очень практичен, т.к. громоздкий достаточно емкость есть одна небольшая и нужно отслеживать 2 уровня минимум и максимум, во-вторых нужна высокая точность речь идет о десятках граммов. И вообще хотелось что нибудь недорогое и универсальное - сенсор можно поставить через стенку на любой уровень, ничего резать не надо.
Осталось только услышать, что эти десятки граммов нужно ловить на тонне жидкости, а жидкость эта - расплавленный чугун! Шутка, если что. Но есть сомнения, тот ли Вы метод измерения осваиваете...
Да дозировка небольшая расход 40 - 50 гр добавки на 70 л воды, все купил уже датчик расхода, клапан.. только датчик уровня держит)
мога быть, мога быть. Конденсатор от пина и контакта на землю включен, и он не больше 10-20 пик, согласно скетча ТС, остальное паразитная емкость монтажа еще 5-15 пик.
А зря что ли паять рекомендуют с заземлённым браслетом на руке?
Вот я и говорю - туфта. Сколько схему не улучшай-упрощай всё равно два состояния фиксируются - есть касание пальцем или нет. И совсем иное дело esp32 вместо ардуино, там 4 состояния надёжно фиксируются:
////////////////////// СЕНСОРНАЯ КНОПКА
// Тестовый скетч для емкостных сенсорных контактов ESP32.
//
int porog_1=80;//порог подключения-отключения внешнего сенсора
int porog_2=50;// порог касания поверхности диэлектрика
int porog_3=20;// порог касания поверхности проводника
void setup()
{
Serial.begin(115200);
}
void loop()
{
Serial.println(touchRead(12));
/*if(touchRead(12)>porog_1){Serial.println("сенсор ОТКЛЮЧЁН");}
if(touchRead(12)<=porog_1&&touchRead(12)>porog_2){Serial.println("сенсор ПОДКЛЮЧЁН,нет касания");}
if(touchRead(12)<=porog_2&&touchRead(12)>porog_3)Serial.println("касание ДИЭЛЕКТРИКА");
if(touchRead(12)<=porog_3){Serial.println("касание ПРОВОДНИКА");}
*/
delay(500);
}
Впрочем у этого аппаратно-программного сенсора есть и плюс. Если взять реальные кнопки и поэкспериментировать на такой схеме:
то можно сделать "прорыв в нанотехнологиях" по типу "очень многа кнопак на одном цифровом пине !!!"
Народ ему сенсор по воде нужен, а не прикосновению пальцем...
и что? ТС сгинул, тема сама живет.
lilik предложил довольно интересный блок кнопок, интересный он своей простотой, быстродействием и повышенной помехоустойчивостью, за счет емкости на входе.
Народ ему сенсор по воде нужен, а не прикосновению пальцем...
и что? ТС сгинул, тема сама живет.
lilik предложил довольно интересный блок кнопок, интересный он своей простотой, быстродействием и повышенной помехоустойчивостью, за счет емкости на входе.
да ради бога, инфа от вас полезная! я думал вы для него стараетесь))
Народ ему сенсор по воде нужен, а не прикосновению пальцем...
и что? ТС сгинул, тема сама живет.
lilik предложил довольно интересный блок кнопок, интересный он своей простотой, быстродействием и повышенной помехоустойчивостью, за счет емкости на входе.
А зря что ли паять рекомендуют с заземлённым браслетом на руке?
Вот я и говорю - туфта. Сколько схему не улучшай-упрощай всё равно два состояния фиксируются - есть касание пальцем или нет. И совсем иное дело esp32 вместо ардуино, там 4 состояния надёжно фиксируются:
////////////////////// СЕНСОРНАЯ КНОПКА
// Тестовый скетч для емкостных сенсорных контактов ESP32.
//
int porog_1=80;//порог подключения-отключения внешнего сенсора
int porog_2=50;// порог касания поверхности диэлектрика
int porog_3=20;// порог касания поверхности проводника
void setup()
{
Serial.begin(115200);
}
void loop()
{
Serial.println(touchRead(12));
/*if(touchRead(12)>porog_1){Serial.println("сенсор ОТКЛЮЧЁН");}
if(touchRead(12)<=porog_1&&touchRead(12)>porog_2){Serial.println("сенсор ПОДКЛЮЧЁН,нет касания");}
if(touchRead(12)<=porog_2&&touchRead(12)>porog_3)Serial.println("касание ДИЭЛЕКТРИКА");
if(touchRead(12)<=porog_3){Serial.println("касание ПРОВОДНИКА");}
*/
delay(500);
}
Впрочем у этого аппаратно-программного сенсора есть и плюс. Если взять реальные кнопки и поэкспериментировать на такой схеме:
то можно сделать "прорыв в нанотехнологиях" по типу "очень многа кнопак на одном цифровом пине !!!"
Рассматривал это вариант, не очень практичен, т.к. громоздкий достаточно емкость есть одна небольшая и нужно отслеживать 2 уровня минимум и максимум, во-вторых нужна высокая точность речь идет о десятках граммов. И вообще хотелось что нибудь недорогое и универсальное - сенсор можно поставить через стенку на любой уровень, ничего резать не надо.
Осталось только услышать, что эти десятки граммов нужно ловить на тонне жидкости, а жидкость эта - расплавленный чугун! Шутка, если что. Но есть сомнения, тот ли Вы метод измерения осваиваете...
Да дозировка небольшая расход 40 - 50 гр добавки на 70 л воды, все купил уже датчик расхода, клапан.. только датчик уровня держит)
Это никого не смущает? В 70 литровой бочке ловить добавление 50 г по изменению уровня жидкости?
Я чего-то не понимаю наверное...
Мне кажется ТС не понимает, что палец (целый человек) на сенсоре это одно, а подъём уровня воды на миллиметры через стеклянную стенку для сенсора это совсем другое. Иными словами никакие физические величины практически никак меняться не будут :-)
Следующий шаг - подключение к цифровым пинам джойстика (это в порядке захломления темы, хотя смотрю на 3Д принтер свой и есть идея...)
#define sens 4
#define seria 10
void setup() {
Serial.begin(9600);
}
void loop() {
sensor_data();
delay(200);
}
void sensor_data() {
long TIK=0;
for(int i=0;i<seria;i++)// делаем серию замеров
{
long tik = 0;
pinMode (sens, OUTPUT);//
digitalWrite (sens, LOW); // устанавливаем ВЫХОД и 0 для замера времени разрядки кнопки
delay(1);
pinMode (sens, INPUT); // установливаем ВХОД замеряем время зарядки кнопки
while (!digitalRead(sens)) { //пока не будет лог1, считаем tik-и
tik++;
}
//Serial.println(tik); //пишем результат
TIK=TIK+tik;
}
TIK=TIK/seria;// вычисляем среднее значение в серии
Serial.println(TIK); //пишем усреднённый результат
}
Да дозировка небольшая расход 40 - 50 гр добавки на 70 л воды, все купил уже датчик расхода, клапан.. только датчик уровня держит)
А я думаю, что ТС нужно просто дозировать какой-то препарат в воду 1:150. Если так, то можно обойтись без уровнемеров и расходомеров. Но на моем шаре зарядка сдохла))
Рассматривал это вариант, не очень практичен, т.к. громоздкий достаточно емкость есть одна небольшая и нужно отслеживать 2 уровня минимум и максимум, во-вторых нужна высокая точность речь идет о десятках граммов. И вообще хотелось что нибудь недорогое и универсальное - сенсор можно поставить через стенку на любой уровень, ничего резать не надо.
Осталось только услышать, что эти десятки граммов нужно ловить на тонне жидкости, а жидкость эта - расплавленный чугун! Шутка, если что. Но есть сомнения, тот ли Вы метод измерения осваиваете...
Да дозировка небольшая расход 40 - 50 гр добавки на 70 л воды, все купил уже датчик расхода, клапан.. только датчик уровня держит)
Это никого не смущает? В 70 литровой бочке ловить добавление 50 г по изменению уровня жидкости?
Я чего-то не понимаю наверное...
Может объяснит кто?
Поясняю - есть небольшая емкость с добавкой, с нее сливается в большую емкость (вода) 40-50гр. Система простая - датчик расхода, электромагнитное реле. Тут все ясно. Вопрос только в датчике уровня.. как его исполнить
Мне кажется ТС не понимает, что палец (целый человек) на сенсоре это одно, а подъём уровня воды на миллиметры через стеклянную стенку для сенсора это совсем другое. Иными словами никакие физические величины практически никак меняться не будут :-)
Хорошо, я ориентировался на сенсор ttp223, он без проблем реагировал на воду, только не держал 1 из-за автокалибровки. Нельзя сделать что-то аналогичное самому? или считаете значит задача в принципе не решаемая?
Проблема в том, что в ТТР223 нет удержания 1, т.е. есть триггер если соединить перемычку - при одном нажатии фиксирует 1, при повторном - убирает 1 на 0. т.е. речь темы использование сенсора как датчика уровня воды необходимо при наличии воды (читай нажатии) фиксировать 1, а при опускания уровня воды (читай отжатия) фиксировать 0. Если в обычном режиме при нажатии более 10сек. срывается уровень 1 до 0. Вот такая проблема с вашей кнопкой...
Если каким-то чудом этот датчик норм. фиксирует уровень воды, и её уровень не надо контролировать очень часто,то можно решить эти проблемы
простым его включением/выключением по команде Ардуино(транзисторным ключом)
Например: 1. сработал триггер- фиксируем лог 1.
2. выключаем датчик/ пауза для полного выключения
3. включаем датчик/пауза для инициализации
4. новый опрос датчика
Т.е если что-то там "капает" по 50мл, зачем часто уровень проверять?
P.S.На всякий случай , если вдруг "прорыв" авария второй датчик повыше для надёжности
ему один раз сработать - всё выкл.
ещё д-шит глянуть , может можно как-то спящий режим отключить, может позже гляну, будет время
Вико-Е не плохая идея, сам ищу тоже пути реализации для аэратора воды, но ценник кусается 732руб самый дешёвый нашёл... А мне их надо 6 шт на три бочки(((
А вообще этот аппаратно-программный сенсор успешен?
не проще так:?
Гермотрубка, герконы, резисторы, поплавок-кольцо-магнит.
А так это выглядит в практическом исполнении.
Это "жесткий" вариант из трубки, 1 поплавок, 4 геркона.
Это "гибкий" вариант.
Pyotr,нужно еще операционник поставить на разъеме датчик-бак. В противном случае Вы будете ловить сигналы из космоса.
Pyotr,нужно еще операционник поставить на разъеме датчик-бак. В противном случае Вы будете ловить сигналы из космоса.
Какие операционники, две релюшки на 220В и вперед.https://rutube.ru/video/add0a0d0409284beec40cf46af5c2df6/
а если емкость не токопроводная, то лучше датчик XKC-Y25. Отлично работает на расстоянии 5-10мм.
Pyotr,нужно еще операционник поставить на разъеме датчик-бак. В противном случае Вы будете ловить сигналы из космоса.
В делителе резисторы на сотни Ом и кабель до 1 м экранированный. Пять лет прошло, а космос молчит))
#define sens 4 void setup() { Serial.begin(9600); } void loop() { sensor_data(); delay(200); } void sensor_data() { int tik = 0; pinMode (sens, OUTPUT);// digitalWrite (sens, LOW); // устанавливаем ВЫХОД и 0 для замера времени разрядки кнопки pinMode (sens, INPUT); // установливаем ВХОД замеряем время зарядки кнопки while (!digitalRead(sens)) { //пока не будет лог1, считаем tik-и tik++; } Serial.println(tik); //пишем результат }Попробовал чисто из интереса по схеме и скетчу этот сенсор. Реагирует на прикосновение пальца. Закоротил конденсатор - сенсор работает, убрал резистор - сенсор работает, убрал сенсор (оставил отрезок проводника со снятой изоляцией ) - "сенсор" работает. Вывод : туфта это, а не сенсор :-)
Хотя может я жестоко ошибаюсь.
туфта это, а не сенсор :-)
Да , но в Ардуинку поиграться самый раз))
P.S варистор в этой схеме не помешал - бы
Попробовал чисто из интереса по схеме и скетчу этот сенсор. Реагирует на прикосновение пальца. Закоротил конденсатор - сенсор работает, убрал резистор - сенсор работает, убрал сенсор (оставил отрезок проводника со снятой изоляцией ) - "сенсор" работает. Вывод : туфта это, а не сенсор :-)
Хотя может я жестоко ошибаюсь.
На пальце не только 50Гц но и статика иногда бывает. Так вот все элементы которые вы убрали и служат для того, чтобы процессор не вышел из строя.
Получается Ардуину можно угробить трогая выводы пальцами :-(
А зря что ли паять рекомендуют с заземлённым браслетом на руке?
Можно по тикам по подробнее, какой-нибудь фрагмент кода применительно к ситуации.. буду экспериментировать)
bool LEVEL_0 = false; // флаг состояния 0-го датчика void sensor_data() { tik = 0; pinMode (sen_arr[j], OUTPUT);// digitalWrite (sen_arr[j], LOW); // устанавливаем ВЫХОД и 0 для замера времени разрядки кнопки pinMode (sen_arr[j], INPUT); // установливаем ВХОД замеряем время зарядки кнопки // delayMicroseconds(25); // while (!digitalRead(sen_arr[j]) { //пока не будет лог1, считаем tik-и tik++; } Serial.println(tik); //считаем tik-и с пустым баком , и с полным и на delay(1000); //основе замеров пишем условие, что-то вроде: if (tik < 5) LEVEL_0 = false; if (tik > 7) LEVEL_0 = true; }delay только для упрощения примера, лучше millis
Спасибо больше идею, на днях отработал алгоритм)
Скетч доработал. Сделал для проверки на один датчик из массива.. работает)
[code] int row = 0; int sen_arr[4][2] = { {7, 0}, // создаем массив датчиков {23, 0}, {24, 0}, {25, 0} }; //int var = 0; unsigned long last_millis = 0; unsigned long last_millis1 = 0; void setup() { Serial.begin (9600); } void loop() { if ((millis() - last_millis) >= 10) { // каждые 10мс опрашиваем last_millis = millis(); // новый датчик sensor_data(sen_arr, row); Serial.println(sen_arr[row][1]); //row++; // j - индекс датчика в массиве if (row > 3) row = 0; } } void sensor_data(int sen_arr[4][2], int row1) { int t = 0; while ( millis() - last_millis1 <= 30) { // каждые от 30мс опрашиваем pinMode (sen_arr[row1][0], OUTPUT);// digitalWrite (sen_arr[row1][0], HIGH); // устанавливаем ВЫХОД и 0 для замера времени разрядки сенсора pinMode (sen_arr[row1][0], INPUT); delayMicroseconds(25); // емкость сенсора можеть колебаться устанавливаем задержку для нормирования измерения не нажатой кнопки к 0 while (!digitalRead (sen_arr[row1][0])){ t++; } if ( t >= 1) { sen_arr[row1][1] = 1; break; } } last_millis1 = millis(); //Serial.print(last_millis1); if ( t == 0) { sen_arr[row1][1] = t; } } [/code]Первая часть задачи вроде как решена, помогите по второй - какую сенсорную площадку использовать чтобы ее чувствительности было достаточно без касания? В инете есть общие варианты, хочется конкретный простой в реализации, я далек от этого ..
Для контроля уровня жидкости для радиопрозрачной емкости (Стекло или пластмасса)использую такой датчик из Китая:
У этого датчика нет самокалибровки в момент включения, как у TTP223. В этом конкретном датчике имеется выход-открытый коллектор.Использую такой датчик в схеме с Attiny85 для контроля уровня тосола в авто.Работает очень хорошо, и зимой и летом.
Да рассматривал его, но есть но.. текущая цена(, а их нужно мин. 4шт.
Рассматривал это вариант, не очень практичен, т.к. громоздкий достаточно емкость есть одна небольшая и нужно отслеживать 2 уровня минимум и максимум, во-вторых нужна высокая точность речь идет о десятках граммов. И вообще хотелось что нибудь недорогое и универсальное - сенсор можно поставить через стенку на любой уровень, ничего резать не надо.
Осталось только услышать, что эти десятки граммов нужно ловить на тонне жидкости, а жидкость эта - расплавленный чугун! Шутка, если что. Но есть сомнения, тот ли Вы метод измерения осваиваете...
Да дозировка небольшая расход 40 - 50 гр добавки на 70 л воды, все купил уже датчик расхода, клапан.. только датчик уровня держит)
Первая часть задачи вроде как решена
Мне остаётся понять, как каждые 10мс вызывать функцию, которая выполняется 30мс?)) №18 и №30?
тут хрустальные шары еще два года назад запретили.
емкостной датчик влажности почвы, ближайшая ассоциация
мога быть, мога быть. Конденсатор от пина и контакта на землю включен, и он не больше 10-20 пик, согласно скетча ТС, остальное паразитная емкость монтажа еще 5-15 пик.
[b]lilik[/b]Может твоя реализация просто туфта?))
:-)
А зря что ли паять рекомендуют с заземлённым браслетом на руке?
Вот я и говорю - туфта. Сколько схему не улучшай-упрощай всё равно два состояния фиксируются - есть касание пальцем или нет. И совсем иное дело esp32 вместо ардуино, там 4 состояния надёжно фиксируются:
////////////////////// СЕНСОРНАЯ КНОПКА // Тестовый скетч для емкостных сенсорных контактов ESP32. // int porog_1=80;//порог подключения-отключения внешнего сенсора int porog_2=50;// порог касания поверхности диэлектрика int porog_3=20;// порог касания поверхности проводника void setup() { Serial.begin(115200); } void loop() { Serial.println(touchRead(12)); /*if(touchRead(12)>porog_1){Serial.println("сенсор ОТКЛЮЧЁН");} if(touchRead(12)<=porog_1&&touchRead(12)>porog_2){Serial.println("сенсор ПОДКЛЮЧЁН,нет касания");} if(touchRead(12)<=porog_2&&touchRead(12)>porog_3)Serial.println("касание ДИЭЛЕКТРИКА"); if(touchRead(12)<=porog_3){Serial.println("касание ПРОВОДНИКА");} */ delay(500); }Впрочем у этого аппаратно-программного сенсора есть и плюс. Если взять реальные кнопки и поэкспериментировать на такой схеме:
то можно сделать "прорыв в нанотехнологиях" по типу "очень многа кнопак на одном цифровом пине !!!"
Хотя такой оптимальней.
В схему желательно вернуть R2 величиной 100-200 Ом, чтобы ограничить разрядный ток конденсатора.
Хотя такой оптимальней.
Народ ему сенсор по воде нужен, а не прикосновению пальцем... не работает это метод, сам прошел через это, мострячил на тиньке13 и 85.
и что? ТС сгинул, тема сама живет.
lilik предложил довольно интересный блок кнопок, интересный он своей простотой, быстродействием и повышенной помехоустойчивостью, за счет емкости на входе.
и что? ТС сгинул, тема сама живет.
lilik предложил довольно интересный блок кнопок, интересный он своей простотой, быстродействием и повышенной помехоустойчивостью, за счет емкости на входе.
да ради бога, инфа от вас полезная! я думал вы для него стараетесь))
Народ ему сенсор по воде нужен, а не прикосновению пальцем...
Как идея:
https://www.youtube.com/watch?v=HjqYLO_LW84&t=255s
В схему желательно вернуть R2 величиной 100-200 Ом, чтобы ограничить разрядный ток конденсатора.
#define sens 4 void setup() { Serial.begin(9600); } void loop() { sensor_data(); delay(200); } void sensor_data() { int tik = 0; pinMode (sens, OUTPUT);// digitalWrite (sens, LOW); // устанавливаем ВЫХОД и 0 для замера времени разрядки кнопки delayMicroseconds(10); pinMode (sens, INPUT); // установливаем ВХОД замеряем время зарядки кнопки while (!digitalRead(sens)) { //пока не будет лог1, считаем tik-и tik++; } Serial.println(tik); //пишем результат }и что? ТС сгинул, тема сама живет.
lilik предложил довольно интересный блок кнопок, интересный он своей простотой, быстродействием и повышенной помехоустойчивостью, за счет емкости на входе.
Никто не пропал, занят был немного)
Народ ему сенсор по воде нужен, а не прикосновению пальцем...
Как идея:
https://www.youtube.com/watch?v=HjqYLO_LW84&t=255s
идея норм, но датчик нужен за приделами емкости
Первая часть задачи вроде как решена
Мне остаётся понять, как каждые 10мс вызывать функцию, которая выполняется 30мс?)) №18 и №30?
Экспериментировал вышел на эти мс, возможно когда будут 4 датчика подбор будет другой, сами пробывали?
:-)
А зря что ли паять рекомендуют с заземлённым браслетом на руке?
Вот я и говорю - туфта. Сколько схему не улучшай-упрощай всё равно два состояния фиксируются - есть касание пальцем или нет. И совсем иное дело esp32 вместо ардуино, там 4 состояния надёжно фиксируются:
////////////////////// СЕНСОРНАЯ КНОПКА // Тестовый скетч для емкостных сенсорных контактов ESP32. // int porog_1=80;//порог подключения-отключения внешнего сенсора int porog_2=50;// порог касания поверхности диэлектрика int porog_3=20;// порог касания поверхности проводника void setup() { Serial.begin(115200); } void loop() { Serial.println(touchRead(12)); /*if(touchRead(12)>porog_1){Serial.println("сенсор ОТКЛЮЧЁН");} if(touchRead(12)<=porog_1&&touchRead(12)>porog_2){Serial.println("сенсор ПОДКЛЮЧЁН,нет касания");} if(touchRead(12)<=porog_2&&touchRead(12)>porog_3)Serial.println("касание ДИЭЛЕКТРИКА"); if(touchRead(12)<=porog_3){Serial.println("касание ПРОВОДНИКА");} */ delay(500); }Впрочем у этого аппаратно-программного сенсора есть и плюс. Если взять реальные кнопки и поэкспериментировать на такой схеме:
то можно сделать "прорыв в нанотехнологиях" по типу "очень многа кнопак на одном цифровом пине !!!"
Читал про них, нет у меня в наличии
Прошу идеи ближе к теме, если есть.. хотелось бы довести тему до реализации прототипа), а то придется переходит на микруху без автокалибровки(
Прошу идеи ближе к теме, если есть..
Если нет готовых решений, то
в качестве датчика я бы попробовал полоску из меди или жести, наклеенную горизонтально,на нужном уровне. Главное что-бы можно было припаять провод.
Только идея,
самому проверять сейчас нет времени
Первая часть задачи вроде как решена
Мне остаётся понять, как каждые 10мс вызывать функцию, которая выполняется 30мс?)) №18 и №30?
Экспериментировал вышел на эти мс, возможно когда будут 4 датчика подбор будет другой, сами пробывали?
Вообще-то внутри матрёшки находится меньшая матрёшка...
А так то да, работает, ну и ладно))
так что там есть на текущий момент и в чем текущий вопрос?
Вообще, проблема фиксации уровня жидкости за стенкой в виде емкостного датчика в толщине стенки, т.к.
Емкость тем меньше, чем больше толщина изолятора.
Рассматривал это вариант, не очень практичен, т.к. громоздкий достаточно емкость есть одна небольшая и нужно отслеживать 2 уровня минимум и максимум, во-вторых нужна высокая точность речь идет о десятках граммов. И вообще хотелось что нибудь недорогое и универсальное - сенсор можно поставить через стенку на любой уровень, ничего резать не надо.
Осталось только услышать, что эти десятки граммов нужно ловить на тонне жидкости, а жидкость эта - расплавленный чугун! Шутка, если что. Но есть сомнения, тот ли Вы метод измерения осваиваете...
Да дозировка небольшая расход 40 - 50 гр добавки на 70 л воды, все купил уже датчик расхода, клапан.. только датчик уровня держит)
Это никого не смущает? В 70 литровой бочке ловить добавление 50 г по изменению уровня жидкости?
Я чего-то не понимаю наверное...
Может объяснит кто?
Это никого не смущает? В 70 литровой бочке ловить добавление 50 г по изменению уровня жидкости?
Я чего-то не понимаю наверное...
Может объяснит кто?
Если бочка, то литров 10 "отловить" может и повезёт))
А если высота ёмкости метров 200 хотя-бы( трубка ), то можно и более точно...
Мне кажется ТС не понимает, что палец (целый человек) на сенсоре это одно, а подъём уровня воды на миллиметры через стеклянную стенку для сенсора это совсем другое. Иными словами никакие физические величины практически никак меняться не будут :-)
лилька, ТС изначально не производит впечатления одэкватного человека.
Следующий шаг - подключение к цифровым пинам джойстика (это в порядке захломления темы, хотя смотрю на 3Д принтер свой и есть идея...)
#define sens 4 #define seria 10 void setup() { Serial.begin(9600); } void loop() { sensor_data(); delay(200); } void sensor_data() { long TIK=0; for(int i=0;i<seria;i++)// делаем серию замеров { long tik = 0; pinMode (sens, OUTPUT);// digitalWrite (sens, LOW); // устанавливаем ВЫХОД и 0 для замера времени разрядки кнопки delay(1); pinMode (sens, INPUT); // установливаем ВХОД замеряем время зарядки кнопки while (!digitalRead(sens)) { //пока не будет лог1, считаем tik-и tik++; } //Serial.println(tik); //пишем результат TIK=TIK+tik; } TIK=TIK/seria;// вычисляем среднее значение в серии Serial.println(TIK); //пишем усреднённый результат }лилька, ТС изначально не производит впечатления одэкватного человека.
Мы в ответе за всех, кого заприметили.
По мотивам 3D принтера идея :-)
Да дозировка небольшая расход 40 - 50 гр добавки на 70 л воды, все купил уже датчик расхода, клапан.. только датчик уровня держит)
А я думаю, что ТС нужно просто дозировать какой-то препарат в воду 1:150. Если так, то можно обойтись без уровнемеров и расходомеров. Но на моем шаре зарядка сдохла))
Народ ему сенсор по воде нужен, а не прикосновению пальцем...
Как идея:
https://www.youtube.com/watch?v=HjqYLO_LW84&t=255s
идея норм, но датчик нужен за приделами емкости
2. любые электроды в жидкости на постоянном токе достаточно быстро засрутся продуктами электролиза, с непредсказуемым эффектом.
Рассматривал это вариант, не очень практичен, т.к. громоздкий достаточно емкость есть одна небольшая и нужно отслеживать 2 уровня минимум и максимум, во-вторых нужна высокая точность речь идет о десятках граммов. И вообще хотелось что нибудь недорогое и универсальное - сенсор можно поставить через стенку на любой уровень, ничего резать не надо.
Осталось только услышать, что эти десятки граммов нужно ловить на тонне жидкости, а жидкость эта - расплавленный чугун! Шутка, если что. Но есть сомнения, тот ли Вы метод измерения осваиваете...
Да дозировка небольшая расход 40 - 50 гр добавки на 70 л воды, все купил уже датчик расхода, клапан.. только датчик уровня держит)
Это никого не смущает? В 70 литровой бочке ловить добавление 50 г по изменению уровня жидкости?
Я чего-то не понимаю наверное...
Может объяснит кто?
Поясняю - есть небольшая емкость с добавкой, с нее сливается в большую емкость (вода) 40-50гр. Система простая - датчик расхода, электромагнитное реле. Тут все ясно. Вопрос только в датчике уровня.. как его исполнить
так что там есть на текущий момент и в чем текущий вопрос?
Вообще, проблема фиксации уровня жидкости за стенкой в виде емкостного датчика в толщине стенки, т.к.
Емкость тем меньше, чем больше толщина изолятора.
Вопрос - как выполнить датчик уровня емкостной с высокой чувствительностью без касания на расстоянии 0,5см. Интересует конкретный вариант исполнения)
Мне кажется ТС не понимает, что палец (целый человек) на сенсоре это одно, а подъём уровня воды на миллиметры через стеклянную стенку для сенсора это совсем другое. Иными словами никакие физические величины практически никак меняться не будут :-)
Хорошо, я ориентировался на сенсор ttp223, он без проблем реагировал на воду, только не держал 1 из-за автокалибровки. Нельзя сделать что-то аналогичное самому? или считаете значит задача в принципе не решаемая?
Дожили, у народа на ТТР223 денег нет
Проблема в том, что в ТТР223 нет удержания 1, т.е. есть триггер если соединить перемычку - при одном нажатии фиксирует 1, при повторном - убирает 1 на 0. т.е. речь темы использование сенсора как датчика уровня воды необходимо при наличии воды (читай нажатии) фиксировать 1, а при опускания уровня воды (читай отжатия) фиксировать 0. Если в обычном режиме при нажатии более 10сек. срывается уровень 1 до 0. Вот такая проблема с вашей кнопкой...
Если каким-то чудом этот датчик норм. фиксирует уровень воды, и её уровень не надо контролировать очень часто,то можно решить эти проблемы
простым его включением/выключением по команде Ардуино(транзисторным ключом)
Например: 1. сработал триггер- фиксируем лог 1.
2. выключаем датчик/ пауза для полного выключения
3. включаем датчик/пауза для инициализации
4. новый опрос датчика
Т.е если что-то там "капает" по 50мл, зачем часто уровень проверять?
P.S.На всякий случай , если вдруг "прорыв" авария второй датчик повыше для надёжности
ему один раз сработать - всё выкл.
ещё д-шит глянуть , может можно как-то спящий режим отключить, может позже гляну, будет время
У похожего датчика TTP224 как будто есть режим "без отключения" infinite
Have the maximum on time 120sec/64sec/16sec/infinite by pad option(MOT1, MOT0 pin)
https://www.elecrow.com/download/TTP224.pdf
Набираем в Гугле, в поиске ВИКО-Е
Смотрел их, но пока сам не пробовал.
На даче стоят два Овен САУ-М2 с кондукторными датчиками. Давно.
Все работает, проблем нет совсем.
Один на заполнение бочки 1500 литров из колодца. В колодце воды мало, но приходит быстро.
Стоит Гордена, с встроенным датчиком уровня кондуктерного типа, качает в бочку.
Включение и отключение насоса в колодце управляется с Овен САУ-М2, и 3-мя электродами, в бочке.
Второй - на откачке воды из кухни из бочки рядом с домом (раковина и посудомойка сливаются самотеком, насос откачивает по заполнению).
Обслуживание датчика кухни - раз в год, помыть, протереть.
В бочке от колодца работает с установки. Обслуживание перед зимой. Снять протереть.
Набираем в Гугле, в поиске ВИКО-Е
Смотрел их, но пока сам не пробовал.
Вико-Е не плохая идея, сам ищу тоже пути реализации для аэратора воды, но ценник кусается 732руб самый дешёвый нашёл... А мне их надо 6 шт на три бочки(((