Details of the measurement conditions and data processing for the SSHS experiments. For the general results, see the project main page.
Sensor layout
The two temperature experiments use the same three channels. D18 is water (the control) in both.
| Channel | Experiment 1 | Experiment 2 |
|---|---|---|
| D18 | Water (control) | Water (control) |
| D16 | Acetone | Calcium chloride (exothermic) |
| D20 | Ethanol | Ammonium nitrate (endothermic) |
Points of concern in the data
- The water in experiment 2 stays at exactly 26.0 °C for all 114 rows — the resolution is 0.0625 °C, yet the reading never wavered in two minutes. A disconnected sensor or a frozen recording is a plausible cause.
- The detergent has not converged yet — over the full 28 seconds it only moves in one direction, from 6.47 to 7.41. It would be better to measure for longer and try again.
- The water reads pH 7.96 — water should be neutral, but it comes out close to 8. If this is an electrode calibration problem, the other five samples are shifted in the same direction.
Neutralization reaction — firmware conversion-formula error
The recorded pH(A0) column runs from −111 to −57, outside the pH scale (0–14), so it cannot be used. The cause is not the sensor but the firmware's conversion formula.
# main.py:457
sensor_2_value = -72.78 * average_v + 49.567
The slope of 13.74 mV/pH is 1/4.37 of the Nernst value of 60.01 mV/pH at 29.3 °C. The sensor(V) column in the same file is normal, so setting the equivalence point (08:05) to pH 7 and recalculating from the voltage recovers pH 1.6 → 7 → 14.
To fix it properly, measure the voltage in pH 4 and pH 7 buffers and recompute with slope = 3 / (V7 − V4) and intercept = 7 − slope × V7.
Raw data format
time,temp(D16),temp(D18),temp(D20) # 실험 1·2 — 약 1 Hz, 일부 초 결측
time,pH(A0) # 실험 3 — 초당 2~3회, 같은 초에 여러 행
time,temp(D16),pH(A0),sensor(V) # 실험 4 — 온도 + pH + 센서 전압
Times are elapsed time from the start of recording. Missing seconds are not filled in; they are left at the actual recorded times.