Где ошибка в коде ардуино?
Почему то она сразу даёт сигнал на 10 и 11 пин, даже когда выключатель в нейтрали, прозвонил всё, переключатель верно поставил. Использую для управления реле
12345678910111213141516171819202122232425262728293031323334
int switchPin = 5; // первый пин, к которому подключен переключатель
int switch2Pin = 6; // второй пин, к которому подключен переключатель
int relay1Pin = 10; // пин, к которому подключено первое реле
int relay2Pin = 11; // пин, к которому подключено второе реле
void setup() {
pinMode(switchPin, INPUT); // устанавливаем первый пин с переключателем на вход
pinMode(switch2Pin, INPUT); // устанавливаем второй пин с переключателем на вход
pinMode(relay1Pin, OUTPUT); // устанавливаем пин первого реле на выход
pinMode(relay2Pin, OUTPUT); // устанавливаем пин второго реле на выход
}
void loop() {
int switchState = digitalRead(switchPin); // считываем состояние первого пина с переключателем
int switch2State = digitalRead(switch2Pin); // считываем состояние второго пина с переключателем
if (switchState == HIGH) { // проверяем, включен ли переключатель
digitalWrite(relay1Pin, LOW); // выключаем первое реле
digitalWrite(relay2Pin, LOW); // выключаем второе реле
}
else if (switch2State == HIGH) { // если переключатель в положении открыто
digitalWrite(relay1Pin, HIGH); // включаем первое реле
digitalWrite(relay2Pin, LOW); // выключаем второе реле
}
else if (switchState == LOW && switch2State == LOW) { // если переключатель в положении закрыто
digitalWrite(relay1Pin, LOW); // выключаем первое реле
digitalWrite(relay2Pin, HIGH); // включаем второе реле
}
else { // если переключатель в неопределенном состоянии
digitalWrite(relay1Pin, LOW); // выключаем оба реле
digitalWrite(relay2Pin, LOW);
}
}
По дате
По рейтингу
Если вы используете переключатель без подтяжки, то вам необходимо использовать встроенные подтягивающие резисторы на пинах переключателя. Вы можете сделать это, заменив pinMode(switchPin, INPUT) и pinMode(switch2Pin, INPUT) на pinMode(switchPin, INPUT_PULLUP) и pinMode(switch2Pin, INPUT_PULLUP) соответственно.
По умолчанию на выходе "1", вот у тебя релюшки и щёлкают, как только ты порт на выход конфигурируешь.
digitalWrite(relay2Pin, LOW); здесь
Можешь исправить пожалуйста?
А сколько стоит ардуино
на 73 градуса по фаренгейту
Видео по теме