Можно ли использовать эту команду "AnalogWrite(pin,128);" чтобы питать светодиод не используя резисторы?
максимальный ток для светодиода - 20 мА, порт выдает 47 мА. Светодиод сгорает, образуя на месте кристалла перемычку, отчего сгорает уже порт (превышение допустимого тока). AnalogWrite(pin,128); выдает в порт те же 47 мА, но с чередованием 0-47-0-47-0-47, но все равно это 47 мА, что для светодиода много.
С потолка какая-то цифра. Абсолютный максимум на пин - 40мА, на порт - 150. Емкость светодиода забыли.
Это смотря какой светодиод. PWM регулирует не ток и не напряжение, а среднюю мощность. Прибор и источник должный выдерживать импульсные нагрузки которые создает PWM, а среднюю мощность можно программно устанавливать.
При характерных для ШИМ ардуины частотах емкостью p-n перехода диода с рабочим током 20 мА можно пренебречь. Можно ей пренебречь и при на два порядка больших частотах. Так что не "забыли", а совершенно правильно не учли. Одно не противоречит другому, если указан производителем 40 мА, то в реальности пин может дать и больше, так что у автора обруганного Вами поста вполне могло быть 47 мА, ну и по сути он прав.