Two improvement suggestions for the determine_scalar() method:
- Use read_average() instead of read_raw(), to get a better scalar
- Remove the abs() in diff = abs(reading - self.offset). I probably messed up in my setup, but in my scale the readings decrease with added weigh.