브라우저에서 자바스크립트가 꺼져 있어 화면을 보여 드릴 수 없습니다.
프로젝트 목록
과학화학

SSHS 실험 데이터 시각화

온도·pH 로거 실험 4건의 원자료와 그래프. 액체의 증발, 흡열/발열 반응, 시료 6종 pH 절사평균, 중화 반응(펌웨어 변환식 오류 진단·재보정).

2026-10-04조회 463GitHub

기술 노트

기술노트.md · 2026-08-30 수정

SSHS 실험의 측정 조건과 데이터 처리 상세입니다. 일반 결과는 프로젝트 메인을 보세요.

센서 배치

온도 실험 두 건은 같은 3채널을 씁니다. D18은 양쪽 모두 물(대조군) 입니다.

채널 실험 1 실험 2
D18 물 (대조군) 물 (대조군)
D16 아세톤 염화칼슘 (발열)
D20 에탄올 질산암모늄 (흡열)

데이터에서 걸리는 점

  1. 실험 2의 물이 114행 내내 정확히 26.0 °C — 분해능이 0.0625 °C인데 2분간 한 번도 흔들리지 않았습니다. 센서 미연결이나 기록 고정을 의심할 만합니다.
  2. 세제는 아직 수렴하지 않았습니다 — 28초 내내 6.47에서 7.41로 한 방향으로만 올라갑니다. 측정 시간을 늘려 다시 재시는 편이 낫습니다.
  3. 물이 pH 7.96 — 중성이어야 할 물이 8 가까이 나옵니다. 전극 보정 문제라면 나머지 5개도 같은 방향으로 치우쳐 있습니다.

중화 반응 — 펌웨어 변환식 오류

기록된 pH(A0) 열은 −111 ~ −57 로 pH 눈금(0–14) 밖이라 못 씁니다. 원인은 센서가 아니라 펌웨어의 변환식입니다.

# main.py:457
sensor_2_value = -72.78 * average_v + 49.567

기울기 13.74 mV/pH 는 29.3 °C 네른스트 값 60.01 mV/pH 의 1/4.37 입니다. 같은 파일의 sensor(V) 열은 정상이라, 당량점(08:05)을 pH 7 로 놓고 전압에서 다시 계산하면 pH 1.6 → 7 → 14 로 복원됩니다.

제대로 고치려면 pH 4·7 완충액에서 전압을 재고 slope = 3 / (V7 − V4), intercept = 7 − slope × V7 로 다시 구하면 됩니다.

원자료 형식

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 + 센서 전압

시각은 기록 시작부터의 경과 시간입니다. 결측 초는 채우지 않고 실제 기록 시각 그대로 두었습니다.