2011-11-05 37 views
9

Arduino'yu yeni aldım ve ışıklarla ilgili bazı problemler yaşadım.Arduino RGB LED sorunları

Yaygın bir anot led kullandığımı düşünüyorum, bu yüzden 270 ohm rezistörden arduinoda 10, 11 ve 12'ye giden üç renk pini var. Sonuncusu doğrudan VSS'ye bağlanır. Bu gibi yani

: http://www.instructables.com/id/RGB-LED-Tutorial-using-an-Arduino-RGBL/step2/Testing/

Şimdi, ben tahmin ediyorum ne zıt çalışıyor. analogWrite(red, 0) yazdığımda, led kırmızı yanıyor ve 255 tamamen kapanıyor.

Şimdi, değeri 0-254 arasında ayarlamak kesinlikle parlaklığı kesinlikle ayarlar. Bir saniye yanıp sönünce 255 tamamen kapalıdır.

Tam olarak neler olduğunu açıklayan var mı?

+1

Hm ... Pin 12 benim Arduino üzerinde PWM pimi değildir. Yani 'analogWrite' bu pin için beklendiği gibi çalışmayacaktır. –

cevap

9

LED'iniz yaygın bir anottur, bu nedenle ortak katodun tam tersi çalışır. Bu deneyin: A.H. işaret

int PWM_value = xxx; 
analogWrite(red, 255 - PWM_value); 
3

AS, Pim 12 PWM pin değildir. Kodunuzu 10,11,12 yerine 9,10,11 iğnelerini kullanarak değiştirmeye çalışın ve başka bir çekim yapın. Eğer led değerlerini değiştirmek için analog pin 0 bağladım bir sensör ihtiyaç

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 
} 

Not:

İşte fikir göstermek için dokümantasyon numunenin değiştirilmiş versiyonu.

1
[http://arduino.cc/en/Reference/analogWrite][1] 

Burada değişmiş değil anything.Just güncelleme PWM pimleri