One of my students is using some Vernier sensors (pH and salinity, among others) for a robotics project by attaching them to the Vernier/LegoNXT adapter, but they are NOT using a Mindstorms NXT as the base for their project, but rather an Arduino Shield with NXT inputs. Since we don't have the advantage of using the sensor "blocks" for the visual Mindstorms language, we are having a hard time figuring out the meaning of the raw numbers we get from the sensors when plugged into the NXT adaptor.
I have him working on a DIY calibration by comparing the raw data he gets to the reading when plugged into a LabQuest, but... in the meantime... do you have any hints about the interpretation of this raw data? The numbers we get from the NXT adapter don't seem to correspond to the "Voltage" number from the calibration menu on the LabQuest.
We do not have a table of how Arduino raw counts corresponds to sensor readings. So, what you proposed would be a correct method to follow. Make a plot of sensor readings to raw count and determine the slope and intercept. You can then use that slope/intercept to convert any raw count value to proper sensor units. I would suggest that you take a look at the calibration document that we created for the NXT. It is called "View calibration adjustment instructions". The pdf link can be found on the NXT block download page here:
http://www.vernier.com/engineering/lego-nxt/vernier-sensor-block/
Good luck,
Sam Swartley