@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кОм. Всем спасибо.
  • Вопрос задан
  • 173 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
CTRL+ Москва
от 250 000 до 320 000 ₽
CTRL+ Москва
от 200 000 до 300 000 ₽
CTRL+ Белград
от 250 000 до 320 000 ₽
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час