Entrada análoga a salida PWM

Sucede que estoy leyendo el valor analógico de un potenciometro con Arduino (valor entre 0 y 1024 aprox), con el cual controlo un ventilador. Necesito controlar encendido y apagado del ventilador partir de un contador (el cual ya tengo funcionando a la perfección), que al llegar a 1 min el ventilador se apague, de lo contrario, cambie su velocidad dependiendo el valor del potenciometro.

La intención es leer la entrada del potenciometro y asignarla a una salida PWM de la arduino, a manera que cuando el contador este en menos de 1 minuto, el valor de potenciometro salga por la salida PWM (como si manejase el potenciometro directamente conectado al ventilador) y cuando este sea 1 minuto, asignarle un valor para que el ventilador se apague sin importar lo que yo haga con el potenciometro.

intente con esto:

int x=0;

setup() {

Serial.begin(9600);
}


void loop() {
x=analogRead(A1);
float voltaje = x * (5.0 / 1023.0);
Serial.println(voltaje);
analogWrite(3,voltaje*50.5);

}

Con esto, logre que la salida del pin 3 de la arduino, me sacase el mismo valor del potenciometro, pero sucede que el ventilador no anda sin importar que le varie en la salida, ni poniendole

analogWrite(3,255);

Gracias por su ayuda, estare pendiente.

Prueba este codigo

int x=0;

void setup() {
  Serial.begin(9600);
}


void loop() {
x=analogRead(A1);
int velocidad=map(x,0,1023,0,255);
float voltaje = float(x) * (5.0 / 1023.0);
Serial.println(voltaje);

analogWrite(3,voltaje*50.5);

}

Probaste tu ventilador si funciona?
Como lo tienes conectado? Espero que no uses una salida del Arduino directo al ventilador!!!
Que corriente toma el ventilador?

surbyte:
Probaste tu ventilador si funciona?
Como lo tienes conectado? Espero que no uses una salida del Arduino directo al ventilador!!!
Que corriente toma el ventilador?

Hola, claro que no. El ventilador funciona correctamente

max_saeta:
Prueba este codigo

int x=0;

void setup() {
  Serial.begin(9600);
}

void loop() {
x=analogRead(A1);
int velocidad=map(x,0,1023,0,255);
float voltaje = float(x) * (5.0 / 1023.0);
Serial.println(voltaje);

analogWrite(3,voltaje*50.5);

}

Hola, lo probe, efectivamente me controla el voltaje y lo saca por la salida del pin, pero el ventilador no responde. Ya revise acoples de tierras, todo y no se que mas hacer. Mil gracias

otra vez. Si no usas el pin del arduino que usas. Pon el esquema. Porque hay que sacar las cosas con sacacorchos?
Tu necesitas la ayuda, pues brinda información!!
Pon esqumeas, enlaces, imagenes todo lo que ayude.

en principio haz un esquema a mano alzada, tomas una foto y lo subes. Eso sirve.