Нужен ли подтягивающий/понижающий резистор для цепи светодиода кнопки?
Читая о том, как сделать схему, которая включает светодиод при удерживании кнопки, я постоянно встречаю людей, говорящих, что необходимо использовать подтягивающий или понижающий резистор, чтобы избежать мерцания светодиода, наблюдаемого с помощью плавающий штифт. Также реализуется код, в котором состояние контакта считывается и отслеживается, когда кнопка нажата или поднята влево. Чего я не понимаю, так это зачем это все нужно. Конечно, это не так, учитывая, что схема ниже позволяет нажимать кнопку, при этом светодиод включается/выключается в зависимости от состояния кнопки.
Я сделал эту схему перед тем, как нарисовать ее в Интернете, и она работает точно так, как задумано. Нет необходимости в подтягивающем/понижающем резисторе или каком-либо коде. Должно быть, я что-то упускаю, может кто-нибудь объяснить? Он также отлично работает с зуммером.
Большое спасибо.
@4u53r, 👍1
Обсуждение3 ответа
Лучший ответ:
Сделанная вами схема использует только Arduino в качестве источника питания 5 В. Вы не используете контакты GPIO для считывания состояния кнопки или для управления светодиодом с помощью выходного контакта. Вы только что создали простую схему с кнопкой и светодиодом, включенными последовательно с источником питания.
Часто для скетча со светодиодом, управляющим кнопкой, у вас будет кнопка, подключенная между GND и выводом ввода-вывода, определяемым как INPUT_PULLUP
, что означает, что Arduino сможет считывать состояние контакта как HIGH
(5 В) или LOW
(0 В). Часть PULLUP
указывает, что, когда кнопка не замыкает цепь между GND и контактом, подается слабое напряжение, чтобы поднять его до 5 В. Таким образом, он не «плавает» при неопределенном напряжении, а активно доводится до 5 В. При нажатии кнопки входной контакт замыкается на землю.
Подтягивающий резистор переводит неактивный вывод в состояние логики HIGH
. Подтягивающий резистор переводит неактивный вывод в состояние LOW
.
В случае подтягивающего резистора чтение логического сигнала LOW
означает, что кнопка нажата, что является своего рода обратным действием вашей схемы, поэтому в вашем коде вы должны выглядеть для LOW
, чтобы включить светодиод.
Последовательный резистор необходим для предотвращения избыточного тока через светодиод или через контакт ввода-вывода. От 270 Ом до 1 кОм работает хорошо.
Внутреннее напряжение процессора Arduino составляет 30–50 кОм. Внешний резистор представляет собой резистор ограничения тока. (5 В – светодиод Vf)/резистор = ток. (5 В–2,2 В)/270 Ом = 10,3 мА. Vf светодиода будет варьироваться в зависимости от цвета, например, от 2,2 В для красного до 3,5 В для синего или белого цвета. Введите значения, если они известны, или используйте резистор от 270 до 1 кОм и измерьте напряжение на светодиоде, затем отрегулируйте резистор по мере необходимости для получения желаемой яркости (больше тока = ярче).
Подтяжка 270 Ом? Не слишком ли это? В результате при нажатии кнопки ток составит 18,5 мА, что немного расточительно., @Gerben
См. дополнительное объяснение выше., @CrossRoads
Нет, это не так.
Следует помнить, что вы не подключаете подтягивающий (или подтягивающий) резистор к кнопке — вы фактически подключаете его к входу.
>А поскольку вы не используете вход, резистор поставить некуда.
Подтягивающий или понижающий резистор используется для установки входа в заранее определенное состояние. Затем кнопка или переключатель используется для отмены этого заранее определенного состояния. С помощью вашей схемы вы просто управляете потоком электронов по простой петле: от источника питания, через резистор, через светодиод и обратно к источнику питания. Кнопка просто замыкает эту цепь. Нет никаких «входных данных», которые можно было бы перевести в заранее определенное состояние. Следовательно, нет подтягивающего или понижающего резистора.
- Остановить мигание светодиодов
- Интеграция 2 кнопок для включения и выключения светодиода.
- Код Arduino для управления 4 светодиодами с 4 кнопок
- Светодиод с кнопочным управлением Arduino со сборкой AVR
- Как повторить другое действие внутри цикла?
- Изменение состояния светодиода с помощью кнопки приводит к нестабильному результату
- Кнопка переключения переключает между операторами обращения с разблокированием кнопки
- ШИМ-управление, как остановить мерцание светодиода?
Эта проблема включения светодиода при нажатии кнопки — хорошее первое упражнение для начала изучения Arduino, поскольку оно позволяет вам научиться читать входной контакт, включать выходной контакт и создавать светодиодную подсветку. . То, что вы делаете, — это отход от всей части Arduino. **В этом нет ничего плохого**, как вы сказали, все работает так, как вы хотите. Но вы ничего не узнали о входах и выходах., @Gerben
ваша ардуино не делает ничего, кроме подачи питания на светодиод..... вы можете заменить ардуино батарейкой, @jsotola