Друзья, переклинило на простейшей задаче. Помогите, пожалуйста.
- Войдите на сайт для отправки комментариев
Чт, 14/05/2020 - 09:30
С миганием светодиодом с помощью millis() разобрался. Это который тут: http://arduino.ru/tutorials/BlinkWithoutDelay. Вроде, все понятно и просто. Но попытка немного усложнить задачу ввела в ступор (даже не знаю почему голову заклинилонапрочь). Вопрос примитивный, боюсь даже гнева форумчан: надо циклически включать светодиод на 1 секунду и выключать его на 10 секунд. Титаны, пожалуйста, черкните в loop(), как это сделать.
Чорт! Пора Ноотропил пить: скетч-то забыл.
//Mega2590 Асимметричное мигание светодиодом int pin_led=13; /Пин светодиода long time_on=1000; /Время зажженного светодиода long time_off=10000; /Время погасшего светодиода void setup() { pinMode(pin_led, OUTPUT); } void loop() { //Здесь надо циклически на 1 сек включать и на 10 сек выключать светодиод. }тебе надо сделать alive-светодиод? Чтоб убедица, что система не зависла?
тебе надо сделать alive-светодиод? Чтоб убедица, что система не зависла?
Да нет, ребенку игрушку сосед попросил сделать. Мальчишка с аутизмом, ему полезно крутить-вертеть всякие ручки-тумблеры.
ТС в том же скетче помимо переключения светодиода надо менять значение переменной interval ...
ТС в том же скетче помимо переключения светодиода надо менять значение переменной interval ...
Ага,спасибо. Посмотрю.
Мы тут ленивые - ничего не за кого не пишем ...
Командир, спасибо, разобрался. Все действительно просто. Всех благодарю!
Теперь такие темы на дипломах ??? (искренне надеюсь что нет)
ТС в том же скетче помимо переключения светодиода надо менять значение переменной interval ...
Ага,спасибо. Посмотрю.
посмотри лучше это. Интервалы ставятся на лету, на раз два. Там и пример есть alive-светлодиодика.
https://github.com/DetSimen/Arduino_TimerList
посмотри лучше это. Интервалы ставятся на лету, на раз два. Там и пример есть alive-светлодиодика.
https://github.com/DetSimen/Arduino_TimerList
Спасибо, здорово!
Вот, лиарьна, весь твой код
/* Name: Blink.ino Created: 14.05.2020 13:48:04 Author: DtS */ #include <Arduino.h> #include <TimerList.h> extern TTimerList TimerList; THandle hAliveTimer = TimerList.Add(1000, []() { digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN); TimerList.SetNewInterval(digitalRead(LED_BUILTIN) ? 1000 : 10000); }); void setup(){} void loop(){}Дет, фтибе имеет место жить пейсатель. Уж больно складно получаццо утибя из букаф придлаженийа скласть.
Дет, фтибе имеет место жить пейсатель.
Ничо, скоро он из-за этих ваших карантинов с голоду подохнет, с котом вместе. :(
А где переключение LED_BUILTIN на вывод ?. А где начальное состояние выхода ?
А где переключение LED_BUILTIN на вывод ?. А где начальное состояние выхода ?
в неявно вызываемой при старте функции init(). :)
Нет там этого - https://github.com/arduino/ArduinoCore-avr/blob/master/cores/arduino/wiring.c
Точно, он не в init(), он в bootloader-е настраивается, как один из хардварных SPI выводов
А если его (bootloadera) нет ?
Теперь такие темы на дипломах ??? (искренне надеюсь что нет)
Да какие дипломы? Я врач уж 41 год. В ардуине ОЧЕНЬ меньше :). Выше писал, что игрушка для соседского пацана.
Может у пацана и диплом ...
А если его (bootloadera) нет ?
Тогда, приплыли.
Так в чем проблема. Обычный код с миллиc , где после срабатывания Вы меняете следующее время срабатывания.
очень удобно, я так делал длинный шим для управления пидом мощным нагревом.
А делай запрещён?
Тогда, приплыли.
Приплыли и с загрузчиком, ибо светодиод он не настраивает, насколько я знаю.)
Тогда, приплыли.
Приплыли и с загрузчиком, ибо светодиод он не настраивает, насколько я знаю.)
а чо ж он мигает при загрузке?
Есть разные версии загрузчиков, можно при сборке выбрать моргать/не моргать, сколько раз моргать, на каком выводе ...
да блин, по 13 ноге в Uno SPI Clock хреначит, как он может быть на вывод не настроен, хоть с каким загрущиком.
А светлодиод по схеме железно к выводу припаян через резистор на килоом или полтора, вот он и мигаеть при загрузке, тока оооочень быстро.
Причем тут UART загрузчик и SPI ? SPI это когда ISP загрузка ...
может пора стакан накатить - смазка заканчивается ...
Причем тут UART загрузчик и SPI ? SPI это когда ISP загрузка ...
Мда, опять хню несу. Пора накатить.
Optiboot например умеет поморгать при старте - типа "я тута", но после этого он возвращает состояние пина к исходному ...
а чо ж он мигает при загрузке?
вопщем, ТС, меня слушать не надо, допился я до маразма, паду посыплю башку золой.
вопщем, ТС, меня слушать не надо, допился я до маразма, паду посыплю башку золой.
Слушать всегда надо. Другое дело реализация. Ваш вариант только прочитал (не делал его) и даже понял (что удивительно). Но остановился на совете Командира. Все действительно просто и нормально работает.