I’m working on my arduino car monitoring project, and am having some trouble. When I power the arduino over USB from my laptop the temperature sensor reads the correct value verified using a thermometer, however when I power the board over USB from my car the temperature increases 9.5 to 10.5 degrees. I measured the voltage from both the 3.3v and 5v pins; from my laptop it reads 3.25v, and 4.93v. From my car, Engine Off: 3.26v 4.94v, Engine running: 3.26v, 4.95v. I have a jumper going from the 3.3v pin to AREF, and a capacitor from +5/3.3v on the temp sensor to ground to act as a filter which changes nothing. I have been tearing my hair out over this for 3 days and have gotten nowhere. I found similar issues by searching the forums, but none of the suggested ideas worked for me.
Too little information: - what sensors? - how do you read them?
I suppose you are using analog sensors. Take 3 or more readings, then calculate an average. Or take a reading every 10 seconds and calculate a running average from the last 5 or so readings. Most sensors are not accurate to more than 1 degree, so you only have a minor problem :) In a car environment you need heavy filtering of you power supply. Even if your multimeter shows that the voltage is OK, it may contain waves and spikes that influence you analog readings. Another idea: use digital sensors (google OneWire Temperature sensor)
Yet another post for the same project. http://forum.arduino.cc/index.php?topic=367330
If you refuse to share a diagram and the code, I can't help you.
Hint: Arduino has a stable internal reference voltage that is independent of the supply voltage. Leo..