так не получится. задача поставлена неполностью и некорректно.
Даже если кто-то возмётся, сделает не то, что Вам надо. Вы будете долго его мучать, чтобы он исправля, а когда всё исправит, через какое-то время снова что-то вылезет. А виной всему неправильная постановка задачи.
Могу Вас бесплатно научить ставить такие задачи, а тогда уже распишете и человек с первого раза нормально сделает.
Рассказать как такую задачу строго и правильно ставить?
я так понял барышне нужна строгая последовательность включения 1-2-3-4 при которой добавляется в работу еще одно реле, любая другая последовательность отключает предыдущее сработанное реле и включает реле по номеру кнопки
У Вас 4 реле – значит всего возможны 16 различных состояний
Так же у Вас четыре кнопки, значит всего возможно 4 управляющих сигнала (мы ведь не учитываем нажатия двух кнопок сразу и не делаем разницы между длинными и короткими нажатиями, так?).
Первое, что Вам нужно сделать, это определиться какое состояние у Вас будет начальным. Вес реле выключены? Так? Определились.
Теперь Вам нужно пронумеровать все состояния. Это легко, будем обозначать выключенное реле 0, а включённое – 1. Реле будем располагать справа налево. Получаем такие состояния
0 – 0000 – всё выключено
1 – 0001 – 1-ое реле включено
2 – 0010 – 2-ое реле включено
3 – 0011 – 1-ое и 2-ое включены одновременно
4 – 0100 – 3-е включено
5 – 0101 – 1-ое и 3-е включены одновременно
6 – 0110 – 2-ое и 3-евключены одновременно
7 – 0111 – 1-ое, 2-ое и 3-е включены одновременно
8 – 1000 – 4-ое включено
9 – 1001 – 4-ое и 1-ое
10 – 1010 – 4-ое и 2-ое
11 – 1011 – 4-ое, 2-ое и 1-ое
12 – 1100 – 4-ое и 3-е
13 – 1101 - 4-ое, 3-е и 1-ое
14 – 1110 - 4-ое, 3-е и 2-ое
15 – 1111 – все четыре включены
Вот такие 16 состояний.
Теперь нужно составить таблицу из 16 строк (состояний) и 4 столбцов – управляющих сигналов.
Кнопка 1
Кнопка 2
Кнопка 3
Кнопка 4
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Ну, и наконец, Вам нужно заполнить эту таблицу по такому правилу
Для каждой ячейки расссуждаете так: если система реле находится в "состоянии данной строки (указано в первом столбце)" и нажата "кнопка соответсвующая данному столбцу (указана в первой строке)", то система должна перейти с новое состояние - вот его и выписываете в ячейке.
Когда Вы заполните таблицу - это будет абсолютно строгая и точная постановка данной задачи. И человеку понятно, что делать, и Вам понятно как проверять.
Если что-то непонятно по заполнению таблицы, спрашивайте.
я так понял барышне нужна строгая последовательность включения 1-2-3-4 при которой добавляется в работу еще одно реле, любая другая последовательность отключает предыдущее сработанное реле и включает реле по номеру кнопки
Барышне нужно расписать таблицу, которую я ей нарисовал и, таким образом, построить автомат.
При любых других объяснениях проект будет бесконечным, т.к. постоянно что-то будет всплывать (это, кстати. предупреждение исполнителям).
я так понял барышне нужна строгая последовательность включения 1-2-3-4 при которой добавляется в работу еще одно реле, любая другая последовательность отключает предыдущее сработанное реле и включает реле по номеру кнопки
Барышне нужно расписать таблицу, которую я ей нарисовал и, таким образом, построить автомат.
При любых других объяснениях проект будет бесконечным, т.к. постоянно что-то будет всплывать (это, кстати. предупреждение исполнителям).
Евгений Петрович, помилуйте, это даже я не смогу сделать, а считал, что я что-то там понимаю )))
наверное надо добавить к кнопкам справа и состояние реле?
И так далее. Нужно что бы включились все реле только при правильной комбинации 1-2-3-4.
"ua6em пишет:
я так понял барышне нужна строгая последовательность включения 1-2-3-4 при которой добавляется в работу еще одно реле, любая другая последовательность отключает предыдущее сработанное реле и включает реле по номеру кнопки" Да всё верно.
Состояния реле (все какие возможны выписаны в первом столбце. А кнопки выписаны в первой строке.
В яейку пишутся новые состояния реле, которые должны возникнтуь, если при текущем состоянии (которое в первом столбце) нажата кнопка, которая в первой строке.
Например,
1. если когда все реле выключены (вторая строка) нажатие каждой кнопки приводи к включению одного реле с тем же номером, то в первой строке запишется 9слева направо: 0001, 0010, 0100, 1000
2.если уогда включено только первое реле (третья строка) нажатие первой кнопки приводит к его выключению, а нажатие любой другой к включению соотв. реле, то третья строка будет 0000, 0010, 0100, 1000
и так далее.
Собственно, автомат так и строится.
Никаким другим разумным способом строго и полностью Вы тут логику не опишете.
И так далее. Нужно что бы включились все реле только при правильной комбинации 1-2-3-4.
"ua6em пишет:
я так понял барышне нужна строгая последовательность включения 1-2-3-4 при которой добавляется в работу еще одно реле, любая другая последовательность отключает предыдущее сработанное реле и включает реле по номеру кнопки" Да всё верно.
ну так "блондинок спинным мозгом чуствую" - Это не уничижительное, мне одна знаменитая блондинка даже свою книжку анекдотов о барышнях подарила )))
На этом завалить легко. Препод говорит: "ага, прекрасно... А теперь сделайте мне последовательность 4231". Таблицу перестроить - минут пять, а тут всё, трояк будет в зачетке.
На этом завалить легко. Препод говорит: "ага, прекрасно... А теперь сделайте мне последовательность 4231". Таблицу перестроить - минут пять, а тут всё, трояк будет в зачетке.
Я. честно, под вечер не въезжаю, что за таблицу вы строите :)
Правильный код должен быть красивым :)
Правда у меня уже не такой красивый - одну ошибку уже подправил, сейчас нашел вторую... править, нет? а то если смысл ветки - обучение построению таблиц состояний - так я отвлекать не буду :)
Если в последней строке кнопки должны игнорироваться, то её надо заполнить её же значением 1111
как минимум я в одном месте ошибся, увы, но по последней строке по идее должно сбрасываться в 0 и срабатывать реле по нажатой кнопке, интересно, как будет дальше задача решаться
Ну так и нам сказали быть до 29-го, но позднесоветские новогодние традиции никто не отменял - накатывание в кажном отделе "за ёлку!". Тем более, что у нас-то всё работает, а у тех, кто сеть роняет - мы права отобрали.
Ну так и нам сказали быть до 29-го, но позднесоветские новогодние традиции никто не отменял - накатывание в кажном отделе "за ёлку!". Тем более, что у нас-то всё работает, а у тех, кто сеть роняет - мы права отобрали.
Это невозможно )))
взять пачкорд воткнуть в любые два свободных порта на офисном коммутаторе прав не надо )))
Не курсовая и не кодовая панель. Прибор для проведения научного исследования над животными. Например, Попугаями. Устройство за оценку 4 или 5, вместо сдачи экзамена.
На начальном этапе собрала пульт на бистабильных реле, повозиться пришлось и все получилось. Преподаватель говорит "слишком просто, нужно задействовать микроконтроллер". Вот обратилась к Вам. Мне предложили скетч и схему подключения за 1500 рублей. Понимаю, что цена абсолютно адекватная. Но для меня дорого. Может быть, поможет кто-нибудь за 500 рублей, могу пополнить мобильный счёт?
Irina, код из сообщения #23 полностью соответствует Вашему алгоритму. К нему осталось добавить тривиальные функции digitalWrite() для включения и выключения реле. Берите, пользуйтесь, денег не надо - подарок на НГ :)
Или Вам нужен скетч "под ключ", с сетапом, лупом, обработкой нажатия кнопок и схемой подключения ?
Irina, код из сообщения #23 полностью соответствует Вашему алгоритму. К нему осталось добавить тривиальные функции digitalWrite() для включения и выключения реле. Берите, пользуйтесь, денег не надо - подарок на НГ :)
Или Вам нужен скетч "под ключ", с сетапом, лупом, обработкой нажатия кнопок и схемой подключения ?
пишите ded собака cur-ex.ru
тут таблицы заполнял, надеялся, что идею одолею, всё жеж )))
PS а в 23 посте одна строка (5) непонятой осталась, может поясните?
Irina, код из сообщения #23 полностью соответствует Вашему алгоритму. К нему осталось добавить тривиальные функции digitalWrite() для включения и выключения реле. Берите, пользуйтесь, денег не надо - подарок на НГ :)
а нафига тут что-то придумывать, если весь код - 5 строк?
разве что цену себе набить :)
данеблин, щас многоточечную поливалку делаю. проект не на ардуине. перестраиваться неохота. чежвы сами то 0пу не наморщите. давайте я алгоритм вам напишу а вы его в ардуне приспособите. у вас же есть платка и оболочка? бесплатно? ну, уроки там глянете...
Irina, код из сообщения #23 полностью соответствует Вашему алгоритму. К нему осталось добавить тривиальные функции digitalWrite() для включения и выключения реле. Берите, пользуйтесь, денег не надо - подарок на НГ :)
Ирина, напишите словами. что вам надо, так как пока ваш пост выглядит как вирусный вброс.
Ходить по незнакомым ссылкам на Яндекс - увольте.
Вы скетч купить решили или так, просто нужен?
Купить
Купить
хорошо.
Теперь подумайте и опишите, что он должен делать.
Irina,
так не получится. задача поставлена неполностью и некорректно.
Даже если кто-то возмётся, сделает не то, что Вам надо. Вы будете долго его мучать, чтобы он исправля, а когда всё исправит, через какое-то время снова что-то вылезет. А виной всему неправильная постановка задачи.
Могу Вас бесплатно научить ставить такие задачи, а тогда уже распишете и человек с первого раза нормально сделает.
Рассказать как такую задачу строго и правильно ставить?
Странное время для покупок скетчей. Сейчас нужно свитера в подарок покупать.
Впрочем, пишите: wrk.sadman@gmail.com что требуется и, если это не долгое залипалово, то сговоримся.
Странное время для покупок скетчей. Сейчас нужно свитера в подарок покупать.
Впрочем, пишите: wrk.sadman@gmail.com что требуется и, если это не долгое залипалово, то сговоримся.
Насчёт свитеров не скажу, а вот шапочки и нуды всякие - точно )))
я так понял барышне нужна строгая последовательность включения 1-2-3-4 при которой добавляется в работу еще одно реле, любая другая последовательность отключает предыдущее сработанное реле и включает реле по номеру кнопки
Смотрите, Ирина,
У Вас 4 реле – значит всего возможны 16 различных состояний
Так же у Вас четыре кнопки, значит всего возможно 4 управляющих сигнала (мы ведь не учитываем нажатия двух кнопок сразу и не делаем разницы между длинными и короткими нажатиями, так?).
Первое, что Вам нужно сделать, это определиться какое состояние у Вас будет начальным. Вес реле выключены? Так? Определились.
Теперь Вам нужно пронумеровать все состояния. Это легко, будем обозначать выключенное реле 0, а включённое – 1. Реле будем располагать справа налево. Получаем такие состояния
0 – 0000 – всё выключено
1 – 0001 – 1-ое реле включено
2 – 0010 – 2-ое реле включено
3 – 0011 – 1-ое и 2-ое включены одновременно
4 – 0100 – 3-е включено
5 – 0101 – 1-ое и 3-е включены одновременно
6 – 0110 – 2-ое и 3-евключены одновременно
7 – 0111 – 1-ое, 2-ое и 3-е включены одновременно
8 – 1000 – 4-ое включено
9 – 1001 – 4-ое и 1-ое
10 – 1010 – 4-ое и 2-ое
11 – 1011 – 4-ое, 2-ое и 1-ое
12 – 1100 – 4-ое и 3-е
13 – 1101 - 4-ое, 3-е и 1-ое
14 – 1110 - 4-ое, 3-е и 2-ое
15 – 1111 – все четыре включены
Вот такие 16 состояний.
Теперь нужно составить таблицу из 16 строк (состояний) и 4 столбцов – управляющих сигналов.
Ну, и наконец, Вам нужно заполнить эту таблицу по такому правилу
Для каждой ячейки расссуждаете так: если система реле находится в "состоянии данной строки (указано в первом столбце)" и нажата "кнопка соответсвующая данному столбцу (указана в первой строке)", то система должна перейти с новое состояние - вот его и выписываете в ячейке.
Когда Вы заполните таблицу - это будет абсолютно строгая и точная постановка данной задачи. И человеку понятно, что делать, и Вам понятно как проверять.
Если что-то непонятно по заполнению таблицы, спрашивайте.
я так понял барышне нужна строгая последовательность включения 1-2-3-4 при которой добавляется в работу еще одно реле, любая другая последовательность отключает предыдущее сработанное реле и включает реле по номеру кнопки
Барышне нужно расписать таблицу, которую я ей нарисовал и, таким образом, построить автомат.
При любых других объяснениях проект будет бесконечным, т.к. постоянно что-то будет всплывать (это, кстати. предупреждение исполнителям).
я так понял барышне нужна строгая последовательность включения 1-2-3-4 при которой добавляется в работу еще одно реле, любая другая последовательность отключает предыдущее сработанное реле и включает реле по номеру кнопки
Барышне нужно расписать таблицу, которую я ей нарисовал и, таким образом, построить автомат.
При любых других объяснениях проект будет бесконечным, т.к. постоянно что-то будет всплывать (это, кстати. предупреждение исполнителям).
Евгений Петрович, помилуйте, это даже я не смогу сделать, а считал, что я что-то там понимаю )))
наверное надо добавить к кнопкам справа и состояние реле?
Спасибо большое за помощь.
Состояния реле (все какие возможны выписаны в первом столбце. А кнопки выписаны в первой строке.
В яейку пишутся новые состояния реле, которые должны возникнтуь, если при текущем состоянии (которое в первом столбце) нажата кнопка, которая в первой строке.
Например,
1. если когда все реле выключены (вторая строка) нажатие каждой кнопки приводи к включению одного реле с тем же номером, то в первой строке запишется 9слева направо: 0001, 0010, 0100, 1000
2.если уогда включено только первое реле (третья строка) нажатие первой кнопки приводит к его выключению, а нажатие любой другой к включению соотв. реле, то третья строка будет 0000, 0010, 0100, 1000
и так далее.
Собственно, автомат так и строится.
Никаким другим разумным способом строго и полностью Вы тут логику не опишете.
ну так "блондинок спинным мозгом чуствую" - Это не уничижительное, мне одна знаменитая блондинка даже свою книжку анекдотов о барышнях подарила )))
весь алгоритм, по-моему, умещается в 5 строк
void a(byte knob) { static byte state =0; if (knob == (state +1)) {state ++} else {All_Relay_Off(); state =0;} Relay_on(knob); }где knob - номер нажатой кнопки
Сорри, если кому распугал малину :)
У меня получилось так, кроме последней строки
весь алгоритм, по-моему, умещается в 5 строк
На этом завалить легко. Препод говорит: "ага, прекрасно... А теперь сделайте мне последовательность 4231". Таблицу перестроить - минут пять, а тут всё, трояк будет в зачетке.
На этом завалить легко. Препод говорит: "ага, прекрасно... А теперь сделайте мне последовательность 4231". Таблицу перестроить - минут пять, а тут всё, трояк будет в зачетке.
Я. честно, под вечер не въезжаю, что за таблицу вы строите :)
Правильный код должен быть красивым :)
Правда у меня уже не такой красивый - одну ошибку уже подправил, сейчас нашел вторую... править, нет? а то если смысл ветки - обучение построению таблиц состояний - так я отвлекать не буду :)
У меня получилось так, кроме последней строки
Если в последней строке кнопки должны игнорироваться, то её надо заполнить её же значением 1111
У меня вообще никакой цели нет в этой ветке )) Можете сделать подарок новенькой - решить ей задачку. Судя по времени - это последние зачеты идут.
У меня вообще завтра только полдня свободны, потом - "прощай земля", как говорится.
У меня получилось так, кроме последней строки
Если в последней строке кнопки должны игнорироваться, то её надо заполнить её же значением 1111
как минимум я в одном месте ошибся, увы, но по последней строке по идее должно сбрасываться в 0 и срабатывать реле по нажатой кнопке, интересно, как будет дальше задача решаться
У меня вообще завтра только полдня свободны, потом - "прощай земля", как говорится.
везет :)
Нам приказали "работать до последнего" - аж в рабочую субботу 29-ого чтоб все на работе были. Будет ли кто-то реально работать - никого не колышет
Ну так и нам сказали быть до 29-го, но позднесоветские новогодние традиции никто не отменял - накатывание в кажном отделе "за ёлку!". Тем более, что у нас-то всё работает, а у тех, кто сеть роняет - мы права отобрали.
ну в общем так
void a(byte knob) { static byte state =0; if (knob == (state +1)) {state ++} else {All_Relay_Off(); state =(byte) (knob == 1);} Relay_on(knob); }Ну так и нам сказали быть до 29-го, но позднесоветские новогодние традиции никто не отменял - накатывание в кажном отделе "за ёлку!". Тем более, что у нас-то всё работает, а у тех, кто сеть роняет - мы права отобрали.
Это невозможно )))
взять пачкорд воткнуть в любые два свободных порта на офисном коммутаторе прав не надо )))
р е а л и з у е м о - maslachenko767@mail.ru , консультации, подбор компонентов бесплатно, гарантии
А Ирина видимо зависла над изучением мною заполненной таблицы )))
PS там есть ошибочка
Да зависла. Форум читала. Удивляюсь вашим мозгам.
Это невозможно )))
взять пачкорд воткнуть в любые два свободных порта на офисном коммутаторе прав не надо )))
Кто же им, пьяным дуракам, патч-корд даст.
Да зависла. Форум читала. Удивляюсь вашим мозгам.
Да, тут корифеев много, но есть и простые кузнецы, типа меня )))
А я щитаю, что
Да, странная формулировка - не курсовая, но за оценку и преподаватель говорит, что и как делать.
Кнопки попугаи будут жать что ли? Тогда какая им разница - релейная схема или микроконтроллерная?
Для попугаев? Увидев картинку подумал что для обизян.) Писните htpicc@gmail.com - поговорим о попугаях.
Так B707 код вроде как выложил )))
Irina, код из сообщения #23 полностью соответствует Вашему алгоритму. К нему осталось добавить тривиальные функции digitalWrite() для включения и выключения реле. Берите, пользуйтесь, денег не надо - подарок на НГ :)
Или Вам нужен скетч "под ключ", с сетапом, лупом, обработкой нажатия кнопок и схемой подключения ?
пишите ded собака cur-ex.ru
Irina, код из сообщения #23 полностью соответствует Вашему алгоритму. К нему осталось добавить тривиальные функции digitalWrite() для включения и выключения реле. Берите, пользуйтесь, денег не надо - подарок на НГ :)
Или Вам нужен скетч "под ключ", с сетапом, лупом, обработкой нажатия кнопок и схемой подключения ?
пишите ded собака cur-ex.ru
тут таблицы заполнял, надеялся, что идею одолею, всё жеж )))
PS а в 23 посте одна строка (5) непонятой осталась, может поясните?
Irina, код из сообщения #23 полностью соответствует Вашему алгоритму. К нему осталось добавить тривиальные функции digitalWrite() для включения и выключения реле. Берите, пользуйтесь, денег не надо - подарок на НГ :)
Думаю, бесплатно
PS а в 23 посте одна строка (5) непонятой осталась, может поясните?
это фактически тернарный оператор, state будет равно 1, если knob == 1 и ноль в ином случае
Здравствуйте. Нужен скетч для ардуино.
а обязательно ардуино?.
не можно и ардуино,
а обязательно ардуино?.
а нафига тут что-то придумывать, если весь код - 5 строк?
разве что цену себе набить :)
а обязательно ардуино?.
а нафига тут что-то придумывать, если весь код - 5 строк?
разве что цену себе набить :)
данеблин, щас многоточечную поливалку делаю. проект не на ардуине. перестраиваться неохота. чежвы сами то 0пу не наморщите. давайте я алгоритм вам напишу а вы его в ардуне приспособите. у вас же есть платка и оболочка? бесплатно? ну, уроки там глянете...
Irina, код из сообщения #23 полностью соответствует Вашему алгоритму. К нему осталось добавить тривиальные функции digitalWrite() для включения и выключения реле. Берите, пользуйтесь, денег не надо - подарок на НГ :)
Думаю, бесплатно
А ну ка, покажи как надо )))
Я еще не протрезвелъ
Я еще не протрезвелъ
а мастерство не пропьёшь??? )))
давайте я алгоритм вам напишу а вы его в ардуне приспособите
ты тоже чтоль отмечаешь уже? :)
Ветку выше глянь, написали все давно
не адекватная