Компонент с управляемым сопротивлением от Arduino?

Я новичок в Arduino и построении схем, и мне было интересно, есть ли тип компонента или какой-то другой способ выполнить следующую задачу:

Я хочу контролировать сопротивление цепи с моего компьютера, подключенного к моему Arduino, предположительно используя выходной аналоговый вывод.

По сути, у меня есть светодиод, яркостью которого я хочу управлять с компьютера. Я хочу иметь возможность контролировать сопротивление цепи, чтобы ограничить электричество, идущее на светодиод, и я хочу быть в состоянии сделать это с моего компьютера (не физически, с помощью потенциометра) (если только сопротивление потенциометра также не может управляться с помощью вывода?).

Как я могу это сделать?

, 👍1

Обсуждение

Возможно, не по теме. Лучше подходит для электротехники SE?, @MichaelT

вы можете приклеить LDR к светодиоду, чтобы сделать грубый digipot. Я бы понизил пропускание ШИМ и управлял им на как можно более высокой частоте, чтобы обеспечить наименьший возможный резистор, так как, хотя LDRS работают медленно, некоторая пульсация (вызванная ШИМ) будет просачиваться., @dandavis


1 ответ


1

Самый простой способ управлять светодиодом с переменной яркостью - это использовать один из выходных выводов широтно - импульсной модуляции (ШИМ) на Arduino.

ШИМ - вывод принимает входное значение от 0 до 255 (или это 0/1023? Я не помню.) и преобразует его в соотношение времени включения и выключения. При самом высоком значении выходной вывод находится во включенном состоянии в 100% случаев. На полпути выходной вывод в 50% случаев ВЫСОКИЙ, а в 50% - НИЗКИЙ.

Наши глаза усредняют вспышки и видят переменную яркость. Это работает очень хорошо.

Если вам абсолютно необходимо иметь переменное сопротивление, управляемое цифровым значением, существуют устройства, известные как цифровые потенциометры. Это переменные резисторы, управляемые цифровыми входами. Для Arduino вы должны подумать о потенциометре I2C или SPI, который управляется командами последовательного порта. Вы говорите ему, какое сопротивление вы хотите, и он настраивает себя на это сопротивление.

Как указывает CrossRoads в своем комментарии ниже, вам все еще нужен токоограничивающий резистор для привода светодиода от логического вывода, чтобы защитить как светодиод, так и выходной драйвер на Arduino. Вы хотите ограничить ток максимальным током для вашего светодиода, а затем использовать ШИМ для снижения яркости от абсолютного максимума, установленного токоограничивающим резистором. CrossRoads объясняет, как рассчитать значение резистора.

,

Я попробую все это, спасибо за помощь!, @Aidan

См. Этот пример: https://www.arduino.cc/en/tutorial/fading, @Michel Keijzers

Круто, спасибо тебе за это, @Aidan

ШИМ - вывод принимает входное значение от 0 до 255. (analogRead() возвращает 0-1023). Не забудьте использовать резистор ограничения тока, чтобы не повредить вывод ввода-вывода или светодиод. (5V - Vf)/.02A = резистор. Скажем, светодиод имеет 2,5 В поперек, когда он включен (измерьте его или прочитайте его технический паспорт), затем (5 В - 2,5 В)/20 мА = 125 Ом. 20мА с текущими светодиодами будут действительно яркими. 250 Ом или 270 Ом могут быть достаточно яркими для максимальной яркости., @CrossRoads