Скетч для ардуино.

irina
Offline
Зарегистрирован: 26.12.2018

Здравствуйте. Нужен скетч для ардуино. 

https://yadi.sk/i/eqhFtJzu0CBDHQ.

b707
Offline
Зарегистрирован: 26.05.2017

Ирина, напишите словами. что вам надо, так как пока ваш пост выглядит как вирусный вброс.

Ходить по незнакомым ссылкам на Яндекс - увольте.

sadman41
Offline
Зарегистрирован: 19.10.2016

Вы скетч купить решили или так, просто нужен?

irina
Offline
Зарегистрирован: 26.12.2018

Купить

b707
Offline
Зарегистрирован: 26.05.2017

irina пишет:

Купить

хорошо.

Теперь подумайте и опишите, что он должен делать.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Irina,

так не получится. задача поставлена неполностью и некорректно.

Даже если кто-то возмётся, сделает не то, что Вам надо. Вы будете долго его мучать, чтобы он исправля, а когда всё исправит, через какое-то время снова что-то вылезет. А виной всему неправильная постановка задачи.

Могу Вас бесплатно научить ставить такие задачи, а тогда уже распишете и человек с первого раза нормально сделает.

Рассказать как такую задачу строго и правильно ставить?

sadman41
Offline
Зарегистрирован: 19.10.2016

Странное время для покупок скетчей. Сейчас нужно свитера в подарок покупать.

Впрочем, пишите: wrk.sadman@gmail.com что требуется и, если это не долгое залипалово, то сговоримся.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:

Странное время для покупок скетчей. Сейчас нужно свитера в подарок покупать.

Впрочем, пишите: wrk.sadman@gmail.com что требуется и, если это не долгое залипалово, то сговоримся.

Насчёт свитеров не скажу, а вот шапочки и нуды всякие - точно )))

я так понял барышне нужна строгая последовательность включения 1-2-3-4 при которой добавляется в работу еще одно реле, любая другая последовательность отключает предыдущее сработанное реле и включает реле по номеру кнопки

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Смотрите, Ирина,

У Вас 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        

Ну, и наконец, Вам нужно заполнить эту таблицу по такому правилу

Для каждой ячейки расссуждаете так: если система реле находится в "состоянии данной строки (указано в первом столбце)" и нажата "кнопка соответсвующая данному столбцу (указана в первой строке)", то система должна перейти с новое состояние - вот его и выписываете в ячейке.

Когда Вы заполните таблицу - это будет абсолютно строгая и точная постановка данной задачи. И человеку понятно, что делать, и Вам понятно как проверять.

Если что-то непонятно по заполнению таблицы, спрашивайте.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

ua6em пишет:

я так понял барышне нужна строгая последовательность включения 1-2-3-4 при которой добавляется в работу еще одно реле, любая другая последовательность отключает предыдущее сработанное реле и включает реле по номеру кнопки

Барышне нужно расписать таблицу, которую я ей нарисовал и, таким образом, построить автомат.

При любых других объяснениях проект будет бесконечным, т.к. постоянно что-то будет всплывать (это, кстати. предупреждение исполнителям).

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

ЕвгенийП пишет:

ua6em пишет:

я так понял барышне нужна строгая последовательность включения 1-2-3-4 при которой добавляется в работу еще одно реле, любая другая последовательность отключает предыдущее сработанное реле и включает реле по номеру кнопки

Барышне нужно расписать таблицу, которую я ей нарисовал и, таким образом, построить автомат.

При любых других объяснениях проект будет бесконечным, т.к. постоянно что-то будет всплывать (это, кстати. предупреждение исполнителям).

Евгений Петрович, помилуйте, это даже я не смогу сделать, а считал, что я что-то там понимаю )))

наверное надо добавить к кнопкам справа и состояние реле?

irina
Offline
Зарегистрирован: 26.12.2018

Спасибо большое за помощь.

При включении все реле "0".
Кнопка 1 реле 1 "1"
Кнопка 2 реле 2 "1"
Кнопка 3 реле 3 "1"
Кнопка 4 реле 4 "1"
 
Кнопка 1 реле 1 "1"
Кнопка 2 реле 2 "1"
Кнопка 4 реле 4 "1"
         реле 1 "0"
         реле 2 "0"
         реле 3 "0"
 
Кнопка 1 реле 1 "1"
Кнопка 3 реле 3 "1"
         реле 1 "0"
         реле 2 "0"
         реле 4 "0"
 
Кнопка 1 реле 1 "1"
Кнопка 4 реле 4 "1"
         реле 1 "0"
         реле 2 "0"
         реле 3 "0"
 
Кнопка 2 реле 2 "1"
Кнопка 1 реле 1 "1"
         реле 2 "0"
         реле 3 "0"
         реле 4 "0"
 
Кнопка 2 реле 2 "1"
Кнопка 3 реле 3 "1"
         реле 2 "0"
         реле 1 "0"
         реле 3 "0"
 
Кнопка 2 реле 2 "1"
Кнопка 4 реле 4 "1"
         реле 2 "0"
         реле 1 "0"
         реле 3 "0"
 
И так далее. Нужно что бы включились все реле только при правильной комбинации 1-2-3-4. 
 
"ua6em пишет:
я так понял барышне нужна строгая последовательность включения 1-2-3-4 при которой добавляется в работу еще одно реле, любая другая последовательность отключает предыдущее сработанное реле и включает реле по номеру кнопки" Да всё верно.
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Состояния реле (все какие возможны выписаны в первом столбце. А кнопки выписаны в первой строке.

В яейку пишутся новые состояния реле, которые должны возникнтуь, если при текущем состоянии (которое в первом столбце) нажата кнопка, которая в первой строке. 

Например,

1. если когда все реле выключены (вторая строка) нажатие каждой кнопки приводи к включению одного реле с тем же номером, то в первой строке запишется 9слева направо: 0001, 0010, 0100, 1000

2.если уогда включено только первое реле (третья строка) нажатие первой кнопки приводит к его выключению, а нажатие любой другой к включению соотв. реле, то третья строка будет 0000, 0010, 0100, 1000

и так далее.

Собственно, автомат так и строится.

Никаким другим разумным способом строго и полностью Вы тут логику не опишете.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

irina пишет:

И так далее. Нужно что бы включились все реле только при правильной комбинации 1-2-3-4. 
 
"ua6em пишет:
я так понял барышне нужна строгая последовательность включения 1-2-3-4 при которой добавляется в работу еще одно реле, любая другая последовательность отключает предыдущее сработанное реле и включает реле по номеру кнопки" Да всё верно.

ну так "блондинок спинным мозгом чуствую"  - Это не уничижительное, мне одна знаменитая блондинка даже свою книжку анекдотов  о барышнях подарила )))

b707
Offline
Зарегистрирован: 26.05.2017

весь алгоритм, по-моему, умещается в 5 строк

void a(byte knob) {
  static byte state =0;
  if (knob == (state +1)) {state ++}
  else {All_Relay_Off();
        state =0;}
  Relay_on(knob);
}

где knob - номер нажатой кнопки

Сорри, если кому распугал малину :)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

У меня получилось так, кроме последней строки

  Кнопка 1 Кнопка 2 Кнопка 3 Кнопка 4
0000 0001 0010 0100 1000
0001 0001 0110 0100 1000
0010 0001 0010 0100 1000
0011 0001 0010 0111 1000
0100 0001 0010 0100 1000
0101 0001 0010 0100 1000
0110 0001 0010 0100 1000
0111 0001 0010 0100 1111
1000 0001 0010 0100 1000
1001 0001 0010 0100 1000
1010 0001 0010 0100 1000
1011 0001 0010 0100 1000
1100 0001 0010 0100 1000
1101 0001 0010 0100 1000
1110 0001 0010 0100 1000
1111        

 

sadman41
Offline
Зарегистрирован: 19.10.2016

b707 пишет:

весь алгоритм, по-моему, умещается в 5 строк

На этом завалить легко. Препод говорит: "ага, прекрасно... А теперь сделайте мне последовательность 4231". Таблицу перестроить - минут пять, а тут всё, трояк будет в зачетке.

b707
Offline
Зарегистрирован: 26.05.2017

sadman41 пишет:

На этом завалить легко. Препод говорит: "ага, прекрасно... А теперь сделайте мне последовательность 4231". Таблицу перестроить - минут пять, а тут всё, трояк будет в зачетке.

Я. честно, под вечер не въезжаю, что за таблицу вы строите :)

Правильный код должен быть красивым :)

Правда у меня уже не такой красивый - одну ошибку уже подправил, сейчас нашел вторую... править, нет? а то если смысл ветки - обучение построению таблиц состояний - так я отвлекать не буду :)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

ua6em пишет:

У меня получилось так, кроме последней строки

Если в последней строке кнопки должны игнорироваться, то её надо заполнить её же значением 1111

sadman41
Offline
Зарегистрирован: 19.10.2016

У меня вообще никакой цели нет в этой ветке )) Можете сделать подарок новенькой - решить ей задачку. Судя по времени - это последние зачеты идут.

У меня вообще завтра только полдня свободны, потом - "прощай земля", как говорится. 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

ЕвгенийП пишет:

ua6em пишет:

У меня получилось так, кроме последней строки

Если в последней строке кнопки должны игнорироваться, то её надо заполнить её же значением 1111

как минимум я в одном месте ошибся, увы, но по последней строке по идее должно сбрасываться в 0 и срабатывать реле по нажатой кнопке,  интересно, как будет дальше задача решаться

b707
Offline
Зарегистрирован: 26.05.2017

sadman41 пишет:

У меня вообще завтра только полдня свободны, потом - "прощай земля", как говорится. 

везет :)

Нам приказали "работать до последнего" - аж в рабочую субботу 29-ого чтоб все на работе были. Будет ли кто-то реально работать - никого не колышет

sadman41
Offline
Зарегистрирован: 19.10.2016

Ну так и нам сказали быть до 29-го, но позднесоветские новогодние традиции никто не отменял - накатывание в кажном отделе "за ёлку!". Тем более, что у нас-то всё работает, а у тех, кто сеть роняет - мы права отобрали.

b707
Offline
Зарегистрирован: 26.05.2017

ну в общем так

void a(byte knob) {
  static byte state =0;
  if (knob == (state +1)) {state ++}
  else {All_Relay_Off();
          state =(byte) (knob == 1);}
  Relay_on(knob);
}

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:

Ну так и нам сказали быть до 29-го, но позднесоветские новогодние традиции никто не отменял - накатывание в кажном отделе "за ёлку!". Тем более, что у нас-то всё работает, а у тех, кто сеть роняет - мы права отобрали.


Это невозможно )))
взять пачкорд воткнуть в любые два свободных порта на офисном коммутаторе прав не надо )))

karamzin01
Offline
Зарегистрирован: 08.03.2018

р е а л и з у е м о - maslachenko767@mail.ru , консультации, подбор компонентов бесплатно, гарантии

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

А Ирина видимо зависла над изучением мною заполненной таблицы )))
PS там есть ошибочка

irina
Offline
Зарегистрирован: 26.12.2018

Да зависла. Форум читала. Удивляюсь вашим мозгам.

sadman41
Offline
Зарегистрирован: 19.10.2016

ua6em пишет:

Это невозможно )))

взять пачкорд воткнуть в любые два свободных порта на офисном коммутаторе прав не надо )))

Кто же им, пьяным дуракам, патч-корд даст. 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

irina пишет:

Да зависла. Форум читала. Удивляюсь вашим мозгам.


Да, тут корифеев много, но есть и простые кузнецы, типа меня )))

irina
Offline
Зарегистрирован: 26.12.2018
Не курсовая и не кодовая панель. Прибор для проведения научного исследования над животными. Например, Попугаями. Устройство за оценку 4 или 5, вместо сдачи экзамена.
На начальном этапе собрала пульт на бистабильных реле, повозиться пришлось и все получилось. Преподаватель говорит "слишком просто, нужно задействовать микроконтроллер". Вот обратилась к Вам. Мне предложили скетч и схему подключения за 1500 рублей. Понимаю, что цена абсолютно адекватная. Но для меня дорого. Может быть, поможет кто-нибудь за 500 рублей, могу пополнить мобильный счёт?
Плотник собирает корпус.
Вот набросала в paint: https://yadi.sk/i/HTWHOPIP8sBcGg
Защелка эта: https://yadi.sk/i/xULTetxSgyakzA
DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

А я щитаю, что

irina пишет:

 за оценку 4 или 5, вместо сдачи экзамена.
 
цена 1500 вполне даже дёшево. 
sadman41
Offline
Зарегистрирован: 19.10.2016

Да, странная формулировка - не курсовая, но за оценку и преподаватель говорит, что и как делать.

Кнопки попугаи будут жать что ли? Тогда какая им разница - релейная схема или микроконтроллерная?

Green
Offline
Зарегистрирован: 01.10.2015

Для попугаев? Увидев картинку подумал что для обизян.) Писните htpicc@gmail.com - поговорим о попугаях.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016
b707
Offline
Зарегистрирован: 26.05.2017

Irina, код из сообщения #23 полностью соответствует Вашему алгоритму. К нему осталось добавить тривиальные функции digitalWrite() для включения и выключения реле. Берите, пользуйтесь, денег не надо - подарок на НГ :)

Или Вам нужен  скетч "под ключ", с сетапом, лупом, обработкой нажатия кнопок и схемой подключения ?

пишите ded собака cur-ex.ru

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

b707 пишет:

Irina, код из сообщения #23 полностью соответствует Вашему алгоритму. К нему осталось добавить тривиальные функции digitalWrite() для включения и выключения реле. Берите, пользуйтесь, денег не надо - подарок на НГ :)

Или Вам нужен  скетч "под ключ", с сетапом, лупом, обработкой нажатия кнопок и схемой подключения ?

пишите ded собака cur-ex.ru

тут таблицы заполнял, надеялся, что идею одолею, всё жеж )))
PS а в 23 посте одна строка (5) непонятой осталась, может поясните?

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

b707 пишет:

Irina, код из сообщения #23 полностью соответствует Вашему алгоритму. К нему осталось добавить тривиальные функции digitalWrite() для включения и выключения реле. Берите, пользуйтесь, денег не надо - подарок на НГ :)

Думаю, бесплатно 

b707
Offline
Зарегистрирован: 26.05.2017

ua6em пишет:

PS а в 23 посте одна строка (5) непонятой осталась, может поясните?

это фактически тернарный оператор, state будет равно 1, если knob == 1 и ноль в ином случае

Liberty_C
Offline
Зарегистрирован: 26.12.2018

irina пишет:

Здравствуйте. Нужен скетч для ардуино. 

https://yadi.sk/i/eqhFtJzu0CBDHQ.

а обязательно ардуино?. 

не можно и ардуино, 

b707
Offline
Зарегистрирован: 26.05.2017

Liberty_C пишет:

а обязательно ардуино?. 

а нафига тут что-то придумывать, если весь код - 5 строк?

разве что цену себе набить :)

Liberty_C
Offline
Зарегистрирован: 26.12.2018

b707 пишет:

Liberty_C пишет:

а обязательно ардуино?. 

а нафига тут что-то придумывать, если весь код - 5 строк?

разве что цену себе набить :)

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

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

DetSimen пишет:

b707 пишет:

Irina, код из сообщения #23 полностью соответствует Вашему алгоритму. К нему осталось добавить тривиальные функции digitalWrite() для включения и выключения реле. Берите, пользуйтесь, денег не надо - подарок на НГ :)

Думаю, бесплатно 

А ну ка, покажи как надо )))

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

Я еще не протрезвелъ

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

DetSimen пишет:

Я еще не протрезвелъ

а мастерство не пропьёшь??? )))

b707
Offline
Зарегистрирован: 26.05.2017

Liberty_C пишет:

давайте я алгоритм вам напишу а вы его в ардуне приспособите

ты тоже чтоль отмечаешь уже? :)

Ветку выше глянь, написали все давно

karamzin01
Offline
Зарегистрирован: 08.03.2018

не адекватная

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

karamzin01 пишет:
не адекватная
Кто? ТС или твоя метода работы с клиентами?