powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм поливки на С.
21 сообщений из 46, страница 2 из 2
Алгоритм поливки на С.
    #39146025
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7 Есть электрический кран. Его надо открывать\закрывать.
Всего можно запрограмировать 4 открытия\закрыия на каждый день.

Мне кажется что ключевым моментом при алгоритмизации данного вопроса является тот факт, что процессы открытия и закрытия связаны, и, как следствие должны быть выделены в единую транзакцию. Реализация в первом приближении примерно такая

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
const int count = 4;

struct Period
{
	time start; 
	time duration;
} periods[count];

int complete_transaction(const struct Period* p)
{
	//smth checks
	wait_until(p->start);
	send_signal_to_run(const T DeviceID);
	wait(p->duration);
	send_signal_to_stop(const T DeviceID);
	////smth checks
	return 0;
}

int main()
{
	for (int i = 0; i < count; ++i){
		complete_transaction(periods + i);
	}
	return 0;
}
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39146881
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТут тема программинга даже не прослеживается. Прошу модератора бросить это в вопрос-ответ.
просьба в силе?
Программ уже масса
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39146884
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingizmaytonТут тема программинга даже не прослеживается. Прошу модератора бросить это в вопрос-ответ.
просьба в силе?
Программ уже масса
А ладно. Пускай будет.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39146929
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7,

А в чём проблема?
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39146968
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Areostarjenya7,

А в чём проблема?
Парень закодил полив помидора или кабачка. Но сорц 18666487 ему чем-то не нравится.

Я так понимаю что ему просто нужен пример или best-practices как кодят подобные штуки.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39147753
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonAreostarjenya7,

А в чём проблема?
Парень закодил полив помидора или кабачка. Но сорц 18666487 ему чем-то не нравится.

Я так понимаю что ему просто нужен пример или best-practices как кодят подобные штуки.


Подобные штуки кодят на старом писюке под
минимальным консольным линуксом
через крон который
пишет битовую маску в паралельный порт или ком порт.
Ну или через переходинк USB-RS232 и если ком не очень старый...

Электическая схема представляет собой на мултиплексор
авторМультиплексор имеет несколько входов, которые называются каналами мультиплексора и несколько выходов, которые называются разрядами мультиплексора. Количество каналов в микросхемах мультиплексорах может быть от 2 до 16, а количество разрядов – от 1 до 4. Управление работой мультиплексора осуществляется с помощью адресных входов, на которые в двоичном коде поступает номер канала, с которого в данный момент необходимо передать информацию на выход прибора.


Если переносить, то к железячникам...
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39147765
Зимаргл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДохтаР, через крон низзя.

Например, таймер был на 12:00. Но с 11:55 до 12:05 отключили свет.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39147767
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги а кто знает как вообще работает крон? Как фиксируются power failures,
сезонные и ручные переводы часов?

Какова точность таймера? Есть-ли лаг e.t.c.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39147833
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКоллеги а кто знает как вообще работает крон?

Как фиксируются power failures,

Никак.


maytonсезонные и ручные переводы часов?


При сезонном переводе , реальное время никуда не переводится,
это настройки окружения.

Переменная окруженя TZ ( у нее есть формат когда переходить на лето и зиму )
определяет какое время у текущего пользователя и по этому времени отрабатывает его крон.

maytonКакова точность таймера? Есть-ли лаг e.t.c.

Точность в пределах времени запуска процесса.
в районе милисекунд.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39147835
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗимарглДохтаР, через крон низзя.

Например, таймер был на 12:00. Но с 11:55 до 12:05 отключили свет.

Я думаю что это можно порешать в скриптах загрузки ситемы
проанализирова лог на поледние действия
и включить все что было пропущено.

зы опять же вопрос куда переносить тему,
может в Unix раздел ?
:)
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39147837
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаР, его некуда переносить. Если-б было "железо и микроконтроллеры"...
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39148218
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДохтаР, его некуда переносить. Если-б было "железо и микроконтроллеры"...


Кстате, нагуглил код крона для микроконтроллера arduino
http://brianfletcher.org/?p=31

Я понял чем мне нужно заняться , наверное начну лабать
такую фигню из бытовых шаровых кранов
и двигателя стеклоподъемника автомобия + электронная схема .

зы одан проблема, сначала нужно избавиться от sql.ru зависимости
что бы свободное время появилось...
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39148222
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаРзы одан проблема, сначала нужно избавиться от sql.ru зависимости
что бы свободное время появилось...
в C:\Windows\System32\drivers\etc\hosts допиши
Код: sql
1.
127.0.0.1       sql.ru
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39148226
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TДохтаРзы одан проблема, сначала нужно избавиться от sql.ru зависимости
что бы свободное время появилось...
в C:\Windows\System32\drivers\etc\hosts допиши
Код: sql
1.
127.0.0.1       sql.ru



У меня везде линукс :)

Как допишу так и удалю.
Это офтопичная проблема, долго рассказывать.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39148231
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаРУ меня везде линукс :)
там тоже hosts есть :)

заинтриговал:
ДохтаРи двигателя стеклоподъемника автомобия
он зачем нужен для полива?
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39148239
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаРзы одан проблема, сначала нужно избавиться от sql.ru зависимости
что бы свободное время появилось...
Док. Я думаю и себя пролечить веществами. Чтоб забыть про скруль и модерство.

P.S. ... Как перестать кодить и начать жить. (с)
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39148263
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДохтаРзы одан проблема, сначала нужно избавиться от sql.ru зависимости
что бы свободное время появилось...
Док. Я думаю и себя пролечить веществами. Чтоб забыть про скруль и модерство.

P.S. ... Как перестать кодить и начать жить. (с)

Если бы я кодил, то возможно все было бы проще.
А у меня работа такая, хоть и денежная , но могут поднять
в любое время дня и ночи...

Абсолюно ненормированный рабочий день, проблема
любые планы построить.
Как только начинаешь выходить на планирование,
повышается непредсказуемость на работе.
Можно неделями сидеть на SQL.ru на работе все тихо,
как только начинаешь что то делать , обязательно работа начинает отвекать.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39149113
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima Tjenya7но что то мне это не нравиться.
И правильно. Не надо тут запускать/останавливать работу девайса. Надо получить состояние которое должно быть в текущий момент, затем сравнить с реальным состоянием, если несовпало - изменить реальное состояние.

IDLE и STOP это чего? Должно быть два состояния IDLE и WORK

если не вводить состояния START, STOP, то это условие
Код: c#
1.
2.
 
if (solParam[prog_mum].solStartHour == rtc.rtcHour && solParam[prog_mum].solStartMinute >= rtc.rtcMin)


будет выполняться до условия остановки.
частота опроса милисекунды однако я предпочитаю оставить условие >=.

кстати у меня ошибка .правильно будет написать
Код: c#
1.
if (solParam[prog_mum].solStartHour == rtc.rtcHour &&   rtc.rtcMin >= solParam[prog_mum].solStartMinute)
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39149115
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хотя...было бы неплохо избавиться от сотояний...или ввести AFTER_START что ли ))
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39149123
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TЭто
jenya7
Код: sql
1.
	    	if (solParam[prog_mum].solStartHour == rtc.rtcHour && solParam[prog_mum].solStartMinute >= rtc.rtcMin)


и это
mayton
Код: plaintext
1.
 if (stricmp(timeis,"12:00")){


жесть. в течении минуты не проверили и капец. Если вкл на час 2-3 раза в неделю, то несработавший выкл вместо часа буде поливать день-два.

Если расписание понедельное, то надо перевести в минуты с полуночи понедельника: ((день_недели * 24) + час) * 60 + минута
Дальше сравнивать на больше/меньше.

зачем вводить дополнительные счетчики. у меня проверяется день недели и абсолютное время. я никак не пропущу день недели с конкретным временем вкл\выкл.
...
Рейтинг: 0 / 0
Алгоритм поливки на С.
    #39150157
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не знаю, зачем что-то программировать.
для практики существуют устройства:
...
Рейтинг: 0 / 0
21 сообщений из 46, страница 2 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм поливки на С.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]