공부하는 북극성

[반응속도, 파이썬] 농도에 따른 반응속도 측정, 1차 반응의 반감기 구하기 (PASCO 무선 분광계 UV-vis) 본문

나누는 삶/수업자료

[반응속도, 파이썬] 농도에 따른 반응속도 측정, 1차 반응의 반감기 구하기 (PASCO 무선 분광계 UV-vis)

북극성 ✰ 2024. 7. 7. 00:08
728x90
반응형

 

들어가며 

최근 무선 센서들을 사용하면서 센서 사용 결과물들을 어떻게하면 더 예쁘게(?) 사용할 수 있을까를 고민하면서 이런 저런 시도들을 해보고 있다. 

(일이 바쁜데... 계속 이런 짓을 하느라고 잠을 못자서 안구에 고통이 너무 심하다.)

 

우리 선생들께서 구매하셔서 잘 쓰고 있는 PASCO 무선 센서 중에는 분광계 spectrometer 가 있다. 

한 대에 150만원 가량하는 좀 비싼 물건이긴한데, 분광계인데 엄청 가볍고 작아서 쓰임새가 정말 좋다. 

진짝 작고 가벼움

 

태블릿 pc가 있다면, 어플 사용도 굉장히 간편하고 

생각보다 농도를 굉장히 정확하게 잡는다는 장점도 있다. 

 

PC 버전 spectrometry 사용 화면

 

그래프도 진짜 예쁘게 나옴. 

 

이걸 CSV 파일로 받아서 엑셀로 추세선을 그리고 반감기를 찾아내고 

y축의 농도항을 ln농도 항으로 바꾼다면 반응속도 상수도 구할 수 있다. 

 

그런데 매번 이런 작업을 하면서 느끼는 것이 일일이 해당하는 값을 파일 내에서 훑어가면서 찾거나 

추세선보고 따로 계산하는 작업들을 해야한다는 것이 

수업 시간에 학생들과 처음 개념 수업 시에 단계별로 밟아가기에는 번거롭다. 

그러다보니 막상 수업 목표에 도달하기가 어렵다는게 굉장히 신경이 쓰였다. 

 

물론 데이터를 엑셀로 산점도 그래프를 그린 후에 추세선을 그리고 그것을 통해 값을 찾아내 나가는 것은

실험을 수행하고 학생들이 분석하는 능력을 길러가는 과정에서는 좋지만 

 

개념 수업시에는 도움이 되지 않기때문에 

 

개념 수업시에 교실에서 가벼운 무선센서를 이용하여 현상을 함께 관찰하고 개념을 정립해나가는 과정에서는 조금더 빠르고 쉬운 방법이 필요하다고 생각이 되었다. 

 

그래서 CSV 파일을 입력하면 바로 그래프를 그려주고, 반감기를 찾아주는 프로그램을 만들어야겠다고 생각하게 되었음. 

결국 만들었다. 

내 안구건강과 바꾸었다. 

2학기 화학실험때에는 애들이랑 다 해볼 것이다. 

 

 

만들어낸 것의 최종 결과물

 

<실험>

1. 쓰일 화학 반응식

수산화 이온의 친핵성 공격에 의한 크리스탈 바이올렛의 탈색 반응을 이용할 것이다. 

 

이에 대한 근거를 원한다면 다음 링크를 따라가서 내용을 확인해보면 된다. (정말 좋다) 

https://rdcu.be/dMWZL(DOI: https://doi.org/10.1038/s41598-020-78937-4)

 

 

수산화 이온의 친핵성 공격에 의한 크리스탈 바이올렛의 탈색 반응
출처: Kinetics and thermodynamics of hydrolysis of crystal violet at ambient and below ambient temperatures

 

 

학생들과 함께할 때에는 원래 식은 소개만 해주고 

 

그냥 간략하게 

 

$ \mathrm{CV^{+}}\ (violet)\;+\;\mathrm{OH^{-}}\; \rightleftharpoons \;\mathrm{CVOH}\ (colorless) $ 

 

라고 축약해서 다루려고 한다. 

 

2. 준비물

가. 시약 
0.0015mM 크리스탈 바이올렛
0.1M 수산화나트륨(NaOH) 

나. 기구
PASCO 무선 분광계
큐벳 여러개(몇 가지 농도로 설계되어 있는 실험이냐에 따라 다름. 실제 실험군 개수 + 보정용 1개 + 파장 디텍트용 1개 준비하면 됨) 
피펫 (1mL씩 주입할 수 있었으면 함. 마이크로 피펫 사용하면 굉장히 빠르고 쉬움)
spectrometry 어플 혹은 PC 프로그램 

(용액을 만들거나 큐벳을 세워놓는 등의 자잘한 기구는 생략한다.)

 

크리스탈 바이올렛의 농도 단위가 오타인가 싶을 수 있지만, 엄청나게 진한 색상을 나타내기때문에 저렇게 많이 묽혀줘야 쓸만하다. 

500 mL 부피 플라스크에 0.006 mM 을 먼저 만든 후에 묽혀서 사용했다. 부피 플라스크의 글씨가 안 보일 지경이다.

 

3. 실험 방법 

이건 설계자에 따라서 알아서 준비하면 된다. 

 

나의 경우, 0.0015 mM CV 2 mL 와 0.1 M NaOH 1 mL 를 함께 cuvet 에 micro pipet 을 이용하여 넣고 모니터링했다. 

(프로그램에서 찾아주는 최대 흡수 파장인 560 nm와 이론적 최대 흡수 파장인 590 nm 에서 두 번 확인했다.)

 

이후에는

CV 1 mL + 증류수 1 mL + NaOH 1mL 

CV 1 mL + NaOH 2mL 

NaOH 를 0.5배로 묽혀서 위와 같은 부피로 섞어서 하는 등 려ㅓ가지 농도로 수행해 봄. 

 

실험 설계자가 원하는 목표에 따라 알아서 설계하면 될 것 같다. 

 

 

<코드>

1.  준비해야 하는 것 

가. pandas 설치하기
나. numpy 설치하기
다. matplotlib 설치하기
라. scipy 설치하기

마. spectrometry에서 export 한 CSV 파일

 

2. 코드 공유

반응속도 반감기 구하기_최종.py
0.00MB

파이썬 파일

반응속도 반감기 구하기(학생용)_최종.ipynb
0.08MB

파이썬으로 작성된 notebook 버전.

반응속도 반감기 구하기(학생용)_코랩버전.ipynb
0.08MB

이것도 파이썬으로 작성된 notebook 버전. Google Colab에서 열면 된다. 

0.0015mMCVat590_최초.csv
0.02MB

연습용 내가 수집한 CSV 파일.

 

3.  코드 사용법

.ipynb 를 VScode 에서 연 모습

 

 

 

.ipynb 를 Google Colab 에서 연 모습

 

그 사이에 이것저것 찾아보면서 칼럼 이름을 직접 변경하는게 아니라 

파일만 입력하면 알아서 칼럼 수정도 해주는 방법을 터득해서 사용이 조금 더 쉬워졌다. 

 

이번에는 코랩 버전으로 설명해볼까 한다. (애들이 많이 쓰더라.)

 

구글 코랩에서 [런타임] - [모두실행]을 하면 다음과 같이 CSV파일의 경로를 입력하라고 나온다. 

모두 실행을 한 결과

 

코랩에서는 구글 드라이브 내의 경로를 복사해서 입력해야한다. 

 

그 방법을 알아보자.  

왼쪽에 위치해 있는 폴더 모양을 누르면 

 

구글 드라이브 모양의 폴더가 보임. 

이걸 눌러서 활성화 시키고, 이 안에 CSV 파일을 드래그 앤 드랍하여 업로드 하면 된다. 

그리고 오른쪽 버튼 눌러서 경로 복사하여 붙여넣고 Enter 키 를 누르자. 

like this.

 

크리스탈 바이올렛의 590nm 에서의 몰 흡광계수는 87000 M⁻¹cm⁻¹.

크리스탈 바이올렛의 경우 87000을 입력하면 된다. (큐벳 길이가 1cm 라고 가정함. 보통 1.25 cm 인 것 같긴한데...)

 

몰 흡광계수를 입력하고 나면 그래프 확인이 가능하다. 

 

 

그래프 내 오른쪽 위에 보이는 박스는 평균 반감기를 보여주는 것이다. 

생각보다 반감기가 아주 일정하지는 않아서 평균값을 구해서 다뤄야 함. 

학생들이랑 그 이유도 함께 논해보면 좋을 것 같다. 

 

그래프 색상은 일부러 크리스탈 바이올렛 색상이랑 맞춰봤는데 마음에 안 들면 바꿔서 사용하면 된다. 

 

(보라색 그래프 밑에 깔린 하늘색 그래프는 그래프 노이즈를 지우기 전 실제 수집된 데이터로 그린 그래프이다.)

 

나오며

들어가며 가 너무 길었는데 그 이유는

단순히 그냥 해보고 싶어서 1도 모르는 것을 찾아가며 했더니 너무 힘들었기 때문이다. (기말고사 기간이라 애들한테도 못 물어봤음) 

결정적인 것은 남의 도움 받지 않고 서칭으로 여기까지 온게 스스로 기특하기 때문... 

(subplot 하고 사이즈 조절하는거 때문에 애 먹었었는데 예쁘게 만들고 나니 뿌듯하다) 

 

이 무선 센서가 진짜 들고 다니면서 쓰기 좋고, 그냥 교실에 미러링해서 흡광도 변하는 걸 학생들과 함께 확인할 수 있기때문에 완전 추천한다. 

 

그러고 바로 코드 돌려서 반감기 거의 일정하게 나오는 거 보여주고 같이 해석해보면 개념공부할 때 너무 좋을듯. 

아직 1학기도 안 끝났지만, 2학기에 해봐야히 하면서 굉장히 신나있다. 

재밌었으면 좋겠다!!! 

 

 

우리 애기들 1학기에 고급화학하느라고 많이 힘들었을텐데 2학기에는 실험과목으로 많이 즐길 수 있었으면 좋겠다. 

실험실 많이 데려가줄게...! 

나를 갈아넣어볼게!!!! 

행복하자 얘들아. 

 

 

 

화학 파이썬

728x90
반응형