Hallo allemaal,

Ik ben bezig met het maken van een RGB led dimmer met een arduino uno. Het gaat om een 3 watt RGB led met een gemeenschappelijke anode. Ik heb alle minnen met elkaar verbonden. Dit is het schema hoe ik het heb aangesloten. https://dl.dropboxusercontent.com/u/23157927/rgb%20dimmer.jpg

Wat ik precies wil is met arduino elke kleur apart te kunnen dimmen. De code die ik heb gebruikt is voor het dimmer van 1 led, maar ik heb aanpassingen gemaakt zodat je het voor 3 leds zou kunnen gebruiken. Helaas werkt het niet zoals het moet.



    int ledPin1 = 3;// Red LED
    int ledPin2 = 5;// Green LED
    int ledPin3 = 6;// Blue LED
    int potentiomenterInput1 = 0;
    int potentiomenterInput2 = 1;
    int potentiomenterInput3 = 2;
     
    void setup()  {
      pinMode(ledPin1, OUTPUT);
      pinMode(ledPin2, OUTPUT);
      pinMode(ledPin3, OUTPUT);
    }
     
     
    void loop()  {
     
      potentiomenterInput1 = (analogRead(0)/4); // Divides input 0-1023 to resemble to 0-255
     
      analogWrite(ledPin1, potentiomenterInput1);  
      // The delay can be change to get the desired dimming effect
      delay(20); 

potentiomenterInput2 = (analogRead(1)/4); // Divides input 0-1023 to resemble to 0-255
     
      analogWrite(ledPin2, potentiomenterInput2);  
      // The delay can be change to get the desired dimming effect
      delay(20); 

potentiomenterInput3 = (analogRead(2)/4); // Divides input 0-1023 to resemble to 0-255
     
      analogWrite(ledPin3, potentiomenterInput3);  
      // The delay can be change to get the desired dimming effect
      delay(20);       
    }

Zou iemand mij kunnen vertellen wat het probleem precies is. Ik ben er bijna zeker van dat het aan de software ligt.

De code is wat verwarrend, maar het zou wel moeten werken (denk ik, na wat puzzelen).
De schakeling niet, de basisstroom wordt niet beperkt, dat gaat mis. Gebruik het niet zo, dan gaat het stuk.
Plaats 10k tussen de basis in de Arduino.

Je kunt ook beginnen met een paar LED's met 1k weerstanden direct aan de Arduino, dan kun je je code eerst testen. Als de code niet in één keer werkt begin dan met de voorbeelden zoals die bij analogRead en analogWrite op de website staan.

ALs je alleen een RGB PWM dimmer met drie potmeters wilt maken kan dat ook met een enkele LM324.

Of 3 555'jes.

Ben niet zo bekend met Arduino, maar met PIC's gebruik ik altijd een Timer0 interrupt voor software PWM. Als je uC 3 hardware PWM kanalen heeft zou ik die gebruiken.