откатные ворота на ардуино НАНО

rulya82
Offline
Зарегистрирован: 17.01.2022

Здравствуйте товарищи ардуинщики! Надумал собрать рабочую схему откатных ворот с имеющимся приводом со сгоревшей платой управления. Мотор на 24в, датчики ИК на столбах тоже. Прошу помочь составить алгоритм работы. Скетч в ближайшее время у меня вряд ли получится написать (месяц назад только открыл для себя ардуино). Прошу совета как правильно составить скетч (можно даже алгоритм русскими словами). Не совсем еще понимаю порядок команд, циклов и прочих важных для процессора команд.

 

 

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

rulya82 пишет:

 Не совсем еще понимаю порядок команд, циклов и прочих важных для процессора команд.

и сразу за откатные ворота схватились? А если этими воротами соседскую кошку переедет - жалко не будет?

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

Потом соберите пару проектов для дома - безопасных - какие-нить там часики или термометр. А вот уже после этого можно приступать к воротам.

Планируйте на все это года два-три, если сейчас у вас никакого опыта ни в программировании. ни в электронике нет

rulya82
Offline
Зарегистрирован: 17.01.2022

))) Вы же понимаете что идею ждать 2-3 года я не охотно рассматриваю).

Светодиодики, сервоприводы и прочее из набора я то опробовал, но в свой собственный проэкт меня не пускает слишком большое количество вопросов, которые, как оказалось, и задать то некому. Откатные ворота не такой уж и терминатор по сути, но мне еще самостоятельно его не осилить! Вот и играюсь в "песочнице")

rulya82
Offline
Зарегистрирован: 17.01.2022

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

rulya82
Offline
Зарегистрирован: 17.01.2022

rkit
Offline
Зарегистрирован: 23.11.2016

rulya82 пишет:

Вы же понимаете что идею ждать 2-3 года я не охотно рассматриваю).

Не ждать, а учиться. Рассматривай как хочешь, а от реальности не сбежишь.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Одно радует, что ТС не попросил написать операционку под смарфон.  Хотя программа ворот это не операционка, но что-то от системки в ней есть. Это я к тому, что 1 год ТС будет разбираться в готовой рабочей программе.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

rulya82 пишет:

))) Вы же понимаете что идею ждать 2-3 года я не охотно рассматриваю).

Видите ли, если Вы хотите научиться, это одно. И Вам в этом с удовольствием помогут.

А если Вам нужен конкретный проект, причем, быстрее, чем через 2-3 года - это совсем другое. В этом Вам тоже могут помочь, но на совсем других условиях, а именно - за деньги в коммерческом разделе "Ищу исполнителя".

Общаться с единомышленником и делать что-то для человека, не являющегося единомышленником, - совершенно разные вещи.

rulya82
Offline
Зарегистрирован: 17.01.2022

Парни! Я не прошу сделать работу вместо меня. Я так же, как и все это барахло, мог бы купить у китайцев готовую плату и не дорого, заметьте. О том, что отписать новичку какой то "мудрый комент" вместо дельного совета проще - я не сомневался, но где же, как не на форумах, находить единомышленников!? И все же меня интересует не скетч от специалистов, а помощь в его написании. Что скрывать, я не могу разобраться не с синтаксисом, а с принципом построения самого алгоритма. И да, не нужно мне писать сколько нужно учиться! Лучше посоветовали бы литературу и т.п. - так хоть толк есть от сообщений

Morroc
Offline
Зарегистрирован: 24.10.2016

rulya82 пишет:

я не могу разобраться не с синтаксисом, а с принципом построения самого алгоритма

На каком уровне ? Алгоритм ворот не сложнее светофора вроде. Конкретная реализация может быть разной, может вы ик датчики на прерывания заведете, кто ж вас знает... Без привязки к электронике не можете квадратиками нарисовать ? Ну там типа "поступила команда открыть" -> "проверяем текущее положение": открыто - ничего не делаем, закрыто или промежуточное положение - включаем мотор -> если мотор включен ждем срабатывание датчика "ворота закрыты" либо срабатывания датчика тока (мотор заклинило) -> "выключаем мотор" и т.д.

На картинке кажется два набора датчиков, хреново видно - это зачем ?

rulya82
Offline
Зарегистрирован: 17.01.2022

1.Кнопка    (окрыв, стоп, закр. стоп)

2. реле открытия ворот ( если кнопка нажата или принят сигнал 433МГц, пока не сработает концевик)

3. реле закрытия ворот  (если нажата кнопка, принят сигнал 433МГц, датчик ИК собран, пока не сработает концевик)

4.реле питания на плату  (нажата кнопка или сигнал радиоканала)

5.приемник 433   (работа от пульта)

6. МОSFET сигн лампы   (работает при задействовании любого из реле мотров)

7.концевик открытия и закрытия   (один элемент для двух действий)

8. сигнальная лампа  (при работе любого из реле мотора).

rulya82
Offline
Зарегистрирован: 17.01.2022

Каких именно датчиков? Если Вы про эхо сенсоры, то это для наглядности. Там обычный рычажный прерыватель планируестя поставить.

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

rulya82 пишет:

7.концевик открытия и закрытия   (один элемент для двух действий)

как вы себе видите использование одного концевика для двух действий?

rulya82
Offline
Зарегистрирован: 17.01.2022

Этот концевик на одном пине и будет подавать команду на разрыв цепи в любом из действий (либо открытия либо закрытия). Разве нет?

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

как вы будете различать - сработало закрытие или открытие? - действия-то по двум результатам разные...

и как технически один концевик будет срабатывать и на открытие и на закрытие?

rulya82
Offline
Зарегистрирован: 17.01.2022

Чет мне вообще показалось это не значительным! Ведь в выполняемом цикле не важно откуда прийдет сигнал, если выполняется определенное действие и это прописано в условии

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

ТС, уважаемый! Ты про единомышленников писал, но это не совсем честно выглядит. Написать блок управления воротами и указать все нужные датчики - совсем просто для программиста. И готовая автоматика стоит копейки даже в РФ, не то, что на Али.

Возникает вопрос: "Что ты желаешь НА САМОМ ДЕЛЕ?" (с) (из милого сериала "Люцифер").

Допустим хорошее (о плохом варианте ниже напишу), и ты хочешь сделать собственную автоматику, с возможностью добавления элементов, которых нет в покупной (кстати - каких?). Тебе уже выше написали, что задачка простая, ДЛЯ ПРОГРАММИСТА, даже если ты раньше не писал для котроллеров. Для новичка путь тоже описали - пару лет поиграть в Ардуинку. То есть нужно собрать ворота с заводской автоматикой и спокойно думать пару лет о том. что именно ты хочешь и куда "приху...рить" к ним?

Плохой вариант если ты решил съэкономить на автоматике и разжиться кодом для Ардуинки на форуме. Тут слова гнева и лучи поноса - еще не самое страшное! ;)) В итоге просто выйдет дороже покупной. ;))

rulya82
Offline
Зарегистрирован: 17.01.2022

[quote=wdrakula]

ТС, уважаемый! Ты про единомышленников писал, но это не совсем честно выглядит. Написать блок управления воротами и указать все нужные датчики - совсем просто для программиста. И готовая автоматика стоит копейки нажа в РФ, не то, что на Али.

Возникает вопрос: "Что ты желаешь НА САМОМ ДЕЛЕ?" (с) (из милого сериала "Люцифер").

Допустим хорошее (о плохом варианте ниже напишу), и ты хочешь сделать собственную автоматику, с возможностью добавления элементов, которых нет в покупной (кстати - каких?). Тебе уже выше написали, что задачка простая, ДЛЯ ПРОГРАММИСТА, даже если ты раньше не писал для котроллеров. Для новичка путь тоже описали - пару лет поиграть в Ардуинку. То есть нужно собрать ворота с заводской автоматикой и спокойно думать пару лет о том. что именно ты хочешь и куда "приху...рить" к ним?

Плохой вариант если ты решил съэкономить на автоматике и разжиться кодом для Ардуинки на форуме. Тут слова гнева и лучи поноса - еще не самое страшное! ;)) В итоге просто выйдет дороже покупной.

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

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

rulya82 пишет:

я же хочу обучиться "сему ремеслу". И если говорить о том, чего же я действительно хочу - секса и власти!))

Становится понятнее ;). В таком случае, особенно учитывая реальные желания, порно в Инете и соотвтетствующие занятия руками выглядят более безопасными для соседских кошек ...ну кроме крайних форм. И паяльная станция не нужна и логанализатор и осциллограф. Сплошная экономия и "на земле мир и в человецах благоволение"!

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

rulya82 пишет:
Я не прошу сделать работу вместо меня ... меня интересует не скетч от специалистов, а помощь в его написании.

Тогда, пожалуйста, конкретно, какая именно помощь Вам нужна? Пожелать удачи - достаточно? Или нужно что-то ещё, что именно? Только конкретно. Фраза типа "помочь написать скетч" не канает, говорите толком в чём эта помощь должна выражаться.

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

rulya82 - может уже научитесь хотя бы правильно цитировать? - ну хотя бы в рамках подготовки к изучению программирования?

Наука-то нехитрая - теги quote должны быть парными

 

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

А я думаю начинать нужно с того, чтобы ТС уже показал "начало программы" и что у него в ней не получается. Ну и от этого двигаться. А так - можно до второго пришествия разглагольствовать...

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

BOOM пишет:

начинать нужно с того, чтобы ТС уже показал "начало программы"

Как показать то, чего нет?

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

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Тогда о чем вообще тут разговор? Гоу сначала изучать литературу:

Для начала (чтобы первые строки кода появились): книга Стефан Рэнди Дэвис "C++ для "чайников"

rulya82
Offline
Зарегистрирован: 17.01.2022

BOOM пишет:

А я думаю начинать нужно с того, чтобы ТС уже показал "начало программы" и что у него в ней не получается. Ну и от этого двигаться. А так - можно до второго пришествия разглагольствовать...

вопрос пока такой (из разряда песочницы): как формируется блок setup()? почему после него циклов loop() может быть множество (хотя в начале обучалки четко говорится о том, что скетч состоит из 2-х блоков!? Что такое "выполнить анализ состояния перед выполнением команды"? 

И спасибо за литературу, уже занялся чтением

v258
v258 аватар
Offline
Зарегистрирован: 25.05.2020

rulya82 пишет:

как формируется блок setup()?

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

rulya82 пишет:

 почему после него циклов loop() может быть множество

Не может. Он только один. Но выполняется постоянно в бесконечном цикле. После последней строчки в loop следует переход на первую и т.д.

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

BOOM пишет:

Тогда о чем вообще тут разговор? Гоу сначала изучать литературу:

Для начала (чтобы первые строки кода появились): книга Стефан Рэнди Дэвис "C++ для "чайников"

первые строки они безвозмездны!
 

void setup() {
  // put your setup code here, to run once:
}

void loop() {
  // put your main code here, to run repeatedly:
}

 

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

И все равно вернулись к тому, что было в #1 сказано - Если хотите сами, то путь этот не близкий. Начать нужно именно с мигания светодиодом и двигаться дальше.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Шутки это здорово, но!

Коллеги! Давайте прекращать неформат. Мы 100500 раз писали. что форум не онлайн-курс и не справочная. Мы и поможем и объясним то, что вызовет сложности в собственном и готовом коде на реальной плате или (хоть тут я лично против) в Протеусе.

----------------

ТС! К тебе, как к новичку и в Песочнице, пока претензий нет. Просто замечание о том, что вопрос: "Что такое setup()?" несколько неформатен.  Бери плату, учись, особенно налегай на автоматы и машины состояний, это ключевые темы для программирования микроконтроллеров. Контроллер ворот - самая типичная машина состояний и должна быть реализована неблокирующим кодом.

Достаточно пока новых терминов для тебя?

И маленький оффтоп. Не нужно пытаться "прыгать через ступеньку", осваивая новые знания. Мне уже 52 годика, и в прошлом у меня и матшкола, и олимпиады и всякие другие темы. Очень редко выходит что-то путное из попыток ухватить что-то  с верхней полки. Аналогия понятна? Если уж так не хочется "моргать диодиком" - делай макет ворот. На столе. С моторчиком, концевиками, датчиком препятствия. Только постепенно усложняя, ОК? Вот на этом пути мы с удовольствием поможем!

Morroc
Offline
Зарегистрирован: 24.10.2016

rulya82 пишет:

Ведь в выполняемом цикле не важно откуда прийдет сигнал, если выполняется определенное действие и это прописано в условии

Этим вы усложняете себе задачу. Запустить мотор в какую то сторону и ждать срабатывание (по фронту) датчика можно, но вот представьте себе - жмете Открыть, а ворота открыты, как понять, что они уже открыты и ехать в ту сторону не надо, в память МК записать последнюю отработанную команду... ? ну такое себе

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

rulya82 пишет:

...но где же, как не на форумах, находить единомышленников!?

Еще раз: единомышленники для нас те, кто увлекается Ардуино (и, соответственно, хочет тратить на это время). А тот, кому надо побыстрее сделать конкретный проект, для нас совсем не единомышленник.

Цитата:

Лучше посоветовали бы литературу и т.п. - так хоть толк есть от сообщений

Интересно, а для кого создана специальная тема: http://arduino.ru/forum/pesochnitsa-razdel-dlya-novichkov/pesochnitsa-novichok-prochti

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

andriano пишет:

Интересно, а для кого создана специальная тема

Там про ворота ничего нет :(

Pyotr
Offline
Зарегистрирован: 12.03.2014

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

andriano пишет:

Интересно, а для кого создана специальная тема

Там про ворота ничего нет :(

Как нет? А это чей пост?)

rulya82
Offline
Зарегистрирован: 17.01.2022

Мужчины! Подскажите как правильно сделать что бы мигалка работала в тот период, пока открываются ворота, а то у меня через delay() получается что сработывает ИЛИ одна функция ИЛИ другая).

Я послушал совета wdrakula и пока чтение литературы не дает мне ответов - продолжаю элемент за элементом озадачиваться. 

#include <GyverButton.h>
GButton Knopka (2,HIGH_PULL,NORM_OPEN);
int releOpen = 8;
//int releClose = 9;
int LedB = 7;
int LedR = 6;

void setup() {
  
  Serial.begin(9600);
  Knopka.setDebounce(100);
  pinMode(releOpen, OUTPUT);
  //digitalWrite(releClose, LOW);
  pinMode (LedB, OUTPUT);  
  pinMode (LedR, OUTPUT);
  
}
void loop() { 
   Knopka.tick();
  if (Knopka.isPress()){
    digitalWrite( releOpen, HIGH && Serial.println ("Ворота открываются"));
    digitalWrite(LedB, HIGH );
    digitalWrite (LedR, LOW); 
    delay (500);
    digitalWrite (LedB, LOW );
    digitalWrite (LedR, HIGH);
    delay(500);
    
    
    delay(10000);  
    digitalWrite (releOpen, LOW);
   
    Serial.println ("Ворота открыты");  
  } 
}

Пока ворота на макете открываются таймингом 10с, в будущем сменится на данные с аналогового выхода (концевика). Светодиоды красный и синий мигать должны в процессе открытия, но как эту функцию создать?

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

90% ваших задач решается через http://arduino.ru/tutorials/BlinkWithoutDelay

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Пока я спать не ушел продолжу советовать. Что поделать? - привычка! Как никак родился в "стране советов".

1. На нашем форуме не применяют ничего "от Гивера". Так исторически сложилось. При наличии библиотеки "от Гивера" в коде, тебя немедленно отправят на форум Гивера за любыми советами.

2. По сути вопроса: Я тебе написал про машину состояний и неблокирующий код. Читай "Блинк без делей" до полного просветления! В голове себе представь, что проход loop() это беглый взгляд на мир вокруг. Он должен длиться не более десятка миллисекунд. Нужно увидеть события и произвести действия в ответ. Например мигание это включение в нужный момент и выключение в другой. Дальше попробуй поработать головой. В смысле не только для еды и водоффки! ;))

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

rulya82 пишет:

 у меня через delay() получается что сработывает ИЛИ одна функция ИЛИ другая).

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

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

Два замечания:

Первое:

rulya82 пишет:

#include <GyverButton.h>

wdrakula пишет:
При наличии библиотеки "от Гивера" в коде, тебя немедленно отправят на форум Гивера за любыми советами.

https://community.alexgyver.ru/

Второе:

rulya82 пишет:

Я послушал совета wdrakula 

«Типичный случай так-называемого вранья»!

В совете от графа было ясно сказано:

wdrakula пишет:
пару лет поиграть в Ардуинку.

Вы «пару лет» от «пары дней» отличаете?

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

rulya82
Offline
Зарегистрирован: 17.01.2022

Ок. Удаляйте все это недорозумение и баньте. Профессорского образования не имею, а будь у меня понимание всех нюансов - здался б тогда форум... Простите за беспокойство О, великие гении!

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Не нужно в солидном возрасте быть таким нежным, как кожа на залупе.

Ты замусорил справочную ветку. Возможно - случайно. Если случайно - нужно просто извиниться и продолжать тут, в твоей собственной ветке, ОК? Тебя пока еще никто не гнобил и не обижал.

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

А, между тем, ответа на мой вопрос из поста #21 так и нет :-(

bwn
Offline
Зарегистрирован: 25.08.2014

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

А, между тем, ответа на мой вопрос из поста #21 так и нет :-(

Увы, очередная серия - "Униженные и оскорбленные".

Пойду "песочницу" почищу.

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

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

А, между тем, ответа на мой вопрос из поста #21 так и нет :-(

так вопрос был эзотерический...
PS за 21 день можно выучить любой язык )))

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

И в очередной раз попробовав взять «500 кило» «штангист» без практики порвал себе все что возможно, возможно даже анус - из которого сейчас прёт кал на то, о чем его ещё в первом сообщении предупреждали.  
ЗЫ: Слобак. Так быстро сдался, даже не интересно. Хоть бы по упирался. Я что-то сомневаться стал, что ТС под 50, какое-то «тиктоковское» мышление - раааас и оно само )))

ЗЫ2: Как то даже я пытался этот ваш тикток смотреть - ну на ютубе хоть полезное что-то можно посмотреть, например я холодильник по подсказке из видео ютуба починил, а там только хиханьки да хахоньки ((

zipper31
Offline
Зарегистрирован: 25.01.2016

Прочитав всё создалось впечатление что тут много обиженных в детстве философов.Царьков оторванных от реальности.Жалко парня.

Ладно по теме:

А тема интересна,тоже пишу сейчас код откатных ворот.Но на базе шуруповёрта литий_ионного.У него и защита по току есть.Можно автономно использовать.Ну и обороты можно менять если к мосфету кнопочки подвязаться.

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

zipper31 пишет:

А тема интересна,тоже пишу сейчас код откатных ворот.Но на базе шуруповёрта литий_ионного.У него и защита по току есть.Можно автономно использовать.Ну и обороты можно менять если к мосфету кнопочки подвязаться.

"пишу код на базе шуруповерта..." - шоу продолжается? :)

zipper31
Offline
Зарегистрирован: 25.01.2016

Да)) но я немного код понимэ,изучал скажем так основы.

"Код на базе шуповёрта" сразу не понял)).Я про привод.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

zipper31 пишет:
"Код на базе шуповёрта" сразу не понял)).Я про привод.

Но лучше на основе бензопилы/электропилы. Жрелещнее.

Интересно, при ДТП своей машины и своих же гаражных ворот на своей самоделке надо ГАИ вызывать? Интересно кто будет в итоге платить. Машина или ворота. А если человек пострадает?

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

qwone пишет:

Интересно, при ДТП своей машины и своих же гаражных ворот на своей самоделке надо ГАИ вызывать?

если я верно помню определение ДТП - то нет. Там вроде оговорено, что ДТП может быть только при движении по дорогам общего пользования.

Например, если на машину кирпич падает - это же не ДТП... и если ворота наехали  - все так же

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

https://www.youtube.com/watch?v=cHv5xGqizl4

В инете что-то я не нашел приколы с воротами и  ... чудаками.

zipper31
Offline
Зарегистрирован: 25.01.2016

Про цепную электропилу лучше не вспоминать.Дерево пилил,а она как выпрыгнет из ствола и прям на меня.

Футболку затянула и лицо распилила так как останавливается не моментально.Ну ничё зашили.Заштопали так сказать))