JavaScript is turned off in your browser, so this page cannot be shown.
All projects
ScienceChemistry

SSHS Experiment Data Visualization

Raw data and graphs from four temperature and pH logger experiments: evaporation of liquids, endothermic/exothermic reactions, trimmed-mean pH of six samples, and a neutralization reaction (diagnosing and recalibrating a firmware conversion-formula error).

2026-10-04463 viewsGitHub

This page was translated by AI.

Technical Notes

기술노트.md · updated 2026-09-30

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

  1. 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.
  2. 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.
  3. 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.