Second Arduino Lesson RGB-LEDsteemCreated with Sketch.

in #arduino7 years ago

Hi there!

This is the second basic tutorial on how to program your Arduino microcontroller

As always what it should look like

What you need:

  1. Microcontroller (Arduino, Elegoo,...)
  2. 330 Ohms resistor
  3. a RGB-LED
    ...and of course some jumper wires

Ok let's start!

Look at the photo to connect your RGB LED the right way.
Left one goes to Red as it is the first letter in RGB 😉.
The second one is a bit longer it should be connected to a 330 Ohm resistor and the resistor to ground.
3rd should then be connected to green and last but not least the fourth to blue.
Use Ports that are capable for analog output such as Ports 9 to 11. They're marked with a ~.

P1240028.JPG

P1240030.JPG

Functions and Commands to learn:

  1. #define (to name a port e.g.: #define blueLED 3) Note that you must not add a ; after a #define
  2. int (to clarify a variable type int means Integer and it can store a value between -32,768 and +32,767 e.g.: int delaytime = 1000;)
  3. pinMode() (to set a pin as an OUTPUT or INPUT e.g.: pinMode(blueLED, OUTPUT);)
  4. digitalWrite() (to turn a signal on (HIGH) or off (LOW) e.g.: digitalWrite(blueLED, HIGH);)
  5. delay() (waits for a time in milliseconds e.g.: delay(delaytime); You can also use variables!)
  6. for() (used to repeat a block of code in {} braces. e.g.: for(int i = 0; i<255; i++){code})

Next: program your microcontroller

Let's say we want to gradually turn on a certain color, then mix it with another, and so on...
Try to look at the code and you'll certainly figuer out how it works. However if you have a question feel free to submit a comment.

#define blueLED 11 //Defines Port 11 as blueLED
#define redLED 9 //Defines Port 9 as redLED
#define greenLED 10 //Defines Port 10 as greenLED
int Blue = 0; //Set color value to 0
int Red = 0; //Set color value to 0
int Green = 0; //Set color value to 0
int delayTime = 5; //Set delayTime to 20 ms
//
void setup() { //Setup only runs once
pinMode(blueLED, OUTPUT); //Defines blueLED as an Output
pinMode(redLED, OUTPUT); //Defines redLED as an Output
pinMode(greenLED, OUTPUT); //Defines greenLED as an Output
digitalWrite(blueLED, LOW);
digitalWrite(redLED, LOW);
digitalWrite(greenLED, LOW);
}
//
void loop() {// Loop repeats itself the whole time until you shut your controller down
//
for(int i = 0; i<255; i++) //performs the task in the {} brakets till i is bigger than 254; counting variable i is created and set to 0 in the for function
{Blue = 255 - i; //Sets color value
Red = i;//Sets color value
analogWrite(blueLED, Blue);//Outputs a analog signal with a value between 0 and 255 to the Blue LED
analogWrite(redLED, Red);// Same for Red
delay(delayTime);//Delays for delayTime
}
for(int i = 0; i<255; i++)// Same thing as above but with other colors this time
{Red = 255 - i;
Green = i;
analogWrite(greenLED, Green);
analogWrite(redLED, Red);
delay(delayTime);
}
for(int i = 0; i<255; i++)//And the again
{Green = 255 - i;
Blue = i;
analogWrite(blueLED, Blue);
analogWrite(greenLED, Green);
delay(delayTime);
}
}

And don't forget to upvote and resteem the post 😛

Sort:  

Very nice post! I give you UP

Congratulations @etschgi1! You have received a personal award!

1 Year on Steemit
Click on the badge to view your Board of Honor.

Do not miss the last post from @steemitboard:

Meet the Steemians Contest - Intermediate results

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @etschgi1! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!