Am i missing something?
TOTALLY.
LET A = 4.66
LET B =5.00 (ACTUALLY IT SHOULD BE THE ACTUAL METER READING USED FOR "B" (the TARGET value)
A/B=0.932
1/0.932=1.0729613733905579399141630901288
float data type only allows a maximum of 7 digits so the above must be truncated to : 1.072961
4.66 x 1.07296= 5.00V (ACTUAL VALUE DEPENDS ON METER READING VALUE USED)
The objective of this whole exercise was to get the 4.66 to read 5.00. That's what it was doing when you started using it.
When I said you have to adjust the conversion factor , I didn't mean change it to 1.0000. I meant adjust it gradually so the readingmatches your meter reading. Now is it clear ?
CHANGE float sensorCalbrate to =>1.07296
float sensorCalbrate = 1.07296; // <=========== ADJUST THIS NUMBER TO CALIBRATE !