помогите новечку
- Войдите на сайт для отправки комментариев
Втр, 15/10/2013 - 10:37
Всем доброе время суток.
прошу о помощи для создания такой функции:
нажимаю на S1 не отпуская, через одну секунду загорается LED1 через две секунды загорается LED2 на одну секунду а потом выключается через пол секунды загорается LED3
отпуская S1 выключается LED3 LED1 остается включенным,
нажимаю S2 и отпускаю через 5 секунд выключается LED1.
как можно сделать без delay?
Всем огромное спасибо спасибо за ранее.
http://arduino.ru/tutorials/BlinkWithoutDelay
Помогите пожалуйста, пробую но ничего не получается
Мы Ваше "пробую" не видим, скетч хотя бы выложите. Было бы неплохо еще знать какая Ардуина используется, хотя бы для статистики.
Слово новИчок пишется через И, а не через Е
http://arduino.ru/forum/programmirovanie/rabota-s-knopkami-v-pomoshch-novichku
здесь показано как правильно подключать кнопку.
Извиняюсь за ошибку, просто писал с телефона.
у меня Arduino UNO R3, на данный момент проблема состоит в том что при удержание S1, LED2 бесконечно мигает
Давайте посмотрим как работает скетч, если нажата только S1:
1. 21-30. Постоянно увеличивается счетчик.
2. 31-40. Через 1,5с включится LED1. Затем, через 0.5с включится LED2, а через 1с LED2 погаснет. Еще через 300 мс включится LED3 и больше никогда не погаснет.
3. Поскольку S1 == HIGH, а S2 == LOW, строки 41-59 можно игнорировать.
Всё работает именно так, как запрограммировано, т.е. при нажатой S1 LED1 & LED3 постоянно горят, а LED2 мигает.
Просьба прежде чем вставлять код, хотя бы его отформатировать (Ctrl-T в ArduinoIDE), это очень поможет сделать исходник более читабельным.
По поводу "без delay", нужно нарисовать диаграмму работы, накоторой отметить время нажатия кнопки и зажигания каждого светодиода. После этого рассчитать паузы между событиями (зажиганием и гашением светодиодов). Зная точку старта (у Вас уже есть начало, Вы сохранили в это время millis(). Дальше просто. При нажатии кнопки, сохраняем время нажатия и устанавливаем флажок того, что кнопка нажата, далее в цикле, если флажок установлен (т.е. кнопка нажата), отмеряя разницу между моментом нажатия и текущим millis() зажагем или гасим нужный светодиод. Попробуйте - это может реально помочь. Потому что это визуально позволяет понять, когда и что происходит.
ПС Я скетч грузил в свой Леонардо и пробовал, потому не голословно говорю.
Кстати, пин 1 лучше не использовать (точнее 0 и 1), переключитесь на другой, например, на 4. Во всяком случае пока не используйте.
...
недавно слышал байку: Девушка-отличница защищает диплом. На доске висит принципиальная схема. Всё успешно и ей поставят отл. Один из экзаменаторов задаёт последний вопрос: "Что это такое? (показавает на индуктивноть)". - "Пружинка" - таков был ответ.
...
Ребята ! посмотрите правильно ли написано ? - спрашиваю по тому , что "Temp" - это температура , которая может быть и со знаком -
и так как от "0"C и ниже программе надо выполнить одно и тоже действие то условия if(XXXXXX < 0) не последовало и я написал вот так в сторке 2
но не имея опыта немного сомневаюсь правельно ли я указал все в коде ?
Еще переживал за то , когда температура будет -20 при пропорции заданной в стр 3 какое бы число вернулось ( 70 000 ? ) и переменная unsigned int была бы не достаточна по объему , и целесообразнее было бы использовать unsigned long ?