Вот библиотека delaySeconds Я в arduino ide видел delay и delayMicroseconds, но не видел delaySeconds! Поэтому я создал эту библиотеку с функцией! Код: Код (C++): void delaySeconds(float i) { delay(i * 1000); } Пример: Код (C++): #include <delaySeconds.h> void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delaySeconds(1.0); digitalWrite(13, LOW); delaySeconds(1.0); }
Главное не останавливаться на достигнутом! Сделать сутки, недели, месяцы и годы. На годах, я думаю, можно уже тормознуть. Причем чтобы все можно было юзать дробно, например delayYears(1,5); и спокойно ждем полтора года. Удобно ведь! Пусть попробуют без библиотеки в мс полтора года задать! Ах да, забыл сказать. Функция библиотекой, сожалению, не является. Напишите настоящую библиотеку, раз уж взялись.
А это вообще для меня откровение просто - действительно практически никому неизвестная информация.... https://ru.wikipedia.org/wiki/Приставки_СИ
Очень рассчитываю на то, что Ваша новая библиотека "flash" оператор delay использовать не будет и Ардуино сможет во время мигания светодиодом выполнять другие действия....
Могу!!! Код (C++): void flash(int led, int delayPeriod) { digitalWrite(led, HIGH); if(millis() > delayPeriod) { digitalWrite(led, LOW); if(millis() > delayPeriod) digitalWrite(led, HIGH); } }
А я думал так: Код (C++): void flash(int led, int delayPeriod) { digitalWrite(led, HIGH); delay(delayPeriod); digitalWrite(led, LOW); delay(delayPeriod); }
А вот и библиотека blink!: Код (C++): void blink(int led, int delay1, int delay2) { if(millis() > delay1) { digitalWrite(led, HIGH); if(millis() > delay2) digitalWrite(led, LOW); } } Или Код (C++): void blink(int led, int delay1, int delay2) { digitalWrite(led, HIGH); delay(delay1); digitalWrite(led, LOW); delay(delay2); }
а я еще короче умею "библиотеки писать" Код (C++): int count=0; void setup() { } void loop() { blink (3, 250); } void blink(int led, int pause){ digitalWrite(led, count ? HIGH : LOW); count=!count; delay(pause); }