Como controlar um LED RGB com potenciômetros usando uma Arduino

Pesquisando como controlar as cores de um LED RGB através de potenciômetros usando uma Arduino, achei uma serie de tutoriais, mas a maioria faltava alguma informação. Logo reuni as informações aqui.

Arduino, protoboard e potenciômetros

Objetivo

Controlar individualmente cada cor de um LED RGB por potenciômetros.

Materiais necessários

Arduino, protoboard, LED RGB, potenciômetro, reistor 300 ohm, fios.

Circuito

Protoboard e esquemático

O pino negativo do LED é ligado na entrada GND e os outros 3 pinos RGB nas entradas digitais 9, 10 e 11, respectivamente. Colocando um resistor 300 Ohm entre os pinos do LED e a Arduino. Nos potenciômetros o primeiro pino é ligado na entrada GND, o terceiro é o pino é ligado na entrada +5V, e o segundo pino deve se ligar nas entradas analógicas 0, 1 e 2. 0 para a cor vermelha, 1 para a cor verde e 2 para cor azul.

Código

//Declarando as variáveis do pinos do LED RGB
const int redPin = 9;
const int greenPin = 10;
const int bluePin = 11;

//Declarando as variáveis do pinos dos potenciômetros
const int redPotPin = 0;
const int greenPotPin = 1;
const int bluePotPin = 2;

// Init das nossas variáveis
int currentColorValueRed;
int currentColorValueGreen;
int currentColorValueBlue;

void setup() {
    pinMode(redPin, OUTPUT);
    pinMode(greenPin, OUTPUT);
    pinMode(bluePin, OUTPUT);
}

void loop() {
    //Pega a tensão em cada pino analógico, reduzir para o intervalo de 0 até 255 e inverte o valor do pólo negativo
    currentColorValueRed = (255 - map( analogRead(redPotPin), 0, 1024, 0, 255 ) );
    currentColorValueBlue = (255 - map( analogRead(bluePotPin), 0, 1024, 0, 255 ) );
    currentColorValueGreen = (255 - map( analogRead(greenPotPin), 0, 1024, 0, 255 ) );

    //Envia a cor para cada pino do LED
    analogWrite(redPin, currentColorValueRed);
    analogWrite(bluePin, currentColorValueBlue);
    analogWrite(greenPin, currentColorValueGreen);
}    

Código retirado de RGB LED Color Chooser em Arduino playground.

Demo