@Homemade

Почему светодиод тускнеет вместо выключения?

Подключил ртутный датчик наклона к ардуино и написал код чтобы при наклоне загорался встроенный светодиод. Но потом захотел сделать так, чтобы было наоборот (чтоб светодиод выключался при наклоне). В выражении if(val == HIGH) поменял HIGH на LOW, но светодиод не выключается а просто тускнеет.

В чем причина?

Код
int led_pin = 13; // пин, к которому подключен светодиод
int switch_pin = 3; // пин, к которому подключен датчик
int val; // переменная для хранения считанного значения

void setup() {
  pinMode(led_pin, OUTPUT); // настройка пина светодиода как выходного
  pinMode(switch_pin, INPUT); // настройка пина датчика как входного
}

void loop() {
  val = digitalRead(switch_pin); // чтение значения с пина датчика
  if(val == HIGH) { // если с датчика поступает высокий уровень
    digitalWrite(led_pin, HIGH); // включить светодиод
  } else {
    digitalWrite(led_pin, LOW); // выключить светодиод
  }
}


UPD: Дело было в подтягивающем резисторе. Решилось соединением логического пина с землей резистором на 10кОм. Всем спасибо.
  • Вопрос задан
  • 166 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы