2011-11-05 12 views
9

बस एक Arduino मिला और मैं रोशनी के साथ कुछ समस्याएं परेशान कर रहा हूँ।Arduino आरजीबी एलईडी मुद्दों

मेरा मानना ​​है कि मैं एक आम एनोड का नेतृत्व कर रहा हूं, इसलिए मेरे पास तीन रंगीन पिन 270 ओम रेजिस्टर के माध्यम से 10, 11 और 12 तक Arduino पर जा रहे हैं। आखिरी बार सीधे वीएसएस को लगाया जाता है।

बहुत इस तरह: http://www.instructables.com/id/RGB-LED-Tutorial-using-an-Arduino-RGBL/step2/Testing/

अब, यह मैं क्या भविष्यवाणी करने के लिए विपरीत काम कर रहा है। जब मैं analogWrite(red, 0) लिखता हूं, तो नेतृत्व लाल होता है, और 255 इसे पूरी तरह से बंद कर देता है।

अब, 0-254 से मान समायोजित करना बिल्कुल चमक को समायोजित करता है। एक सेकंड के लिए चमक के बाद 255 पूरी तरह से बंद है।

क्या कोई यह समझा सकता है कि वास्तव में क्या चल रहा है?

+1

हम्म ... पिन 12 मेरी Arduino पर एक PWM पिन नहीं है। तो 'एनालॉग्राइट' उस पिन के लिए अपेक्षित काम नहीं करेगा। –

उत्तर

9

आपका एलईडी आम एनोड है इसलिए यह सामान्य कैथोड के विपरीत काम करता है। इस प्रयास करें:

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

के रूप में ए.एच. बताते हैं, पिन 12 एक PWM pin नहीं है। 10,11,12 के बजाय पिन 9, 10,11 का उपयोग करने के लिए अपना कोड बदलने का प्रयास करें और इसे एक और शॉट दें।

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
[http://arduino.cc/en/Reference/analogWrite][1] 

यहाँ आप बदल नहीं किया है anything.Just अद्यतन करने PWM पिन