Я смотрел на мой Arduino Uno , и я заметил , что символ с помощью цифровых штырей 11
, 10
, 9
, 6
, 5
, и 3
. Что это значит? Это влияет на то, как это работает? Могу ли я не использовать эти контакты в определенных ситуациях?
arduino
pins
pwm
digital-logic
Анонимный пингвин
источник
источник
Ответы:
Расслабьтесь. Не беспокойся Эти пины называются
PWM
и такие же, как и другие, за исключением того, что у них есть «дополнительный бонус».Некоторые использования с сайта Arduino :
Как это работает:
Контакты PWM управляются встроенными таймерами, которые автоматически переключают контакты с частотой около 490 Гц. «Широтно-импульсная модуляция» (ШИМ) - это то, как долго штырь остается включенным или выключенным в течение одного цикла этой частоты. Это может уменьшить яркость светодиода, создав иллюзию, что он на половине яркости, как и раньше, где он действительно очень быстро мигает.
Когда рабочий цикл составляет 25%, он используется в четвертый раз. Если вы используете светодиод, он будет выглядеть примерно на 1/4 ярким [дать или взять]. (Примечание: так как некоторые люди отметили, что это не по- настоящему пропорциональная , но давайте оставим это так для простоты EX:. 25% не всегда 1 / четвёртую яркость.)
(Если вы действительно разбираетесь в электричестве, вы можете добавить конденсатор, чтобы сделать его также аналоговым выходом.)
Как использовать эти выводы для вывода:
Во-первых, вам нужно определить вывод как выходной. Затем вы используете,
analogWrite(ledPin, 128);
чтобы запустить его. ЭтоledPin
вывод ШИМ, который вы хотите запустить ШИМ и128
должен быть заменен числом между0
и255
;0
:0% duty cycle
(Поворачивает штифт полностью выключено) и255
:100% duty cycle
. (полностью поворачивает штифт)Источник: http://www.arduino-tutorials.com/arduino-pwm/
Почему я не могу просто быстро включить и выключить свет в моем коде ?:
Технически, однако, вы можете столкнуться с некоторыми проблемами:
Это не будет иметь большого значения, если единственная цель Arduino - генерировать сигналы ШИМ. Однако, если вы поместите какие-либо задержки более 50 мс в основной цикл, это испортит синхронизацию. При программном подходе вы хотели бы исключить любые функции «задержки», так как Arduino работает только в одном потоке (он может делать только одну вещь за один раз). Если вы знаете, что делаете, это не будет иметь большого значения для затухания света, но если у вас есть дополнительный вывод с ШИМ, вы просто теряете время с программным подходом.
Как уже отмечали другие:
Вам все еще нужен резистор для ваших цепей, чтобы ограничить ток и напряжение. Вы не можете пропустить это.
источник
Распространенное заблуждение относительно выводов ШИМ заключается в том, что при использовании ШИМ нет необходимости использовать токоограничивающие резисторы (например, со светодиодами).
Это неправда. Контакты PWM следует рассматривать как цифровые контакты, которые включаются и выключаются автоматически. Это означает, что они получают то же ВЫСОКОЕ напряжение, что и любой другой контакт.
При использовании светодиодов с ШИМ, вы все равно должны использовать токоограничивающие резисторы. При использовании двигателей с ШИМ, вы должны (почти всегда) использовать транзистор.
источник