IDEAL GAS LAW

이상기체 법칙 인터랙티브 시뮬레이터
PV = nRT
°C hPa IDEAL GAS LAW 이상기체 법칙 PV = nRT · 온도, 압력, 부피의 관계

01 — 기체란 무엇인가?

우리가 숨 쉬는 공기, 풍선 안의 헬륨, 타이어를 채우는 질소… 이것들은 모두 기체(Gas)입니다.

기체 분자들은 끊임없이 움직이고, 서로 부딪히고, 벽에 충돌합니다. 이 충돌이 바로 압력(Pressure)의 정체입니다.

분자들은 더 빠르게 움직일수록(온도↑) 벽을 더 세게 치고, 공간이 좁을수록(부피↓) 더 자주 부딪힙니다.

02 — 세 가지 변수의 춤

이상기체 법칙의 핵심은 네 가지 변수의 관계입니다:

PV = nRT

여기서 R은 기체 상수(8.314 J/mol·K = 0.08206 L·atm/mol·K)로, 자연이 정해준 고정 상수입니다.

P, V, T, n 중 일부를 고정하면 나머지 변수들의 관계가 드러납니다.

02.5 — n은 무엇인가? 몰(mol)의 정체

화학에서 n(몰, mol)은 물질의 양을 세는 단위입니다. 연필을 "다스(12개)"로 세듯, 분자는 로 셉니다.

🔸 1몰 = 6.022 × 10²³ 개

이 숫자를 아보가드로 수(Nₐ)라고 부릅니다. 상상하기 어려울 만큼 큰 수입니다:

만약 1몰의 쌀알이 있다면, 지구 전체를 약 1km 두께로 덮을 수 있습니다. 분자가 그만큼 작기 때문에 이렇게 큰 수를 한 묶음으로 씁니다.

🔸 몰 질량 — 원소마다 1몰의 무게가 다르다

수소(H₂) 1몰 = 2g (가벼움!), 산소(O₂) 1몰 = 32g, 물(H₂O) 1몰 = 18g

주기율표의 원자량이 곧 "1몰의 그램 수"입니다. 이것이 몰 질량(Molar Mass)입니다.

🔸 PV=nRT에서 n의 역할

n이 커지면(기체가 많아지면) 같은 온도·부피에서 압력이 비례해서 증가합니다. 풍선에 공기를 더 불어넣으면 빵빵해지는 것과 같습니다.

n = PV / RT   |   n = 질량(g) / 몰 질량(g/mol)

즉, n은 "용기 안에 분자가 얼마나 많은가"를 나타내는 핵심 변수이며, 실제 실험에서는 기체의 질량을 재서 n을 구합니다.

03 — 고정 조건별 법칙

🔸 압력 고정 (등압 과정 — 샤를의 법칙)

풍선을 냉동실에 넣으면 쪼그라듭니다. 압력(대기압)은 같은데, 온도가 내려가니 부피가 줄어든 것입니다.

V₁/T₁ = V₂/T₂  (P 일정)

🔸 부피 고정 (등적 과정 — 게이-뤼삭 법칙)

밀봉된 캔을 불에 가열하면 폭발합니다. 부피가 못 변하니 온도 상승 → 압력 폭증!

P₁/T₁ = P₂/T₂  (V 일정)

🔸 온도 고정 (등온 과정 — 보일의 법칙)

주사기의 끝을 막고 피스톤을 누르면? 부피가 줄면서 안의 압력이 올라가는 걸 느끼게 됩니다.

P₁V₁ = P₂V₂  (T 일정)

04 — 시뮬레이터로 직접 확인하자!

이론은 충분합니다. 이제 시뮬레이터 탭으로 이동해서 변수를 고정하고, 슬라이더를 움직이며 기체의 행동을 직접 눈으로 확인하세요.

실생활 예제 탭에서는 실제 상황을 PV=nRT로 증명해볼 수 있습니다.

⚙ CONTROL PANEL

기체량 (n) LOCKED 1.00 mol
1 mol = 6.022×10²³개 분자 (아보가드로 수)
시뮬레이션 입자: 40
압력 (P) LOCKED 1.00 atm
부피 (V) LOCKED 22.4 L
온도 (T) LOCKED 273 K
0.0 °C 32.0 °F
AMOUNT
1.00
mol
PRESSURE
1.00
atm
VOLUME
22.4
L
TEMPERATURE
273
K
0.0 °C 32.0 °F

등압 과정 (Isobaric)

압력을 고정합니다. 온도를 올리면 부피가 증가하고, 온도를 내리면 부피가 감소합니다. (샤를의 법칙: V ∝ T)

🧪 실험명: "나만의 기압계로 이상기체 법칙을 증명하라"

이 실험은 두 단계로 진행됩니다:

Phase 1 — 아두이노 + BMP280 + DS18B20으로 디지털 압력·온도 센서 장치를 직접 제작합니다.

Phase 2 — 제작한 센서로 밀폐 페트병 내부의 등적 과정(V 고정)을 측정하고, 게이-뤼삭의 법칙(P/T = const)을 정량 검증합니다.

풍선에 줄자를 대는 것이 아니라, 여러분이 직접 만든 센서가 0.01 kPa 단위로 압력을 실시간 측정합니다. 시리얼 모니터에 숫자가 올라가는 순간, 과학이 눈앞에서 벌어지는 것을 경험하게 됩니다.

📦 준비물

🔸 Phase 1 — 센서 장치 제작

🔌
Arduino Nano (또는 Uno) USB 케이블 포함. 호환 보드도 OK
📡
BMP280 기압·온도 센서 모듈 I2C 통신. 측정 범위 300~1100 hPa, 정밀도 ±1 hPa (±0.01 atm). 이 센서가 핵심입니다
🌡️
DS18B20 방수 온도 센서 스테인리스 프로브 타입. 페트병 내부 공기 온도 측정용. 정밀도 ±0.5°C
🔗
4.7kΩ 저항 1개 + 점퍼 와이어 DS18B20 풀업 저항용. 브레드보드도 1개 필요

🔸 Phase 2 — 등적 과정 실험

⚗️
500mL 페트병 (탄산음료용 권장) 탄산음료 페트병은 내압 설계라 단단합니다. 뚜껑으로 밀봉이 쉽고, 이것이 "고정 부피(V)" 용기입니다
🔴
페트병 뚜껑 (가공용) + 글루건 페트병 뚜껑에 드릴/송곳으로 작은 구멍 2개(센서선 통과용)를 뚫고 글루건으로 밀봉. 이것이 핵심
🫧
대야 또는 냄비 페트병이 들어갈 정도면 충분. 주방 냄비도 OK
🧊
얼음 + 뜨거운 물 (전기포트) 얼음물(~5°C), 상온(~23°C), 온수(~55°C), 뜨거운 물(~70°C) — 4개 조건
💻
노트북 (Arduino IDE 설치) 시리얼 모니터로 실시간 데이터를 확인합니다
🔧
글루건 (핫멜트) 뚜껑 구멍 밀봉의 핵심 도구. 없으면 양초+순간접착제로 대체 가능

⚠️ 유의사항

위험

뜨거운 물 취급 주의! 70°C 물은 화상 위험이 있습니다. 반드시 장갑 착용. 끓는 물(100°C)은 사용하지 않습니다.

위험

BMP280·아두이노에 물이 닿으면 안 됩니다! 센서와 아두이노는 페트병 바깥에 위치합니다. 센서 선만 뚜껑 구멍을 통해 병 내부로 들어갑니다.

주의

밀봉 상태를 반드시 확인하세요. 뚜껑 글루건 밀봉부에서 공기가 새면 압력 변화가 측정되지 않습니다. 밀봉 후 양손으로 페트병을 감싸 체온으로 데워보세요 — 압력이 올라가면 밀봉 성공!

주의

각 온도 조건에서 5분 이상 대기하세요. 페트병 내부 공기가 물 온도와 열평형에 도달해야 합니다. DS18B20 온도가 안정될 때까지 기다리세요.

센서 작동 테스트를 먼저 하세요. Phase 1에서 센서를 조립한 후, 바로 실험에 들어가지 말고 시리얼 모니터에서 정상 값이 출력되는지 반드시 확인합니다.

센서 선은 뚜껑 바로 위에! BMP280이 뚜껑에 가까울수록 페트병 내부 공기 압력을 정확히 측정합니다. 선이 길면 외부 대기 영향을 받을 수 있으므로 글루건 밀봉을 꼼꼼히 하세요.

🔗 이 실험이 연결되는 실제 기술

🔸 자동차 TPMS (타이어 압력 모니터링)

자동차 타이어 안에도 BMP280과 비슷한 MEMS 압력 센서가 들어 있습니다. 주행 중 타이어 온도가 올라가면 압력이 증가하는데, 이것이 바로 우리 실험의 등적 과정(P ∝ T)입니다. TPMS는 이 원리로 비정상 압력을 감지합니다.

🔸 기상 관측소의 기압계

기상청의 기압 관측도 원리는 동일합니다. 대기의 압력 변화를 정밀하게 측정하여 날씨를 예측합니다. 여러분이 만드는 센서 장치는 기상 관측소의 축소판입니다.

🔸 압력밥솥 안전밸브

밀봉 + 가열 → 압력 상승. 우리 실험의 페트병이 바로 미니 압력밥솥입니다. 실제 압력밥솥은 안전밸브가 특정 압력에서 열리도록 설계되어 있는데, 그 압력값을 결정하는 데 PV=nRT가 쓰입니다.

📋 실험 절차

총 소요시간: 약 90분 (센서 제작 40분 + 실험 50분)

PHASE 1 — 디지털 압력·온도 센서 제작

P1

STEP 1 — 회로 연결 (15분)

01

브레드보드에 아래와 같이 연결합니다:

BMP280 연결 (I2C)

BMP280 핀Arduino 핀설명
VCC3.3V전원 (⚠️ 5V 아님!)
GNDGND접지
SCLA5I2C 클럭
SDAA4I2C 데이터

DS18B20 연결 (OneWire)

DS18B20 선Arduino 핀설명
빨간 선 (VCC)5V전원
검은 선 (GND)GND접지
노란 선 (DATA)D2데이터 + 4.7kΩ 풀업저항(D2↔5V)
핵심

DS18B20의 DATA 선과 5V 사이에 4.7kΩ 저항을 반드시 연결하세요. 이것이 없으면 온도가 -127°C로 출력됩니다.

STEP 2 — 코드 업로드 (15분)

02

Arduino IDE에서 아래 라이브러리를 먼저 설치합니다:

Adafruit BMP280 Library (+ Adafruit Unified Sensor)

OneWire + DallasTemperature

스케치 → 라이브러리 관리 에서 검색하여 설치하세요.

📄 ideal_gas_sensor.ino
#include <Wire.h>
#include <Adafruit_BMP280.h>
#include <OneWire.h>
#include <DallasTemperature.h>
Adafruit_BMP280 bmp;
OneWire oneWire(2);           // DS18B20 → D2
DallasTemperature ds(&oneWire);
void setup() {
  Serial.begin(9600);
  while (!Serial);
  if (!bmp.begin(0x76)) {     // 주소 0x76 또는 0x77
    Serial.println("BMP280 연결 실패! 배선 확인");
    while (1);
  }
  ds.begin();
  Serial.println("=== 이상기체 법칙 센서 준비 완료 ===");
  Serial.println("병내부T(°C)\t병내부T(K)\tBMP압력(hPa)\tBMP온도(°C)");
}
void loop() {
  ds.requestTemperatures();
  float waterTemp = ds.getTempCByIndex(0);  // 물 온도
  float waterTempK = waterTemp + 273.15;
  float pressure = bmp.readPressure() / 100.0; // Pa → hPa
  float bmpTemp = bmp.readTemperature();      // BMP 내장 온도
  Serial.print(waterTemp, 2);  Serial.print("\t");
  Serial.print(waterTempK, 2); Serial.print("\t\t");
  Serial.print(pressure, 2);   Serial.print("\t\t");
  Serial.println(bmpTemp, 2);
  delay(2000);  // 2초마다 측정
}

업로드 후 시리얼 모니터(9600 baud)를 열어 값이 정상 출력되는지 확인합니다.

STEP 3 — 센서 동작 테스트 (10분)

03

① 시리얼 모니터에서 온도, 압력 값이 나오는지 확인

② DS18B20 프로브를 손으로 잡아보세요 → 온도가 올라가면 정상!

③ BMP280 센서 위에 입김을 불어보세요 → 압력과 온도가 미세하게 변하면 정상!

체크

BMP280 압력이 약 1013 hPa 근처(해수면 기준), DS18B20이 실내 온도(~23°C)를 보이면 센서 제작 성공!

PHASE 2 — 등적 과정 실험 (게이-뤼삭 법칙 검증)

P2

STEP 4 — 밀폐 장치 조립 (10분)

04

① 페트병 뚜껑에 송곳 또는 드릴로 작은 구멍 2개를 뚫습니다 (BMP280 연결선 + DS18B20 선 통과용).

BMP280 센서의 점퍼 와이어 4가닥을 구멍으로 통과시켜 센서가 병 안쪽에 위치하게 합니다.

DS18B20 프로브도 다른 구멍으로 통과시켜 병 안쪽에 넣습니다 (두 센서 모두 병 내부 공기를 측정).

④ 뚜껑 구멍 부분을 글루건으로 양면 꼼꼼히 밀봉합니다. 이것이 실험의 핵심입니다!

⑤ 페트병에 뚜껑을 단단히 잠급니다.

밀봉 테스트

조립 후, 페트병을 양손으로 감싸 체온으로 데워보세요. 시리얼 모니터에서 압력이 1~3 hPa 올라가면 밀봉 성공! 변화가 없으면 글루건을 더 보강하세요.

STEP 5 — 4개 온도 조건 측정 (30분)

05

대야(또는 냄비)의 물 온도를 바꿔가며, 각 조건에서 평형 상태의 압력·온도를 기록합니다.

조건 1: 얼음물 (~5°C)

대야에 물+얼음을 넣고, 페트병을 담급니다 (뚜껑과 센서 선은 물 밖으로). 5분 대기 후 시리얼 모니터에서 DS18B20 온도가 안정되면 그때의 압력과 온도를 기록합니다.

조건 2: 상온 (~23°C)

얼음물을 버리고 상온 물로 교체. 5분 대기 후 기록.

조건 3: 온수 (~45°C)

뜨거운 물을 부어 ~45°C로 맞춤. 5분 대기 후 기록.

조건 4: 고온수 (~65°C)

전기포트 물을 더 부어 ~65°C로 맞춤. 5분 대기 후 기록. ⚠️ 장갑 착용!

조건DS18B20 T (°C)T (K)BMP280 P (hPa)P/T (hPa/K)
① 얼음물____________
② 상온____________
③ 온수____________
④ 고온수____________

STEP 6 — 데이터 분석 (10분)

06

4개 조건의 P/T 비율을 계산합니다.

P/T = nR/V = 일정  (게이-뤼삭의 법칙)

P/T가 4개 조건에서 일정하면 → 등적 과정에서 P ∝ T 검증 성공!

또한, 이 데이터로 압력밥솥의 안전밸브 작동 압력TPMS 경고 시나리오를 시뮬레이션해봅니다.

자세한 계산은 결과보고 탭에서 수행합니다.

📝 나만의 실험 결과 보고서

센서에서 읽은 측정값을 입력하고, 직접 P/T를 계산한 후 검증하세요.

1. 실험 제목

등적 과정에서 온도-압력 관계 검증 (게이-뤼삭의 법칙)

2. 실험 목적

밀폐 페트병(고정 부피) 내부 기체의 온도를 변화시키고, 자작 디지털 센서(BMP280 + DS18B20)로 압력·온도를 정밀 측정하여 이상기체 법칙(PV = nRT)의 등적 조건(P/T = const)을 검증한다.

👤 학생 정보

3. 원시 데이터 입력

시리얼 모니터에서 읽은 안정 상태의 온도(°C)압력(hPa)을 입력하세요.

4. 데이터 처리 — 직접 계산하기

아래 공식을 참고하여 직접 계산한 결과를 입력하세요.

T(K) = T(°C) + 273.15   →   P/T (hPa/K)

내가 계산한 값

5. 실험 데이터 해석

6. 응용 사고

7. 오차 원인 분석

① 불완전한 밀봉

페트병 뚜껑의 글루건 밀봉부에서 미세한 공기 누출이 발생하면 압력 변화가 실제보다 작게 측정됩니다.

② 불완전한 열평형

5분이 부족하여 페트병 내부 공기 온도가 물 온도에 완전히 도달하지 못했을 수 있습니다.

③ 센서 선 경로의 열전달

뚜껑을 관통하는 센서 선을 통해 외부 공기와 미세한 열교환이 발생할 수 있습니다.

④ BMP280 센서 오차

BMP280의 절대 정밀도는 ±1 hPa입니다. 저온 구간에서는 이 오차의 상대적 영향이 커집니다.

8. 실험 성찰

예) 센서 제작 과정, 실시간 데이터를 보는 경험, 예상과 일치한 결과 등

예) 밀봉 어려움, 평형 시간, 센서 연결 문제 등

예) LCD 디스플레이 추가, SD카드 로깅, 다른 기체 실험 등

🎯 이상기체 법칙 퀴즈

이론과 실험을 잘 이해했는지 확인해봅시다! 각 문제를 풀고 정답을 확인하세요.