Arduino RGB LED проблемы - PullRequest
       5

Arduino RGB LED проблемы

9 голосов
/ 05 ноября 2011

Только что получил Arduino, и у меня возникают проблемы с освещением.

Я полагаю, что я использую общий анодный светодиод, поэтому у меня есть три цветных контакта, проходящих через резистор 270 Ом для10, 11 и 12 на Arduino.Последний подключен непосредственно к VSS.

Примерно так: http://www.instructables.com/id/RGB-LED-Tutorial-using-an-Arduino-RGBL/step2/Testing/

Теперь он работает противоположно тому, что я предсказал.Когда я пишу analogWrite( red, 0 ), светодиод горит красным, а 255 полностью его выключает.

Теперь настройка значения от 0 до 254 практически не регулирует яркость.255 полностью выключается после того, как мигает в течение секунды.

Кто-нибудь может объяснить, что именно происходит?

Ответы [ 3 ]

9 голосов
/ 11 ноября 2011

Ваш светодиод является обычным анодом, поэтому он работает в противоположность обычному катоду.Попробуйте это:

int PWM_value = xxx;
analogWrite(red, 255 - PWM_value);
3 голосов
/ 11 ноября 2011

Как указывает AH, контакт 12 не является выводом ШИМ .Попробуйте изменить код, чтобы использовать выводы 9,10,11 вместо 10,11,12 и дать ему еще один шанс.

Вот модифицированная версия образца документации, чтобы проиллюстрировать идею:

int rPin = 9;     
int gPin = 10;     
int bPin = 11;     
int analogPin = 0;   // potentiometer connected to analog pin 0
int val = 0;         // variable to store the read value

void setup()
{
  pinMode(rPin, OUTPUT);   // sets the pin as output
  pinMode(gPin, OUTPUT);   // sets the pin as output
  pinMode(bPin, OUTPUT);   // sets the pin as output
}

void loop()
{
  val = analogRead(analogPin);   // read the input pin
  analogWrite(rPin, val / 4);  // analogRead values go from 0 to 1023, analogWrite values from 0 to 255
  analogWrite(gPin, val / 4);  // analogRead values go from 0 to 1023, analogWrite values from 0 to 255
  analogWrite(bPin, val / 4);  // analogRead values go from 0 to 1023, analogWrite values from 0 to 255
}

Обратите внимание, что для изменения значений светодиодов необходим датчик, подключенный к аналоговому выводу 0.

1 голос
/ 08 января 2014
[http://arduino.cc/en/Reference/analogWrite][1]

Здесь вы ничего не меняли. Просто обновление ШИМ-выводов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...