Официальный сайт компании Arduino по адресу arduino.cc
Помогите понять как включать реле
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Ср, 13/03/2019 - 22:25
Здравствуйте, хочу чтоб датчик Ultrasonic включал и выключал реле( ну и отправлял состояние на брокер) только тогда когда на реле высокий уровень напряжения( реле инвертирована и высокий уровень, это выкл).
Вот такой код написал, но мне нужен чтоб он запускался только когда реле переключено на разомкнутое состояние.
float dist_cm = ultrasonic.Ranging(CM);
Serial.print(ultrasonic.Ranging(CM));
Serial.println("cm");
if (dist_cm < lastdist_cm) //якщо відстань менша за вказану (40 см)
{ //то включаємо світло
Status = false;
digitalWrite(RELAY_1, Status);
} else //якщо ні, то виключаємо
{
Status = true;
digitalWrite(RELAY_1, Status);
}
long now1 = millis(); // кожні 3 секунди
if (now1 - lastTop1 > 3000) {
lastTop1 = now1;
client.publish(relays_topic, String(Status).c_str()); // конвертую в рядковий тип і передаю на брокер значення стану реле
}
}
Пока не прочитаете вот эту тему и не вставите код как положено, никто его (код) смотреть не будет (ну, разве что, Вам сильно повезёт)
Извиняюсь, пока неразобрался, что тут и как)
Дайте код целиком. Здесь куча переменных, которые неизвестно как описаны - очень трудно смотреть.
Я только учуть) Потому неругайте за такой плохой код. Суть проблемы в чем. Я с клиента на телефоне выключаю и включаю реле. Мне надо чтоб когда реле выключено работал ультрасоник и включал релюху. Сейчас работает и вкл/выкл с телефона и одновременно ультрасоник. Тоесть я с телефона реле включил, а он как только пройдет цыкл выполнения программы выключаеться(так как работает условие, что если ультрасоник невидит препятствий, то выключает реле).
пароли уберите со скетча
Спасибо, убрал