Go Down

Topic: pot controlled LED cross fade (Read 953 times) previous topic - next topic

I was wondering if someone could tell me what I'm doing wrong here. I'm still a noob thats in need of a lot of help.

here is my code that I modded:

Code: [Select]
/*
* Code for cross-fading 3 LEDs, red, green and blue, or one tri-color LED, using PWM
* The program cross-fades slowly from red to green, green to blue, and blue to red
* The debugging code assumes Arduino 0004, as it uses the new Serial.begin()-style functions
* Clay Shirky <clay.shirky@nyu.edu>
*/
 


// ??? int wait = 0;      // variable to store the reading from the potentiometer
int potPin = 3;     // analog pin where to plug the potentiometer at

int wait = analogRead(potPin); // ???

int redPin   = 9;   // Red LED,   connected to digital pin 9
int greenPin = 10;  // Green LED, connected to digital pin 10
int bluePin  = 11;  // Blue LED,  connected to digital pin 11

// Program variables
int redVal   = 255; // Variables to store the values to send to the pins
int greenVal = 1;   // Initial values are Red full, Green and Blue off
int blueVal  = 1;

int i = 0;     // Loop counter    

// int wait = 50; // 50ms (.05 second) delay; shorten for faster fades

int DEBUG = 0; // DEBUG counter; if set to 1, will write values back via serial

void setup()
{
 wait = analogRead(potPin);   // read the potentiometer
 pinMode(redPin,   OUTPUT);   // sets the pins as output
 pinMode(greenPin, OUTPUT);  
 pinMode(bluePin,  OUTPUT);
 if (DEBUG) {           // If we want to see the pin values for debugging...
   Serial.begin(9600);  // ...set up the serial ouput on 0004 style
 }
}

// Main program
void loop()
{
 i += 1;      // Increment counter
 if (i < 255) // First phase of fades
 {
   redVal   -= 1; // Red down
   greenVal += 1; // Green up
   blueVal   = 1; // Blue low
 }
 else if (i < 509) // Second phase of fades
 {
   redVal    = 1; // Red low
   greenVal -= 1; // Green down
   blueVal  += 1; // Blue up
 }
 else if (i < 763) // Third phase of fades
 {
   redVal  += 1; // Red up
   greenVal = 1; // Green low
   blueVal -= 1; // Blue down
 }
 else // Re-set the counter, and start the fades again
 {
   i = 1;
 }  

 analogWrite(redPin,   redVal);   // Write current values to LED pins
 analogWrite(greenPin, greenVal);
 analogWrite(bluePin,  blueVal);  

 if (DEBUG) { // If we want to read the output
   DEBUG += 1;     // Increment the DEBUG counter
   if (DEBUG > 10) // Print every 10 loops
   {
     DEBUG = 1;     // Reset the counter

     Serial.print(i);       // Serial commands in 0004 style
     Serial.print("\t");    // Print a tab
     Serial.print("R:");    // Indicate that output is red value
     Serial.print(redVal);  // Print red value
     Serial.print("\t");    // Print a tab
     Serial.print("G:");    // Repeat for green and blue...
     Serial.print(greenVal);
     Serial.print("\t");    
     Serial.print("B:");    
     Serial.println(blueVal); // println, to end with a carriage return
   }
 }
 delay(wait); // Pause for 'wait' milliseconds before resuming the loop
}


Thanx

wandrson

What is the problem that you are having?

Is the code not compiling?

Is it not doing what you expect?

If not, what was the expected result and what is happening?

nothing happened.

I wired everything up, and nothing.

it compiled fine. it uploaded fine.
I'm wanting the pot to control the time of the delay between the fades.

Digger450

Are you getting your debug prints?  I noticed that wait is in the setup, so it will not change unless you reset.

wandrson

Are you saying that the LED's are not doing anything?

If so, have you checked that the cathode/anode orientation is correct?

Have you tried another sketch like led_blink with a led (anode) on pin 13.

Have you ever run anything on this arduino?

Have you check the Vcc and ground points with a meter?

David Cuartielles

Hej,

have you made sure you choose the right type of processor in the MCU part of the Tools Menu? If you just purchased your board it should be a mega168. Having this chosen wrong will not produce any errors when compiling or uploading, but the program will never execute.

/d

I think I;m wiring it up wrong. I think I just need to play around with it more.

but the code looks fine??

Go Up