Помогите, я хочу постоянно включать реле, пока не будет обнаружена разница, но вместо этого срабатывает только одно
Помогите, я хочу использовать Arduino для управления реле для электричества, я получаю данные от датчика, и при обнаружении значения оно должно быть постоянно включено, пока снова не сработает другое обнаружение, я могу заставить программу работать, но срабатывает только один раз вместо этого, когда он должен быть постоянно включен, вот мой код:
int Pinout = 13;
void setup() {
Serial.begin(9600);
pinMode(Pinout, OUTPUT);
}
void loop() {
int val = analogRead(A0);
if (val <= 500) {
digitalWrite(Pinout, LOW);
}
else {
digitalWrite(Pinout, HIGH);
}
}
реле, которое я использую, представляет собой китайский релейный модуль с 3 контактами, VCC и GND, подключенный к внешнему источнику питания, и входной контакт к 13 цифровым контактам Arduino, и реле, которое, как я полагаю, является активным НИЗКИМ, и для аналогового чтения я использую датчик влажности
@Reza Jawas, 👍1
Обсуждение1 ответ
Насколько я понимаю, реле будет оставаться включенным, когда val
меньше или равно 500, и оставаться выключенным, когда val
выше 500.
Однако может возникнуть проблема, если val
продолжает быстро двигаться около 500; он будет включаться и выключаться довольно быстро.
Чтобы предотвратить это, вы должны сделать два «триггера», например включить его, когда значение <= 480, и выключить, когда значение >= 520. Когда оно находится между 480 и 520, оно не изменится. . Это вызовет менее быстрые изменения реле. Конечно, если начальное значение уже находится между 480 и 520, вам придется сделать выбор самостоятельно.
- Правильная проводка для релейного модуля?
- Реле с активным низким уровнем и контакты ESP8266 GPIO
- Контакт 13 запускает реле при включении питания... Как отключить?
- В каком состоянии контакты Arduino, когда Arduino отключен от питания?
- Есть ли какой-нибудь способ загрузить скетч с ардуино?
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- NodeMCU - Vin контакт как выход 5V?
- Использовать все контакты как цифровые входы/выходы
вы забыли задать вопрос .. вы также забыли сообщить нам, если у вас возникла какая-то проблема, @jsotola
@jstola: «Я могу заставить программу работать, но * срабатывает только один раз, когда она должна быть постоянно включена *» (выделено мной), @JRobert