Вопрос по millis()

Тема в разделе "Arduino & Shields", создана пользователем Mixailovsky, 17 сен 2017.

  1. Mixailovsky

    Mixailovsky Нуб

    В данный момент для меня было удобно сделать так потому что в моем случае реле срабатывает от низкого сигнала,иначе вообще каша получилась бы,так понимаю что правильно было бы сделать через переменную?
     
  2. Tomasina

    Tomasina Сушитель лампочек Модератор

    Нагляднее всего через именованную константу:
    Код (C++):
    #define ON   LOW
    #define OFF  HIGH

    void loop()
    {
      digitalWrite(RELAY1_PIN, ON);
      delay (10000);
      digitalWrite(RELAY1_PIN, OFF);
    }
    И тогда пофиг какое реле - при необходимости просто меняешь два дефа, не трогая остальной код.
     
    DIYMan нравится это.
  3. b707

    b707 Гуру

    ага, почти что так:
    Код (C++):
    #define true false  //увлекательной отладки. ребята
    На самом деле, для именованых констант лучше выбирать более конкретные имена. Не просто "ON" (что по логике опять же синоним HIGH и 1), а , например, RELAY1_ON
     
    Последнее редактирование: 21 сен 2017
    Zander нравится это.
  4. Mixailovsky

    Mixailovsky Нуб

    Спасибо за подробное разъяснения с этим все понятно.Так намного проще.
     
  5. DIYMan

    DIYMan Guest

    Именно так и делаю всегда, чтоб голову не морщить потом ;)
     
  6. rkit

    rkit Гуру

    Нагляднее всего определить класс Relay с методами off и on, и подклассы для каждой конкреной модели. А дефайнами страдают те товарищи, которые не в курсе, что с 85го года языка прогаммирования продвинулись вперед чуть-чуть.
     
  7. DIYMan

    DIYMan Guest

    Ахах, спасибо, поржал. От души, что называется :)
     
  8. ostrov

    ostrov Гуру

    Код (C++):
    #define relayON   digialWrite(relay,HIGH);