• 검색 결과가 없습니다.

STEAM R&E 연구결과보고서

N/A
N/A
Protected

Academic year: 2022

Share "STEAM R&E 연구결과보고서"

Copied!
10
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

STEAM R&E 연구결과보고서

(아두이노를 활용한 최적 조건의 교실 환경 연구 및 시제품 제작)

2017. 11. 30.

혜화여자고등학교

< 연구 결과요약서 >

과 제 명

아두이노를 활용한 최적 조건의 교실 환경 연구 및 시제품 제작

연구목표

● 교실의 냉난방병 예방을 위해 일정 온도차 이상이 되면 아두이노로 에어컨을 ON/OFF할 수 있어 쾌적한 교실 환경을 유지할 수 있다.

● 교실의 미세먼지 농도가 일정수치 이상이 되면 아두이노로 교실의 유리창의 모터를 돌려 창문을 열어 교실을 환기시킬 수 있다.

● 실생활문제를 해결해 더 나은 가치를 만들어본다.

연구내용

□ 이론적 배경 및 선행연구

○ 학교생활과 일상 생활 속에서 겪는 어려운 문제를 아두이노를 이용하여 해결하기 위해 회로와 프로그래밍을 탐구, 검색의 방법으로 교실환경을 쾌적하게 만들도록 연구해 보았다. 먼저 아두이노의 온도 센서를 이용해 교실 안팎의 온도차가 냉방병을 일으킬 온도차이상이 되면 스스로 에어컨이 꺼질 수 있도록 적외선센서를 이용하여 컨트롤 하였다. 그리고 밀폐된 교실의 미세먼지의 농도가 높아져서 학생들의 건강을 방해하므로 이를 예방하기 위해 미세먼지 센서를 부착하여 일정 수치 이상이 되면 아두이노가 신호가 보내고 모터를 돌려 창문을 열어 교실을 환기할 수 있도록 하였다.

□ 연구 주제 선정(목적 및 필요성)

○ 학교 교실에서 수업할 때 많은 학생들이 좁은 공간에서 수업을 하는데 냉방기와 난방기를 틀면서 교실의 안팎의 온도차로 냉난방병에 시달린다. 이러한 교실안의 문제점을 해결하기 위해 아두이노의 적외선 센서를 이용하여 에어컨을 자동으로 ON/OFF하도록 프로그래밍하였다.

○ 교실에서 발생하는 미세먼지를 미세먼지 센서가 인식하여 교실안 먼지가 심할 때 자동으로 창문이 열릴 수 있도록 교실환경을 개선해 보았다.

○ 교실의 문제점을 찾아, 아두이노 회로 제작과 코딩과정을 통해 새로운 센서를 만들어 교실의 문제점을 해결해 나가는 과정을 통해 실험정신과 새로운 시도와 실패를 경험 할 수 있는 연구자의 자세를 배울 수 있다.

○ 아두이노 센서를 통해 실생활 문제를 해결하는 과정에서 코딩교육과 제작과정에서 공학적 예술적 감각을 키울 수 있다.

○ 더 나아가 아두이노 센서로 교실의 최적 조건을 만들기 위해 여러 가지 센서를 만들고 3D프린터의 이용해 센서의 케이스를 제작하여 시제품을 만들어 학생 고객의 요구에 따라 제품을 만들어 맞춤제작 서비스(customizing : 커스터 마이징)하려 한다.

□ 연구방법

○ 사전조사를 위해 2학년 7반 교실에 온습도 센서를 부착하고 교실안팎의 온도차가 6도를 넘지 않도록 센서값을 수시로 확인하여 교실을 환기하도록 한다. 2학년 6반 교실은 평소와 같이 거의 밀폐된 교실에서 교실의 안팎의 온도차를 인식하지 못한체 하루를 보낸후 6반과 7반 학생의 반응을 조사한다. 아두이노 센서를 부착하고 온도의 차를 인식시킴으로써 학생들은 자주 환기를 하였으나 창문을 환기하는 것을 매우 불편해 하는 것을 알고, 에어컨을 자동으로 ON/OFF하고, 창문을 자동으로 환기가 되는 센서를 제작해 보기기로 하였다.

(2)

연구내용

□ 연구활동 및 과정

○ 가설 : 교실 환경개선에 도움이 되는 아두이노의 온습도 센서를 부착하고 학생들이 여름철에 잘 걸리는 냉방병의 원인인 교실안팎의 온도차를 수치화 하여 보여줌으로써 학생들은 스스로 환기를 할 것이다.

○ 실험설계 :

-교실안팎의 온도차를 인식하고 학생들은 교실 환기를 자주하였으나 몹시 불편해 했다. 그래서 교실안팎의 온도차가 설정온도 이상이 되면 자동으로 에어컨이 꺼지고, 켜지는 센서를 프로그래밍하여 교실의 환경을 편리하게 개선하였다.

-교실에 미세먼지가 많음을 인식하고 우리팀은 추가로 미세먼지 센서를 부착하여 교실에 먼지가 많으면 스스로 창문을 열어 환기할 수 있도록 미세먼지 센서를 아두이 노로 프로그래밍하였다.

○ 실험 과정

○ 시행착오 : 아두이노를 처음 접한 우리에게는 아두이노IDE를 활용하여 프로그래밍하는 데 많은 시행착오와 노력을 했다. 이러한 도전과 노력이 우리팀이 앞으로 무엇을 하더라도 큰 용기가 될거라 생각한다.

처음 접하는 아두이노와 각각의 센서들, 프로그래밍을 전문가로부터 열심해 배 웠다.

센서들을 이용하여 교실환경을 개선 시 킬 수 있는 여러 센서들을 우리 스스로 프로그래밍했다.

케이스를 모델링하여 3D프린터로 프린 팅하여 아두이노와 미세먼지 센서 담아 시제품으로 만들어 교실에 설치해 보았 다

123D프로그램을 이용하여 케이스를 모 델링하고3D프린터로 출력후 아두이노와 온습도 센서 담아 제작해 보았다.

연구성과

□ 연구 결과

○ 실험 결과 및 연구 결론 제시

□ 시사점

○ 이전에 해보지 않았던 코딩교육을 접하면서 어려운 프로그램을 해결해가는 과정에서 교과 공부에서 느낄 수 없었던 또 다른 성취감을 느끼면서 우리팀 스스로가 자신감을 얻을 수 있는 좋은 기회가 된 것 같다.

□ 향후 계획

○ 앞으로의 계획으로 스마트폰의 앱을 이용하여 에어컨과 창문의 모터를 제어할 수 있도록 탐구할 것이다.

에어컨 조절 적외선 센서 아두이노IDE를 이용하여 아두이노의 센서들을 작동시켰다.

물리준비실의 에어컨을 적외선 센서를 이용해 컨트롤함

모형 창문에 모터를 달고 미세먼지 센서가 신호를 보내 모터를 작동시켜

창문을 열고 닫는다.

주요어 (Key words)

아두이노, 온습도 센서, 미세먼지 센서, 냉방병, 교실의 환경

(3)

STEAM R&E 최종 보고서

과 제 명

아두이노를 활용한 최적 조건의 교실 환경 연구 및 시제품 제작

소속학교 혜화여자고등학교

1. 과제 개요

□ 연구목적

○ 연구 동기 및 배경

과제 시작 동기 : 학교생활과 일상 생활 속에서 겪는 어려운 문제를 아두이노로 해결하기 위해 우 리 팀은 모였다. 예를들어 교실에서 적정 온도와 습도를 유지하기 위해 아두이노의 온습도 센서를 이 용해 여름철 냉방병을 예방하는 것, 밀폐된 교실의 이산화탄소의 농도가 높아져서 뇌 기능이 떨어지는 것을 예방하기 위해이산화탄소 농도를 인지하게 만드는 센서를 달아 환기할 수 있도록 하는 것, 교실의 미세먼지를 수치화하여 학생들 스스로가 미세먼지를 인식하고 창문을 열어 환기할 수 있도록 아두이노 를 통해 실생활속의 문제를 해결하기 위해 연구를 시작하게 되었다. 교실 환경개선에 필요한 센서를 프로그래밍하여 여러 종류의 센서를 부착하여 교실에 설치하여 학생들에게 교실 환경을 위해 스스로 노 력할 수 있도록 만들었다.

최종 과제 동기 : 여러 개의 센서를 맞춤형으로 제작하여 교실에 설치하고 학생들은 교실의 미세먼 지라던가 온습도를 인식하고 환기를 자수 시키거나 에어컨 조절등 노력을 하는 것으로 보였으나 시간이 지나자 학생들은 센서를 잘 보지 않았고 능동적으로 교실 환경을 개선하려는 노력이 점점 줄어듬을 알 고 우리팀은 과제의 센서중 가장 학생들이 선호하고 교실환경에 가장 필요한 센서를 선택하여 학생들이 직접 에어컨을 끄거나 켜거나, 창문을 열거나 닫을 필요없이 자동을 창문이 열리고 닫히며 냉난방병 예 방을 위해 설정 온도 이상이 되면 자동으로 에어컨이 꺼지고 켜지는 시스템을 만들기로 했다. 이러한 자동화가 학생들에게는 너 나은 환경을 제공하는 것이라 판다해서 연구를 좀더 깊게 해보기로 하였다.

○ 필요성 및 목적

-사물에 센서를 부착하고 센서가 읽은 데이터를 실시간으로 알 수 있도록 하는 것이 요즘 정보통신과학기술(ICT) 분야의 가장 핫한 트렌드이다. 그래서 여러 아두이노 센서들을 코딩하여 교실에 설치하여 학습하기에 최적화된 교실에 대한 연구를 진행하고자 한다.

-학교의 교실은 점점 진화하고 있으나 아직도 첨단화 되어 있지 않고 이에 우리 팀은 학습하기에 알맞은 최적 조건을 다양한 논문을 통한 문헌 조사와 데이터를 수집하여 교실의 환경의 최적조건을 얻고, 아두이노의 센서 기술로 교실의 미세먼지, 농도, 냉난방병을 일으킬 온도 변화 등을 측정한 데이터를 수집하여 학습하기 에 알맞은 조건을 센서를 통해 통제하려 한다.

-더 나아가 이 센서로 3D프린터의 이용해 시제품을 만들어 학생 고객의 요구에 따라 제품을 만들어 맞춤제작 서비스(customizing : 커스터 마이징)하려 한다.

-아두이노의 미세 먼지 센서, 온도 센서, 농도 센서, 자이로 센서,를 활용하여 교실 학습에 최적의 조건을 찾고, 완성된 아두이노 센서들을 3D프린터를 이용하여 시제품을 제작한다

-STEAM R&E를 통해 교실 환경을 관찰함으로써 실생활문제를 해결해 더 나은 가치를 만드는 과정에서 실험을 두려워하지 않으며 새로운 시도와 실험에 의한 실수와 실패를 통해 연구자의 자세를 배우려한다.

○ 학교의 여건 및 연구의 제한점

- 본교는 과학중점학교로 아두이노와 3D프린터기를 갖추고 있으며, 학생들이 언제나 연구할 수 있도록 각 실험실이 개방되어 있으며, 영재학급이 운영되고 있어 R&E에 필요한 자문 강사로부터 비교적 쉽게 지도 받을 수 있는 환경이다.

□ 연구내용

아두이노를 활용하여 교실 환경의 최적화 탐색

○ 가설 : 교실 환경개선에 도움이 되는 아두이노의 온습도 센서를 부착하고 학생들이 여름철에 잘 걸리는 냉방병의 원인인 교실안팎의 온도차를 수치화 하여 보여줌으로써 학생들은 스스로 환기를 할 것이다.

○ 실험설계 :

-교실안팎의 온도차를 인식하고 학생들은 교실 환기를 자주하였으나 몹시 불편해 했다. 그래서 교실안팎 의 온도차가 설정온도 이상이 되면 자동으로 에어컨이 꺼지고, 켜지는 센서를 프로그래밍하여 교실의 환경을 편리하게 개선하였다.

-교실에 미세먼지가 많음을 인식하고 우리팀은 추가로 미세먼지 센서를 부착하여 교실에 먼지가 많으면 스스로 창문을 열어 환기할 수 있도록 미세먼지 센서를 아두이노로 프로그래밍하였다.

○ 사전조사를 위해 2학년 7반 교실에 온습도 센서를 부착하고 교실안팎의 온도차가 6도를 넘지 않도록 센서값을 수시로 확인하여 교실을 환기하도록 한다. 2학년 6반 교실은 평소와 같이 거의 밀폐된 교실에 서 교실의 안팎의 온도차를 인식하지 못한체 하루를 보낸후 6반과 7반 학생의 반응을 조사한다. 아두이 노 센서를 부착하고 온도의 차를 인식시킴으로써 학생들은 자주 환기를 하였으나 창문을 환기하는 것을 매우 불편해 하는 것을 알고, 에어컨을 자동으로 ON/OFF하고, 창문을 자동으로 환기가 되는

(4)

센서를 제작해 보기기로 하였다.

○ 완성된 아두이노 센서들을 케이스에 담아 시제품을 제작하기 위해 123D프로그램으로 모델링하여 3D프린 팅한다.

- 123D 사용법을 익히고, 3D프린터기의 코딩을 익히도록 한다.

□ 연구주제의 선정

○ 학교 교실에서 수업할 때 많은 학생들이 좁은 공간에서 수업을 하는데 냉방기와 난방기를 틀면서 교실의 안팎의 온도차로 냉난방병에 시달린다. 이러한 교실안의 문제점을 해결하기 위해 아두이노의 적외선 센서를 이용하여 에어컨을 자동으로 ON/OFF하도록 프로그래밍하였다.

○ 교실에서 발생하는 미세먼지를 미세먼지 센서가 인식하여 교실안 먼지가 심할 때 자동으로 창문이 열릴 수 있도록 교실환경을 개선해 보았다.

○ 교실의 문제점을 찾아, 아두이노 회로 제작과 코딩과정을 통해 새로운 센서를 만들어 교실의 문제점을 해결해 나가는 과정을 통해 실험정신과 새로운 시도와 실패를 경험할 수 있는 연구자의 자세를 배울 수 있다.

○ 아두이노 센서를 통해 실생활 문제를 해결하는 과정에서 코딩교육과 제작과정에서 공학적 예술적 감각을 키울 수 있다.

2. 과제 수행 내용

□ 이론적 배경 및 선행 연구 1) 아두이노

아두이노(arduino)는 AVR이라는 마이크로 컨트롤러를 기반으로 한 오픈소스 원보드 마이컴이다. 예전 에는 이런 시스템을 설계하고 다루기 위해서는 전기/전자와 관련된 전문적인 기술이나 지식이 필요했다.

이 보드의 특징은 그러한 어려움을 극복하고자 기술 숙련도가 낮은 디자이너 혹은 예술가들을 대상으로 설계된 것이다. 따라서 비전공자들도 손쉽게 익히고 사용할 수 있다는 큰 장점을 갖는다.

2) 아두이노 프로그램

아두이노에 업로드할 프로그램을 코딩할 수 있는 프로그램이다. 통합개발환경(IDE)으로 제공되는데, 이 프로그램을 통해서 아두이노에 업로드할 프로그램을 코딩할 수 있다. 자바로 쓰여졌으며, 운영체제의 제 한이 없다. (윈도우, 맥, 리눅스 모두에서 쓰일 수 있다.) 아래의 사진과 같은 구조로 이루어져 있다.

아두이노 보드 아두이노 프로그램

3) 회로 작성 및 연결

아두이노는 모든 회로가 온라인 상에 오픈되기 때문에, 회로 작성이나 연결의 경우에는 GitHub 사이 트 (https://github.com/arduino/Arduino/)를 참고하면 된다. 먼저 회로는 아두이노를 중심으로 해서 이루 어지는데, 보통은 브레드 보드에 센서를 연결하고 그를 전선을 통해 아두이노로 연결한다.

4) 코딩

코딩 역시 GitHub 사이트를 참고하면 된다. 기본적인 예제가 업로드 되기 때문에 기본적인 센서 이용 에서 더 응용을 할 경우에만 그 예제에 추가적으로 코딩을 하면 된다. 아두이노의 경우 기본적으로 void setup()과 void loop() 함수를 중심으로 프로그램이 코딩되는데, 먼저 void setup()은 아두이노 보드를 켤 때나 재설정 시 호출되는 함수이다. 변수 설정, 핀 모드 초기화, 라이브러리 사용 시작등을 할 수 있는 함수이다. void loop()은 c언어에서 반복문의 개념으로써, 아두이노를 사용하는 동안 반복적으로 구동되 어야하는 프로그램을 집어넣으면 된다.

(5)

□ 1단계_연구 내용 (A) 1. 교실의 온습도 측정

온습도 측정기의 회로도 온습도 측정기

프로그래밍

▶ 장소 : 2학년 7반 교실

▶ 교실환경 : 여름철 냉방기를 켠 후 교실환기 를 잘 시키지 않아 폭염이지만 교실에서는 담요 를 덮거나 긴팔을 주로 입고, 복도와의 온도차가 심하여 냉방병이 걸린 친구들이 많은 반.

▶ 실험 : 교실안팎에 아두이노로 직접 제작한 온 습도 센서를 부착하고 교실과 밖의 온도가가 6도 를 넘지 않도록 냉방기를 끄고 환기를 시킬 수 있도록 7반 학생들에게 알려준다.

▶ 정성적 결과 : 센서가 있어 교실안팎의 온도차 를 인식하여 스스로 교실을 환기할 수 있도록 하 는데 도움을 주는가?

▶ 정량적 접근 : 온습도 센서를 부착한 반의 교 실안팎의 온도차의 데이터를 수집한다.

온습도 센서를 부착하지 않는 반의 교실안팎의 온도차 데이터를 수집하여 데이터를 분석한다.

2. 교실의 이산화탄소 센서와 자이로 센서 활용_(1단계)

이산화탄소 측정기 자이로 센서

<이산화탄소 센서 소스>

프로그래밍

▶ 장소 : 2-7반

▶ 실험 : 미세먼지와 이산화탄소의 수치가 높으면 교실을 환기하도록 한다.

▶ 정성적 결과 : 학생들 스스로 센서값을 보면서 교실을 환기한다.

▶ 정량적 접근 : MBL을 이용하여 센서가 있는 반과 없는 반의 데이터를 수진하여 교실환경을 분 석한다.

(6)

3. 그 외 교실에 활용할 여러 센서들 완성_(1단계)

미세먼지 측정기의 회로도 미세먼지 측정기

기울기 센서 소리센서

지문센서 압전센서

초음파 센서 토양온 ·습도 센서

□ 1단계_연구 방법 (A) 가설설정

아두이노 센서들을 활용하여 우리가 가장 많이 생활하고 있는 교실 환경속의 문제점을 인지한다면 더 나은 교실 환경을 만들 수 있을 것이다. 그리고, 아두이노의 미세 먼지 센서, 온도 센서, 농도 센서, 자이로 센서를 활용하여 교실 학습에 최적의 조건을 찾아, 완성된 아두이노 센서들을 3D프린터 를 이용하여 시제품을 제작해 봄으로 융합적인 아이디어와 창의력을 발휘할 수 있는 기회를 가질 수 있을 것이다.

실험설계 - 아두이노 센서 제작

1. 학생들이 주로 생활하는 교실의 환경에 대해 조사해 본다.

2. 아두이노에서 어떤 센서들을 사용할 것이가 팀원끼리 협의해 본다.

3. 조사한 내용을 바탕으로 아두이노 센서를 이용해 회로도를 구성한다.

4. 아두이노 프로그램을 이용하여 코드를 작성한다. 전문가의 도움을 받아 아두이노 프로그램밍을 한다.

5. 제작한 센서들을 케이스에 넣기 위해 123D프로그램을 이용하여 모델링한다.

6. 모델링한 후 3D프린팅하여 시제품을 완성하도록한다.

7. 제작한 센서들을 교실에 설치하여 교실환경에서 미세먼지, 농도, 교실안팎의 온도차이 등을 학생들이 인지하도록 한다.

8. 센서들이 알려주는 수치들을 인식하고 교실을 환기 하는 등 및 쾌적한 교실 환경이 되도록 학생들 스스로 노력한다.

실험과정

<5월>

교실에서 주로 생활하는 학생들에게 교실환경은 어떠 한가?라는 질문을 던지고 인식된 문제 상황를 해결 하 고 싶었다. 요즘은 코딩교육이 대세이므로 아두이노센 서(이산화탄소 측정 장치, 지문 인식 장치, LED밝임 장 치 등)를 활용한 장치로 우리들의 생활의 문제점을 해 결 하고 싶어 협의를 하였고, 계획을 세웠다.

<5월-6월>

전문가의 도움으로 아두 이노 코딩교육이 시작되 었고, 우리는 계획하는 데로 아두이노 회로들을 설계·제작하게 되었다.

(7)

<7월>

학교에서 운영하는 꿈·끼 주간을 활용하여 우리는 아두이노로 교실에 설치할 센서들을 제작하였고, 시제품화 할 수 있도록 3D프린팅하여 케이스도 제작하였다.

<7월>

프로래밍과정과 아두이노 센서들의 케이스를 입히기 위해 3D모델링과정의 연구의 흔적들

□ 연구 결과를 위한 설계

▶ 장소 : 2학년 7반 교실에 센서들을 부착한다.

▶ 실험 : (온습도 센서) 교실안팎에 아두이노로 직접 제작한 온습도 센서를 부착하고 교실과 밖의 온도가가 6도를 넘지 않도록 냉방기를 끄고 환기를 시킬 수 있도록 7반 학 생들에게 알려준다.

(미세먼지 센서) 미세먼지 센서를 부착하고, 센서값이 증가하면 환기를 하도록 한 다.

(이산화탄소 센서) 이산화탄소 센서를 부착하고, 센서값이 증가하면 환기를 하도록 한다.

□ 1단계 연구 결과 (A)

학생들이 실제로 창문을 열거나 닫는 등의 행동 변화를 보였다. 하지만 시간이 지나자 학생들 의 반응은 줄어들었고 정말로 학생들에게 맞는 교실환경 개선 방안을 강구하게 되었다.

따라서 아이들의 수동적인 움직임이 아닌 기계장치의 자동적인 제어를 통해서 교실환경을 개 선 할 것이다. 이에 맞는 연구(B)를 설정 하였다.

(8)

□ 연구 B

1.원리 및 동기

학생들이 자주 걸릴 수 있는 냉방병을 예방하기 위해 온도를 설정하여 에어컨을 조정하는 아이디어가 나왔다. 그래서 에어컨 리모컨에서 적외선 신호를 이용한다는 원리를 이용하여 아두이노 적외선 센서를 통해 온도에 따라 에어컨의 가동 여부가 조절 되는 소형 리모컨을 만든다는 아이디어에서 착안하였다.

또한 요즘 문제가 되고 있는 미세먼지와 교실내의 청결문제를 해결하자는 아이디어가 나왔다. 따라서 아두이노 제어가 가능한 모터를 창문에 달아 설정에 도달하게 되면 자동적으로 창문을 제어할 것 이다.

2. 가설설정

- 아두이노와 모터를 이용한다. 아두이노와 모터가 잘 연결되어서 모터가 돌아가는지 알아본다. 아두이노가 설정 값이 되면 창문이 자동적으로 열리게 한다.

- IR송신 센서와 IR 수신 센서를 이용한다. 1차적으로 에어컨 리모컨에서의 적외선 신호를 IR 수신 센서 를 통해 받아서 에어컨을 끄고 켤 때의 코드값을 받는다. 그 코드값을 저장해둔 후, IR 송신 센서와 온 습도 센서를 설치하여 온습도 센서에서 받아온 온습도 값이 일정 온도 이상이 되면 IR 송신 센서에서 에어컨을 키는 코드값의 적외선을 방출하게 하고, 일정 온도 이하가 되면 에어컨을 끄는 코드값의 적외 선을 방출하게 하였다.

3. 실험설계

1) 아두이노에 적합한 모터를 찾아본다.

2) 아두이노와 모터의 연결여부를 확인한다.(창문을 달지 않은 상태로 모터를 실험한다. ) 3) 모터 확인이 끝나면 창문에 달아 실험한다.

4) 창문에서도 완만하게 작동이 되면 아두이노 코딩을 한다.(설정 온도와 미세먼지 값을 설정한다.) 5) 설정 값이 되도록 환경을 조성하고 실제로 되는지 실험한다.

4. 시행착오 1)모터 오작동

모터의 작동이 제대로 되지않았다. 처음에 사용한 모터는 전기를 충분히 주었음에도 불구하고 제대로 작동되지 않았다. 따라서 처음에는 회로, 전선, 코드, 모터 모두를 고쳐보았으나 해결되지 않았다. 따라서 마지막으로 배터리를 교체해보았을 때 모터의 작동을 성공하였다. 따라서 창문에 설치하였으나, 모터가 제대로 돌아가지 않았다. 따라서 모터의 질량 문제라고 판단하여 처음에 사용하였던 가벼운 모터로 교 체하였다. 그를 통해 문제를 해결할 수 있었다.

2)아두이노 오작동

컴파일 시 코딩에 문제가 없었으며 회로에도 문제가 없었으나, 아두이노에 업로딩이 되지 않았다. 따 라서 전선, 포트를 교체해 보았으나 되지 않았다. 보드를 교체했을 때 처음에는 되었으나 이후에 잘 되 지 않았다. 그래서 문제점을 다시 확인해보니 모터 쉴드와 전선 사이의 연결 문제였다. 따라서 피복을 벗기고 다시 나사를 조여서 연결을 다시 하였다. 이를 통해 문제를 해결하였다.

3)창문-아두이노 연결 오작동

처음 연결 시 제대로 모터가 작동되지 않고 힘이 미약하였다. 따라서 가벼운 스티로폼임에도 불구하 고 모터가 스티로폼을 밀지 못했다. 따라서 모터 밸트를 팽팽하게 하고, 틀도 수평으로 맞춰보았으나 되 지 않았다. 모터도 교체해 보았으나 교체한 모터가 너무 큰 탓에 틀에 맞지 않았다. 따라서 원래의 모터 로 재교체 한 후에 틀 자체의 기울기를 조정하다가 가장 잘 돌아가기 위해서 틀을 눕혔다. 이를 통해 문제를 해결하였다.

4) IR 수신 센서

IR 수신 센서를 통해 에어컨의 적외선 신호 코드값을 받아올 때에, 리모컨 신호를 제대로 받지 못하는 문제가 발생하였다. 이는 센서의 교체를 통해 해결하였다. 또한 코드의 교체를 통해 encoding 방식이 어 떤 제조사의 방식인지 알 수 있는 코드를 사용하였다. 리모컨의 경우 그 리모컨의 제조사가 시리얼 모 니터 창에 나타나게 되는데, 이를 통해 사용 중인 리모컨과 리모컨 외의 다른 곳에서 오는 적외선 신호 들을 구별할 수 있게 하였다.

5)온습도 센서

온습도 센서에서 제대로된 온도 값을 받아오지 못하고 read fail 이라는 오류가 계속해서 뜨는 문제가 발생하였다. 이는 센서의 교체를 통해 해결하였다. 센서의 문제 때문에 발생한 오류로 보인다.

6) IR 송신 센서

에어컨 신호값을 보낼 때, 켜지는 신호는 잘 보내나 꺼지는 신호는 잘 못 보내는 문제가 발생하였 다. 신호를 한 번 보내게 할 때 잘 들지않는 것으로 보아, 꺼지는 신호가 잘 보내지지 않는 것으로 판단 되었다. 따라서 꺼지는 신호는 여러번 보낼 수 있도록 코드를 수정하여 이를 해결하였다.

7) 온습도 센서와 IR 송신 센서와의 조합

26도 이상이면 에어컨이 켜지고, 25도 이하면 에어컨이 꺼지는 것으로 설정하였다. 여기에서 온도만 조 절할 경우 온도에 따라 계속해서 IR 센서에서 신호를 보낼 것이기 때문에 이 점을 우려하여 변수 K를 선언하였다. 초기값을 0으로 설정하였는데, K의 값이 0이고 온도가 26도 이상일 때 (논리곱 연산자 사 용) 에어컨이 켜지는 신호를 보내고, K의 값을 1으로 재설정하였다. 그리고 K의 값이 1이고 온도가 25도 이하일 때 (논리곱 연산자 사용) 에어컨이 꺼지는 신호를 보내고, K의 값을 0으로 재설정하였다. 이때 발생하는 문제점은 신호를 한 번 보냈을 때 그 신호가 에어컨까지 닿지 않으면 다시 그 신호를 보낼 수 있는 시도를 할 수 없다는 문제점이 발생하므로, 변수 K는 사용하지 않는 것으로 코드를 수정하여 이 점을 해결하였다.

(9)

5. 연구활동 및 과정 6.소스 코드 <에어컨 자동조절의 적외선 센서 소스코드>

#include <DHT.h>

#define DHTTYPE DHT11 DHT dht(2, DHTTYPE);

int incomeByte[6];

int data;

int z=0;

int sum;

int enA = 10;

int in1 = 9;

int in2 = 8;// motor two

int enB = 5;

int in3 = 7;

int in4 = 6;

void setup() {

Serial.begin(2400);

// set all the motor control pins to outputs pinMode(enA, OUTPUT);

pinMode(enB, OUTPUT);

pinMode(in1, OUTPUT);

pinMode(in2, OUTPUT);

pinMode(in3, OUTPUT);

pinMode(in4, OUTPUT);

}

void demoOne()//왼 {

// this function will run the motors in both directions at a fixed speed

// turn on motor A digitalWrite(in1, HIGH);

digitalWrite(in2, LOW);

// set speed to 200 out of possible range 0~255 앞

analogWrite(enA, 200);

// turn on motor B digitalWrite(in3, HIGH);

digitalWrite(in4, LOW);

// set speed to 200 out of possible range 0~255

analogWrite(enB,200);

delay(8000);

}

void demoTwo() {

// now change motor directions digitalWrite(in1, LOW);

digitalWrite(in2, HIGH);

analogWrite(enA, 200);

digitalWrite(in3, LOW);

digitalWrite(in4, HIGH);

analogWrite(enB,200);

delay(9500);

}

void loop() {

while (Serial.available() >0) { data=Serial.read();

if(data == 170) { z=0;

incomeByte[z]=data;

} else { z++;

incomeByte[z]=data;

} if (z==6) {

sum=incomeByte[1]+ incomeByte[2]+

incomeByte[3]+ incomeByte[4];

if(incomeByte[5]==sum &&

incomeByte[6]==255) {

f l o a t vo=(incomeByte[1]*256.0+incomeByte[2])/10.24*5

;

(10)

float c=vo*700;

Serial.print("Dust: ");

Serial.print(c);

Serial.print("g/m");

Serial.print("Temp: ");

Serial.print(dht.readTemperature());

Serial.print("C ");

Serial.print("Hum: ");

Serial.print(dht.readHumidity());

Serial.println("%");

if(c>=400&&dht.readTemperature()<=24){

demoTwo;

delay(40); } if(c<=390){

demoOne;

delay(40); } } else{

z=0;

Serial.flush();

data='/0';

for(int m=0; m<7; m++) { incomeByte[m]=0;

} } z=0; } } }

<미세먼지와 온습도 센서로 DC모터 제어 소스코드>

int enA = 10;

int in1 = 9;

int in2 = 8;

// motor two int enB = 5;

int in3 = 7;

int in4 = 6;

void setup() {

// set all the motor control pins to outputs pinMode(enA, OUTPUT);

pinMode(enB, OUTPUT);

pinMode(in1, OUTPUT);

pinMode(in2, OUTPUT);

pinMode(in3, OUTPUT);

pinMode(in4, OUTPUT);

}

void demoOne() {

directions at a fixed speed // turn on motor A digitalWrite(in1, HIGH);

digitalWrite(in2, LOW);

// set speed to 200 out of possible range 0~255

analogWrite(enA, 200);

// turn on motor B

digitalWrite(in3, HIGH);

digitalWrite(in4, LOW);

0~255

analogWrite(enB, 200);

delay(2000);

digitalWrite(in1, LOW);

digitalWrite(in2, HIGH);

digitalWrite(in3, LOW);

digitalWrite(in4, HIGH);

delay(2000);

digitalWrite(in1, LOW);

digitalWrite(in2, LOW);

digitalWrite(in3, LOW);

digitalWrite(in4, LOW);

}

void demoTwo() {

digitalWrite(in1, LOW);

digitalWrite(in2, HIGH);

digitalWrite(in3, LOW);

digitalWrite(in4, HIGH);

for (int i = 0; i < 256; i++) {

analogWrite(enA, i);

analogWrite(enB, i);

delay(20); }

for (int i = 255; i >= 0; --i) {

analogWrite(enA, i);

analogWrite(enB, i);

delay(20);

}

digitalWrite(in1, LOW);

digitalWrite(in2, LOW);

digitalWrite(in3, LOW);

digitalWrite(in4, LOW);

}

void loop() {

demoOne();

delay(1000);

demoTwo();

delay(1000);

}

7.결과

26도 이상에 에어컨이 켜지고, 25도 이하에 에어컨이 꺼져, 정상적으로 작동하는 것을 여러 번에 걸쳐 확인하였다.

□ 시사점과 향후계획

○ 이전에 해보지 않았던 코딩교육을 접하면서 어려운 프로그램을 해결해가는 과정에서 교과 공부에서 느낄 수 없었던 또 다른 성취감을 느끼면서 우리팀 스스로가 자신감을 얻을 수 있는 좋은 기회가 된 것 같다.

○ 앞으로의 계획으로 스마트폰의 앱을 이용하여 에어컨과 창문의 모터를 제어할 수 있도록 탐구할 것이다.

8. 참고문헌

○ 학교실내공기질과 환경성의 연관성조사 및 예방대책에 관한 연구/신동천

○ 국내 교육시설물의 효율적인 안전점검 개선방안에 대한 연구- 아두이노 센서를 중심으로 /우미선

참조

관련 문서

기존에 연구가 진행된 혈액의 일반타액단백질의 농도 분석을 통해 나타난 결과 정상인에 비해 당뇨 환자의 일반타액단백질의 농도가 높은 것으로 나타났었고, 이번 실험을

종이 제작 과정에 대한 이론을 공부하고 제작 과정에 따라 그 원리를 적용하여 학교에 있는 실험도구들을 사용하여 직접 종이를

빛이 최단경로를 찾음에 대한 여러 예를 찾아보고 일상생활에서 자연의 효율적인 예를 찾아보고 함수로 표현하며 자연의 행위에서 우리의 일상 생활를 대입해본다.외 기타등등

본 연구를 통하여 부패 식품 및 오염 판별을 위한 새로운 방식을 제안하 였고, 티라민 정량 분석을 위해 티라민과 반응하는 효소인 MAO 효소를 바이오센서

유용 미생물 발효추출, 친환경적이고 무해한 벌레퇴치제.. 많은 사람들이 그런 경험을 해 보았을 것이고 잠이 깬 것에 화가 나서 방에 분사형 살충제를 대량으로 분사하는

[r]

고도를 구한 후 Excel에 아래의 식에 입력한 후 최종적으로 비교성, 변광성 의 지구곡률 보정 대기량을 구해 줍니다.. 그래프를 그려 대기소광 계수를 그립니다. Logger

결론적으로 띠를 심어 토양의 변화를 관찰한 결과 수분함량과 전기 전도 도는 증가하였고 pH는 감소하였으며 띠의 개체수는 대체적으로 빠르게 증가하는 모습을 보였다..