Нужен ли подтягивающий/понижающий резистор для цепи светодиода кнопки?

Читая о том, как сделать схему, которая включает светодиод при удерживании кнопки, я постоянно встречаю людей, говорящих, что необходимо использовать подтягивающий или понижающий резистор, чтобы избежать мерцания светодиода, наблюдаемого с помощью плавающий штифт. Также реализуется код, в котором состояние контакта считывается и отслеживается, когда кнопка нажата или поднята влево. Чего я не понимаю, так это зачем это все нужно. Конечно, это не так, учитывая, что схема ниже позволяет нажимать кнопку, при этом светодиод включается/выключается в зависимости от состояния кнопки.

Я сделал эту схему перед тем, как нарисовать ее в Интернете, и она работает точно так, как задумано. Нет необходимости в подтягивающем/понижающем резисторе или каком-либо коде. Должно быть, я что-то упускаю, может кто-нибудь объяснить? Он также отлично работает с зуммером.

Большое спасибо.

, 👍1

Обсуждение

Эта проблема включения светодиода при нажатии кнопки — хорошее первое упражнение для начала изучения Arduino, поскольку оно позволяет вам научиться читать входной контакт, включать выходной контакт и создавать светодиодную подсветку. . То, что вы делаете, — это отход от всей части Arduino. **В этом нет ничего плохого**, как вы сказали, все работает так, как вы хотите. Но вы ничего не узнали о входах и выходах., @Gerben

ваша ардуино не делает ничего, кроме подачи питания на светодиод..... вы можете заменить ардуино батарейкой, @jsotola


3 ответа


Лучший ответ:

6

Сделанная вами схема использует только Arduino в качестве источника питания 5 В. Вы не используете контакты GPIO для считывания состояния кнопки или для управления светодиодом с помощью выходного контакта. Вы только что создали простую схему с кнопкой и светодиодом, включенными последовательно с источником питания.

Часто для скетча со светодиодом, управляющим кнопкой, у вас будет кнопка, подключенная между GND и выводом ввода-вывода, определяемым как INPUT_PULLUP, что означает, что Arduino сможет считывать состояние контакта как HIGH (5 В) или LOW (0 В). Часть PULLUP указывает, что, когда кнопка не замыкает цепь между GND и контактом, подается слабое напряжение, чтобы поднять его до 5 В. Таким образом, он не «плавает» при неопределенном напряжении, а активно доводится до 5 В. При нажатии кнопки входной контакт замыкается на землю.

Подтягивающий резистор переводит неактивный вывод в состояние логики HIGH. Подтягивающий резистор переводит неактивный вывод в состояние LOW.

В случае подтягивающего резистора чтение логического сигнала LOW означает, что кнопка нажата, что является своего рода обратным действием вашей схемы, поэтому в вашем коде вы должны выглядеть для LOW, чтобы включить светодиод.

,

0

Последовательный резистор необходим для предотвращения избыточного тока через светодиод или через контакт ввода-вывода. От 270 Ом до 1 кОм работает хорошо.

schematic

Внутреннее напряжение процессора Arduino составляет 30–50 кОм. Внешний резистор представляет собой резистор ограничения тока. (5 В – светодиод Vf)/резистор = ток. (5 В–2,2 В)/270 Ом = 10,3 мА. Vf светодиода будет варьироваться в зависимости от цвета, например, от 2,2 В для красного до 3,5 В для синего или белого цвета. Введите значения, если они известны, или используйте резистор от 270 до 1 кОм и измерьте напряжение на светодиоде, затем отрегулируйте резистор по мере необходимости для получения желаемой яркости (больше тока = ярче).

,

Подтяжка 270 Ом? Не слишком ли это? В результате при нажатии кнопки ток составит 18,5 мА, что немного расточительно., @Gerben

См. дополнительное объяснение выше., @CrossRoads


2

Нет, это не так.

Следует помнить, что вы не подключаете подтягивающий (или подтягивающий) резистор к кнопке — вы фактически подключаете его к входу.

>

А поскольку вы не используете вход, резистор поставить некуда.

Подтягивающий или понижающий резистор используется для установки входа в заранее определенное состояние. Затем кнопка или переключатель используется для отмены этого заранее определенного состояния. С помощью вашей схемы вы просто управляете потоком электронов по простой петле: от источника питания, через резистор, через светодиод и обратно к источнику питания. Кнопка просто замыкает эту цепь. Нет никаких «входных данных», которые можно было бы перевести в заранее определенное состояние. Следовательно, нет подтягивающего или понижающего резистора.

,