Страница 1 из 1

Откачка технической воды из колодца

Добавлено: 24 мар 2017, 15:14
AlexCo
Есть колодец с технической и талой водой, особенно сейчас когда все таит, приходится откачивать его каждый день в ручную. Бывают случаи забывчивости, и бывает что насос умирает. Раньше использовал самодельные датчики из кусков ПНД трубы и герконов, и мини-плату с несколькими реле, все работало пока датчики не забились. Сейчас сделал поплавковые датчики из бутылок, но уже 5 датчиков вместо двух. Я уже реализовал код для своих нужд, но меня очень смущает его количество и правильность написания.

Вот такое Тех.Задание я себе обозначил:

1. Защита насоса от работы в холостую
2. Защита насоса от обрыва троса (не дать ему закопаться в грунт)
3. Выбор режима откачки воды (10 режимов, например откачивать не от 100% до 0%, а летом можно от 75% до 25%)
4. Индикация уровня воды, а также индикация выбора режима откачки
5. Полуавтоматический и ручной режимы работы
6. Сохранение параметров в энергонезависимую память


P.S. Проект скорее будет одним из неосновных параметров контроллера. Планируется размещение в гараже где он будет выполнять еще некоторые другие функции.

Опыт работы в Си у меня есть, но я не знаю столько тонкостей как в php. Возникаю некоторые вопросы:

1.Почему бы мне вместо кучи переменных статуса геркона и светодиодов не использовать массивы, например:

Код: Выделить всё

gerkon_status[5] = {1,0,0,0,0};     //Статус герконов
led_status[5] = {1,0,0,0,0};        //статус индикации заполнения колодца
led_set_status[5] = {0,1,1,1,0};    //статус индикации выбора режима откачки колодца

а уже далее сравнивать их при работе и отслеживании состояния герконов и пр.

Не жду готовой реализации, но ткнуть в литературу или уроки, что мог просмотреть стоит )

Re: Откачка технической воды из колодца

Добавлено: 24 мар 2017, 15:38
Эдуард
Здравствуйте!
Для переменных надо указывать тип данных.
Я бы советовал взять библиотеку Button из урока 9 (начало в уроке 6). Она обрабатывает кнопки и датчики, устраняет дребезг и ложные срабатывания, фильтрует сигналы.
В библиотеке формируются признаки состояния датчиков. Их можно и использовать как признаки состояния герконов.

Re: Откачка технической воды из колодца

Добавлено: 24 мар 2017, 15:47
AlexCo
Эдуард писал(а):Здравствуйте!
Для переменных надо указывать тип данных.
Я бы советовал взять библиотеку Button из урока 9 (начало в уроке 6). Она обрабатывает кнопки и датчики, устраняет дребезг и ложные срабатывания, фильтрует сигналы.
В библиотеке формируются признаки состояния датчиков. Их можно и использовать как признаки состояния герконов.

В эту библиотеку я и добавил метод работы с герконом.
Тут наверное вопрос ка все упростить, у меня получилось чуть более 500 строк кода

Re: Откачка технической воды из колодца

Добавлено: 24 мар 2017, 15:50
AlexCo
Вот весь код:

► Показать