Input analog to control PWM duty

I have a question of “Input analog to control PWM duty”

I’d like to control PWM duty by Variable Resistor, power source 14V, analog input 1.875V~2.125V map to PWM 100%~0%(plz see the attachment for circuit)

below is my code, but the PWM duty is wrong when analog>2.125V and <1.875.
How can I correct it.
Many thanks.

int sensor = A0;
int sensorRead = 0;
int newData = 0;
int PWM = 9;

void setup()
TCCR1B = TCCR1B & 0b11111000|0x04; //Setting PWM freq=122Hz

void loop()
analogRead(sensor); //Read A0
sensorRead=analogRead(sensor); //Read A0
map(sensorRead, 137, 155, 255, 0); //map 137 to 155 control PWM duty
newData=map(sensorRead, 136, 155, 255, 0);
analogWrite(PWM, newData); //Duty Output

Have you looked through the IDE’s built-in code examples? There’s one that will only need minor adjustments to do what you need.

TCCR1B = TCCR1B & 0b11111000|0x04;  //Setting PWM freq=122Hz

That is truly horrible to read. A couple of spaces would make all the difference

TCCR1B = TCCR1B & 0b11111000 | 0x04;  //Setting PWM freq=122Hz

Ah, OK, you've substantially edited your initial post after I added my suggestion. That's kinda rude.