Why do my Hall sensor readings change when I write them to the serial port?
The 3144 requires a pull-up resistor. It only sinks when a magnet is present. It doesn't source, so the pin is floating if no magnet is present.
You can use the internal pull-up resistor by using pinMode(HALL_PIN, INPUT_PULLUP);