Код с управлением реле, нужна помощь.

Тема в разделе "Arduino & Shields", создана пользователем kkkmp, 16 фев 2020.

Метки:
  1. kkkmp

    kkkmp Нуб

    Имею код:
    Код (C++):
    const int sensorD0 = 5;  // Пин Arduino к которому подключен пин D0 датчика
    void setup () // Настройки
    {
    Serial.begin (9600); // Инициализация SerialPort
    pinMode (8,OUTPUT);
    digitalWrite (8,LOW);
    }
    void loop () // Основной цикл программы
    {
    boolean sensorValue = digitalRead(sensorD0); // получаем сигнал от датчика
    if (sensorValue == true) // Если пришел сигнал высокого уровня
    Serial.println("Звук получен!"); // Выводим цифровое значение на терминал
    if ( sensorValue == true ) {
      digitalWrite (8,HIGH);
    }
    sensorValue == false;
    if ( sensorValue == true ) {
      digitalWrite (8,LOW);
    }
    }
    Суть такова: датчик звука слышит хлопок, подает сигнал, ардуинка его читает и подает другой сигнал на реле, которая замыкает контакты и лампочка загорается. Вроде все просто, но я не могу понять как мне сделать так, чтобы я хлопнул один раз, датчик звука уловил это и подал сигнал на реле и оно замкнулось, а потом через условно 5-10 минут я еще раз хлопнул в ладоши и реле разомкнулось. Помогите пожалуйста, заранее благодарен!
     
  2. NikitOS

    NikitOS Король шутов Администратор

  3. parovoZZ

    parovoZZ Гуру

    Введи флаг-признак включения реле. Ну или можно читать состояние пина, который управляет реле.
     
    kkkmp нравится это.
  4. kkkmp

    kkkmp Нуб

  5. kkkmp

    kkkmp Нуб

    я новичок так что не совсем понимаю что имеется в виду, если не трудно можно кодом прописать чтобы я понял? :)
     
  6. NikitOS

    NikitOS Король шутов Администратор

    В код смотреть надо, а не в схему.
    По ссылке.
     
    kkkmp нравится это.
  7. parovoZZ

    parovoZZ Гуру

    Код (C++):
    uint8_t    rele = 0;

    if (rele)
    {
         //  Здесь код, который необходимо выполнить когда реле включено
       rele = 0;
    }
       else
              {
               //  Здесь код, который необходимо выполнить, когда реле выключено
               rele  = 1;
               }
     
    kkkmp нравится это.
  8. kkkmp

    kkkmp Нуб

    все понял, спасибо.