Помощь в написании скетча для станка.
- Войдите на сайт для отправки комментариев
Пт, 10/05/2019 - 17:19
Доброго времени суток Уважаемые Форумчане ! хочу свой *станочек* автоматизировать. Но с ардуино пока дружу не долго((( В общем написал скетч - все работает как и хотелось, но еще хочется прикрутить к ардуинке кнопку - нажал - программа запустилась циклично, нажал повторно - программа дошла до конца и цикл завершился. Может кто поможет? Вот программка:
int in1 = 5; // Реле подачи воздуха (цифровой 5 пин)
int in2 = 6; // Реле работы двигателя шнека (цифровой 6 пин)
void setup()
{
pinMode(in1, OUTPUT); // Установим вывод 5 как выход
pinMode(in2, OUTPUT); // Установим вывод 6 как выход
}
void loop()
{
delay(4000); // Задержка перед началом работы
digitalWrite(in1, HIGH); // Включаем реле подачи воздуха пресс формы
delay(3000); // Пауза 3 сек
digitalWrite(in2, HIGH); // Включаем реле
delay(5000); // Задержка работы двигателя шнека
digitalWrite(in2, LOW); // Выключаем двигатель шнека
delay(5000); // Пауза 5 сек
digitalWrite(in1, LOW); // Выключаем реле подачи воздуха пресс формы
delay(3000); // Пауза перед повторным циклом
}
и хотелось бы прикрутить светодиды для индикации - включили- засветился светодиод, выключили - засветился второй светодиод, а первый потух.
pred161, самая большая проблема в том что у вас даже отстутсует база для поминамия как правильно.
к сожалению - да(( Могу только готовые проекты повторять(((( но вот загорелся сам сделать.. но увы тяму не хватает((( проект разовый.. но интерес огромный..
Поставьте кнопку с фиксацией и подсветкой. В конце лупа проверяйте её состояние: замкнута - тормозим и ждём, пока разокнётся;, разомкнута - заходим на новый круг.
Вы чутка не поняли - кнопку нажали - запустился непрерывный цикл. Нажали повторно - программа дошла до конца и прерывает работу цикла. как то так..
ЕвгенийП доходчиво расписал http://arduino.ru/forum/programmirovanie/7-i-zonnoe-osveshchenievklvykl-s-raznykh-vyklyuchatelei#comment-404598
Если переходы между состояниями конечного автомата только по времени, то можно еще проще.
Тогда в начале лупа проверку состояния кнопки с фиксацией: нажата - проходим дальше и "включаем/выключаем" пины, не нажата - не проходим и ничего не делаем.
такая реализация подходит замечательно)) вот только как это программно реализовать.. по поводу написания такого - опилки в голове (пока что... думаю дальше разберусь.)
http://arduino.ru/tutorials/button
Можно вывалиться из loop() через if(проверка_на_разомкнутую_кнопку) return; или же сделать бесконечный цикл while(проверка_на_разомкнутую_кнопку);
Можно вывалиться из loop() через if(проверка_на_разомкнутую_кнопку) return; или же сделать бесконечный цикл while(проверка_на_разомкнутую_кнопку);
Как реализовать while ? не могли бы Вы черкануть эту строку кода и куда её вставить?
Изучите цифровой автомат. А потом уже решайте свою задачу.
ПС: #258
Я не могу указать куда её вставить, потому как в Вашем коде нет номеров строк. Это следствие того, что Вы не удосужились, как новичок, посетить "Песочницу" и ознакомиться с правилами форума, в которых рассказано, как вставить программный код в пост правильно.
извиняюсь...
Вместо строк 15 и 16:
На месте вопросительных знаков то состояние (HIGH или LOW), которое соответствует разомкнутой кнопке.
Залил скетч - отрабатывает как надо ! за что Вам Огромное спасибо ! Да и всем спсасибо кто откликнулся в теме ! Приятно когда на форуме присутствуют люди - которые *реально* помогают новичкам , а то многие - *Иди изучай* !! канечно согласен что изучать нужно, но такая помощь необходима некоторым ! я вот сейчас доделаю всё в железе - и сяду плотно изучать ардуино ! Еще раз Спасибо !!
кнопку - нажал - программа запустилась циклично, нажал повторно - программа дошла до конца и цикл завершился. Может кто поможет? Вот программка:
ДА поймать повторное нажатие кнопки с таким количеством ДЕЛАЙ, это надо постараться. Попробуйте так может будет удобней