Duda con controlador 74HC595 y potenciómetro

Hola, estoy practicando el uso de controladores y me gustaría saber si es posible controlar la potencia de un LED a traves de un controlador 74HC595 y un potenciómetro. La verdad es que me está costando bastante encontrar buena información sobre el uso de este controlador, porque la mayoría está en inglés y aunque me suelo manejar bastante bien, en este caso me está costando bastante. He probado con el siguiente código:

const int latchPin = 7;
const int clockPin = 8;
const int dataPin = 9;
const int led = 3;
const int pot = 0;

int brillo;

void setup()
{
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
}

void loop()
{
  brillo = analogRead(pot);
  brillo = map(brillo, 0, 1023, 0, 255);
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin,clockPin,LSBFIRST,brillo);
  digitalWrite(latchPin, HIGH);
  delay(100);
}

El problema es que el led no se activa hasta que el potenciómetro no alcanza el valor de 128. Creo que se debe a que el controlador, al funcionar en binario interpreta de 0 a 127 como 0 y de 128 a 255 como 1. ¿Como podría hacer para convertir el valor del potenciómetro a un número binario que el controlador pueda interpretar? Con el comando Serial.print(brillo, BIN); me muestra el valor del potenciómetro en binario, pero como podría hacer para guardarlo en una variable en lugar de imprimirlo en pantalla?

He probado creando una variable llamada brilloBin y haciendo brilloBin = (brillo, BIN); y shiftOut(dataPin,clockPin,LSBFIRST,brilloBin); y cosas parecidas, pero no consigo que funcione. ¿Alguien me podría dar alguna indicación de qué estoy haciendo mal?

Otra pregunta, el pin que va a la entrada de datos del controlador tiene que ser siempre PWN?

Muchas gracias.

No. Con el 74HC595 no puedes controlar el brillo, tal vez puedes lograr algo con la velocidad de refrezco pero lo que pides se hace con el MAX7219 que tiene control externo con resistencia para el brillo o control digital.

Gracias por la respuesta, surbyte. Entonces supongo que tampoco se podrá controlar la velocidad de giro de un motor con este controlador, me equivoco?

Velocidad de giro? He visto que hay una placa que lo usa, de modo que si esta acompañado de algo mas no veo porque no.
Porque no pones un enlace de la placa que mencionas o un esquema. A veces las diferencias idiomáticas hacen que no nos entendamos bien.
Recuerdo que hay una placa o shield arduino que usa un 595. Esta en el entro de otros dos elementos.

De modo que es posible que controle el giro de motores.