Библиотека delaySeconds

Тема в разделе "Глядите, что я сделал", создана пользователем Svyatslav, 28 янв 2018.

  1. Svyatslav

    Svyatslav Начинающий

    Вот библиотека 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);
    }
     
    Последнее редактирование: 31 янв 2018
    botArduinoUNO и mobistrike нравится это.
  2. Securbond

    Securbond Гуру

    Два вопроса ... почему float??? И почему не через millis() ?????
     
  3. ostrov

    ostrov Гуру

    У меня еще вопрос: а нафига?
     
    IvanUA, sdfg, CYITEP_BAC9I и ещё 1-му нравится это.
  4. sdfg

    sdfg Гик

    Прикольный розыгрыш
     
    NikitOS, botArduinoUNO и Svyatslav нравится это.
  5. sdfg

    sdfg Гик

    Потому что абсурд
     
    NikitOS, Securbond и Airbus нравится это.
  6. ostrov

    ostrov Гуру

    Главное не останавливаться на достигнутом! Сделать сутки, недели, месяцы и годы. На годах, я думаю, можно уже тормознуть. Причем чтобы все можно было юзать дробно, например delayYears(1,5); и спокойно ждем полтора года. Удобно ведь! Пусть попробуют без библиотеки в мс полтора года задать!

    Ах да, забыл сказать. Функция библиотекой, сожалению, не является. Напишите настоящую библиотеку, раз уж взялись.
     
    Последнее редактирование: 28 янв 2018
    Airbus нравится это.
  7. issaom

    issaom Гуру

    ВАУ! Класс! - а когда будет библиотека для мигания встроенным светодиодом?
     
    NikitOS, Леонид_19.03.2008, sdfg и 2 другим нравится это.
  8. issaom

    issaom Гуру

    А это вообще для меня откровение просто - действительно практически никому неизвестная информация....
    https://ru.wikipedia.org/wiki/Приставки_СИ
     
    sdfg нравится это.
  9. ostrov

    ostrov Гуру

    Приставка "мили-" запатентованный бренд автора библиотеки!
     
    sdfg и issaom нравится это.
  10. на этом форуме, иногда полезно в профеле смотреть возраст.
     
    sdfg нравится это.
  11. ostrov

    ostrov Гуру

    Да смотрели. И какие выводы? Вроде бы и так предельно вежливы все.
     
    Последнее редактирование: 29 янв 2018
    sdfg нравится это.
  12. DIYMan

    DIYMan Guest

    Нет, ну если челу реально 9 лет - то я хочу сказать его родителям "спасибо", как минимум.
     
    sdfg нравится это.
  13. Svyatslav

    Svyatslav Начинающий

    Хорошо! Я напишу эту библиотеку! Будет называться flash!
     
    botArduinoUNO нравится это.
  14. ostrov

    ostrov Гуру

    А если программировать поезда, то вообще мечта!
     
    botArduinoUNO и Securbond нравится это.
  15. issaom

    issaom Гуру

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

    Svyatslav Начинающий

    Могу!!!
    Код (C++):
    void flash(int led, int delayPeriod)
    {
      digitalWrite(led, HIGH);
      if(millis() > delayPeriod)
      {
        digitalWrite(led, LOW);
        if(millis() > delayPeriod)
          digitalWrite(led, HIGH);
       }
    }
     
    Последнее редактирование: 3 май 2018
    botArduinoUNO нравится это.
  17. Svyatslav

    Svyatslav Начинающий

    А я думал так:
    Код (C++):
    void flash(int led, int delayPeriod)
    {
      digitalWrite(led, HIGH);
      delay(delayPeriod);
      digitalWrite(led, LOW);
      delay(delayPeriod);
    }
     
    Последнее редактирование: 3 май 2018
    botArduinoUNO нравится это.
  18. Svyatslav

    Svyatslav Начинающий

    А вот и библиотека 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);
    }
     
    botArduinoUNO нравится это.
  19. ostrov

    ostrov Гуру

    В лучшем случае это можно назвать функциями. Библиотека выглядит иначе, даже такая примитивная.
     
  20. atompost

    atompost Гик

    а я еще короче умею "библиотеки писать" :D:eek:
    Код (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);
    }