# Controlling LEDs
So far everything we have seen does not involve controlling any hardware electronics using the Arduino.
We will start by writing a simple Sketch that turns on the built-in LED on the Uno board. It is the small LED labeled
L on the board.
There are two kinds of pins, digital and analog. We will not cover the analog pins for now. The digital pins mean they can be either
LOW. This also means we either output 5V through that pin or 0V.
A pin can be either
OUTPUT. If we are outputting voltage from the Arduino board to an electronic component connected to that pin, then our pin is
OUTPUT pin. If the electronic component is producing voltage through that pin, and the Arduino board is reading that voltage then the pin is
INPUT pin. The
OUTPUT mode is with respect to the Arduino board. If we want to connect an LED to the Arduino, we will want to output voltage from the Arduino to the LED. Therefore, the pin we connect the LED to will be in
OUTPUT mode. The digital pins can be seen on the top side of the Uno board labeled from 0 to 13.
On the Uno board, there is a built-in LED next to the L letter. This LED is connected to pin 13 internally. In the Arduino platform, if you use
LED_BUILTIN in your code, it will be translated into 13 since that is the pin for the built-in LED.
The above program turns on the built-in LED and then waits for 3 seconds.
In the setup function, the first thing we do is specify for each pin we are using whether that pin is going to be used as an output or input pin. We do that by calling the Arduino function
pinMode(pinNumber, mode);. The
pinNumber is the number of the pin we want to specify its mode, and the mode is whether it is
INPUT. On line 2 of the program, we are specifying that pin 13 is an output pin. This means we will be deciding if the pin has 5V or 0V. If we output 5V then the LED will turn on.
Line 7 specifies the output to be
HIGH to the
LED_BUILTIN pin. Which is the same if we use 13 instead of
LED_BUILTIN. We specify the output to a digital pin by using the Arduino function
In the above code, can you turn the built-in LED off after 3 seconds?
# Blinking LED
We want to continuously blink the built-in LED every second. This sounds like a task for the loop function!
We can also connect LEDs other than the built-in LED to the Arduino board. In the above environment, we have 2 LEDs connected to the Arduino board on pins 9 and 10.
Modify the code above to blink the red and green LEDs with the built-in LED.