Arduino - LED - Fade
|1||×||Arduino UNO or Genuino UNO|
|1||×||USB 2.0 cable type A/B|
|1||×||220 ohm resistor|
LED includes two pins:
- Cathode(-) pin needs to be connected to GND (0V)
- Anode(+) pin is used to control LED's state
How It Works
After connecting the cathode(-) to GND:
- If connecting GND to the anode(+), LED is OFF.
- If connecting VCC to the anode(+), LED is ON.
- If generating a PWM signal to the anode(+), the brightness of LED is changed according to PWM value. PWM value varies from 0 to 255. The bigger PWM value is, the brighter LED is. The smaller PWM value is, the darker LED is.
- If PWM value is 0, it is equivalent to GND, therefore, LED is OFF
- If PWM value is 255, it is equivalent to VCC, therefore, LED is fully ON
※ NOTE THAT:
For most of LED, it needs to use a resistor between the anode(+) and VCC. The value of the resistor depends on the specification of LED.
Arduino - fade LED
Some of Arduino pins can be programmed to generate PWM signal. We can fade LED by connecting LED's anode(+) pin to an Arduino's pin, LED's cathode(-) to GND, and programming generate PWM on the Arduino's pin.
Image is developed using Fritzing. Click to enlarge image
How To Program
- Configure an Arduino's pin to digital output mode. For example, pin 9:
- Set brightness of LED by generating the corresponding PWM signal:
Where brightness is a value from 0 to 255.
- Connect Arduino to PC via USB cable
- Open Arduino IDE, select the right board and port
- On Arduino IDE, Go to File Examples 01.Basics Fade example
- Click Upload button on Arduino IDE to upload code to Arduino
- See the brightness of LED
Read the line-by-line explanation in comment lines of code!
Change the brightness of LED using potentiometer . Hint: Refer to Arduino - Potentiometer .
- PWM signal generated by analogWrite() function fades a LED. That is because it's high-frequency PWM. If we create a customized function (required advanced knowledge), which generates low-frequency PWM signal, LED will be blinked instead of faded.
- Summary: PWM signal can be used in Arduino to: control servo motor, control DC motor, make sound using a piezo buzzer, fade LED, blink LED ...
LED on Commercial Products
Small LEDs usually are used to indicate the status of devices. For examples:
- TP-Link AC1750 Smart WiFi Router - Dual Band Gigabit Wireless Internet Routers
- USB Hub 3.0
- Gaming Keyboard and Mouse
- Amazon Smart Speaker - Echo Dot
Big LEDs usually are used for lighting. They can be combined into groups. For examples:
- Arduino - LED - Blink
- Arduino - LED - Blink Without Delay
- Arduino - Button - LED
- Arduino - Button Toggle LED
- Arduino - Potentiometer fade LED
- Arduino - Potentiometer Triggers LED
- Arduino - Light Sensor Triggers LED
- Arduino - Ultrasonic Sensor - LED
- Arduino - Motion Sensor - LED
- Arduino - Touch Sensor - LED
- Arduino - Touch Sensor Toggle LED
- Arduino - Door Sensor - LED
- Arduino - Door Sensor Toggle LED