탄소배출량을줄이기위한스마트가로등을만들어보자. 학습목표 * * * * 아두이노를이용하기위한기본프로그래밍을이해할수있다. 생활에도움을주는센서와활용할수있는아두이노프로그래밍을이해할수있다. 일상생활에서탄소배출량줄이기위한노력을할수있다. 탄소배출량을줄이기위한전기절약형스마트가로등을만들수있다. -4-
01. 아두이노만나기 왜 아두이노를사용하기위한기본사항에대 한기능을익힌다. 아두이노 (Arduino) 란? 아두이노보드에대하여알아보자. 아두이노는청소년학생들의손바닥보다작은크기의마이크로컨트롤러 (Micro Controller) 이다. 크기는작아도할수있는일은많다. 우리가사용하는아두이노 UNO 제품은여러가지로구성되어있는데, 어떠한기능들을할까? 아두이노는예술가용보드라할수있는와이어링 (Wiring) 을가공한것으로 2004년에개발되었다. 와이어링은사용하기쉬운도구이지만, 전체부품들이고가인까닭에취미나교육을위해사용하기에는적합하지않은점을개선하여제작하게되었다. 와이어링, 아두이노는모두공통적인생각이있는데, 그것은바로피지컬컴퓨팅 (Physical Computing) 이다. 정해진장치가아닌인간중심의표현을어떻게하면보다쉽게컴퓨터에전달할것인가 에대한고민으로부터시작된것이피지컬컴퓨팅이다. 아두이노 UNO R3 의구조 -5-
아두이노보드를구성하는것들 피지컬컴퓨팅 (Physical Computing) 컴퓨터는우리일상생활에서밀접하게존재하며급속도로발전하고있다. 하지만, 초기의컴퓨터와현재의컴퓨터를비교하였을때차이가없는것이있다. 바로입력과출력과정이다. 사람의표현은다양하다. 하지만, 현재의컴퓨터는키보드, 마우스, 모니터, 프린터등과같이단순하며변함이없다. 키보드의타이핑, 마우스의클릭, 모니터의시각효과를넘어선물리적인방법즉, 손동작, 움직임, 온도을통한정보를습득하는것이피지컬컴퓨팅이다. 마이크로컨트롤러 (Micro-Controller) MCU(Micro Controller Unit) 라고도불리우며, CPU, ROM, RAM, I/O Port, Timer/Counter, Interrupt 처리기가하나의반도체칩에집적되어있다. 따라서, 크기가상당히작다. 제품의가격이저렴하고융동성및확장성이용이하다. 특히, 외부사건 (Interrupt) 에즉시응답해야하는분야에많이사용된다. 모터제어, 로봇제어, 전자레인지, 가스오븐, 미사일제어등에서사용이가능하다. 아울러, 중. 고등학교에서도아두이노와같은마이크로컨트롤러를이용하여과학실험교육에서사용되고있다. USB 연결 Port 아두이노와컴퓨터를연결하는부분이다. 기본적으로컴퓨터의 USB Port 로부터 5v 의전원을공급받아, 아두이노로연결되는외부장치들과의데이터를컴퓨터로송수신하는통로이다. 리셋버튼아두이노를잠시전원차단하여다시시작할수있게하는버튼이다. 외부전원 Port 컴퓨터와 USB 로연결되어사용하지않고, 독립적으로사용을할때전원을넣어주는곳이다. 최소 6V 에서 20V 까지넣어도사용가능하지만, 7~12V 사이의직류를넣어주는것이안정적이다. 하지만, 이것도아두이노자체적으로 5V 로낮추어사용하게된다. 디지털입출력핀 (D2~D13) 디지털데이터를취급하는외부기기와 LED 를연결할수있는핀이다. 아두이노는 Tx, Rx 핀까지포함하여 14 개의디지털입출력핀을갖고있다. 아날로그입력핀 (A0~A5) 아날로그데이터를취급하는외부기기를연결할수있는핀이다. 아날로그형태의데이터는입력만가능하다. 모두 6 개의핀을갖고있다. 3.3V, 5V 출력핀브레드보드, 센서등에전원을공급할수있는핀이다. 연결되는부품에따라 3.3V 와 5V 를공급할수있다. GND 회로는 + 로부터시작해서 으로연결되어순환하는하게된다. 전기회로에서사용하고남은전원을회수하는 극에해당하는것이다. Reset 핀 Reset 버튼을눌러수동으로아두이노를재시작할수있다면, 아두이노프로그래밍을통하여 Reset 을할때사용할수있는핀이다. ATMEGA328P 마이크로컨트롤러교체가능한형태로되어있으며, 사용자가아두이노프로그래밍한프로그램을업로드할때, 마치하드디스크와같은저장공간이다. -6-
활동 1 아두이노를작동시켜보자. 목표아두이노를컴퓨터에연결하고아두이노프로그래밍도구를설치할수있다. 해보기 1. 아두이노를컴퓨터에연결하여, 연결된 COM Port 를알아내자. 1 아두이노 USB Port 와컴퓨터 USB 단자에연결케이블을이용하여아두이노를연결한다. 2 연결후컴퓨터의운영체제는아두이노를인식하는단계를거치게되므로잠시기다린다.( 윈도우, Linux 등자동인식 ) 3 연결이완료되었으면, [ 시작 ][ 제어판 ][ 시스템 ][ 장치관리자 ][ 포트 (COM&LPT)] 의경로로찾아가확인한다. 아두이노연결된포트 COM 2. 아두이노프로그래밍도구를설치하여보자. 프로그램다운로드인터넷주소 http://arduino.cc/en/main/software Windows Installer 를클릭하여프로그램을컴퓨터에설치한다. 프로그램설치가완료되면그림과같은아이콘이바탕화면에생성된다. 마우스로더블클릭하여실행한다. -7-
활동 2 아두이노와브레드보드이용하자. 목표아두이노와브레드보드를이용하여 LED 와센서를연결할수있다. 해보기 1. 아두이노와브레드보드를이용하여 LED 1 개를 ON/OFF 하자. LED 에도 +, - 가있다. 보통다리의길이가긴것이 +, 짧은것이 이다. 하지만, 이부분은필요에따라잘라서쓸수있기때문에 LED 머리부분을보고구별하는것이좋다. 전원을공급해주는곳을 + 로해야된다. 회로도 프로그램코드 2. 아두이노프로그래밍도구에대하여알기 확인 : 업로드 : 시리얼모니터 : 3. 브레드보드에대하여이해하기브레드보드는보이는작은구멍에 LED, 전기회선, 저항등전기회로소자들을임시로꽂아모의실험을할수있게도와주는도구이다. (a) 는일반적인브레드보드의모습을나타낸것이며, (b) 는브레드보드구멍들이연결되어있는모습으로전기의전도경로를보여주는것이다. (a) (b) -8-
4. LED 를 ON/OFF 한프로그램이해하기 아두이노프로그램은크게 2 가지부분으로나누어진다. void setup(){. 부분은아두이노를처음실행할때 1 번만시작된다. 그러므로, 초기설정에관한내용만기록한다. Void loop(){. 는 setup() 다음으로실행되는것으로반복되는내용을기록하게된다. 5. 아두이노에빛센서연결하여보기 빛의양의따라센서의저항값이변화되는정도를알려주는센서 측정값확인 빛센서값의범위 ~ 가스센서, 소리센서는빛센서와동일한연결방법을가집니다. 여러분이센서만교체하여각센서가측정하는값은어떤지알아보자. 소리센서 가스센서 -9-
다양한아두이노 본교육프로그램에서는아두이노 UNO 를표준장치로사용한다. 아두이노 UNO 는아두이노보드시리즈중최신제품이다. 하지만, 다양한아두이노보드에대해서알아둘필요가있다. 메가 (Mega) 아두이노메가는고성능을자랑하는아두이노보드이다. 이보드의특징은입출력포트가매우많다는것이다. 하지만이포트들은현명하게도보드의한쪽끝에부가커넥터로추가되어있기때문에아두이노 UNO 보드뿐만아니라아두이노를위한모든쉴드와도핀호환성을그대로유지할수있다. 이보드에는입출력핀이더많은프로세서인 ATmega1280 칩이사용된다. 이칩은보드에영구적으로고정되어있는표면장착칩이다. 따라서 UNO 계열의보드와는달리실수로프로세서가손상되었을경우프로세서를교체할수없다. 나노 (Nano) 아두이노나노보드는솔더리스 ( 무납땜 ) 브레드보드와함께사용하기에매우적합한장치이다. 핀을맞춰서브레드보드에꽂기만하면하나의칩처럼사용할수있다. 나노보드의단점은 UNO 보드에비해크기가작기때문에 UNO 규격의쉴드를사용할수없다는것이다. 릴리패드 (LilyPad) 아두이노릴리패드는옷에부착할수있는작고얇은아두이노보드이기때문에착용컴퓨팅 (Wearable Computing) 과같은응용분야에서활용할수있다. 릴리패드보드에는 USB 연결이없으므로별도의어댑터를사용해서프로그래밍해야한다. 이보드는손톱만한크기로작으며, 외곽의구멍에전도성실을이용하면여러개를연결하여사용할수있다. 릴리패드보드는사용의목적에다양하지만, 웨어러블컴퓨팅 (Wearable Computing) 에서사용이많다. -10-
아두이노프로그래밍 I 아두이노프로그래밍은 C 언어를기반으로하고있다. 그러므로 C 언어가갖는규칙을그대로따른다고할수있다. 사칙연산, 관계연산, 논리연산자들도모두그대로사용된다. C 언어와마찬가지로아두이노프로그램은함수로된명령어들을사용한다. C 언어에서필수적이며제일먼저사용되는함수가 main( ) 이라고할때, 아두이노에서는 setup( ) 과 loop( ) 이다. 이들의순서는변경되어도되나, 아두이노프로그램코드윗부분에 setup( ) 함수를, 그아래에 loop( ) 를정의한다. 명령어 ; 하나의명령어가끝나게되면 ;( 세미콜론 ) 의기호를붙여준다. C 언어이든아두이노프로그래밍이든지초보사용자는이기호를빼먹는경우가있는데, 주의를요한다. 다음은아두이노를사용할때기본적으로많이사용되는함수이다. 함수명역할사용예설명 pinmode( ) 디지털핀의 I/O 설정 pinmode(2, OUTPUT); 디지털 2 번핀을 OUTPUT 으로사용. (INPUT 으로도사용가능 ) Serial.begin( ) 시리얼모니터사용 Serial.begin(9600); 9600bps 속도로시리얼모니터사용 digitalwrite( ) 디지털핀값전달 digitalwrite(2, HIGH); 디지털 2 번핀에 HIGH(LOW) 값전달 digitalread( ) 디지털센서값읽음 digitalread(2); 디지털 2 번핀에연결된센서의값을읽음 analogread( ) 아날로그센서값읽음 analogread(2); 아날로그 2 번핀에연결된센서의값을읽음 Serial.print( ) 시리얼모니터에출력 Serial.print( 수식 ); 시리얼모니터에수식의결과값을출력 ( 줄바꿈안함 ) Serial.println( ) 시리얼모니터에출력 Serial.println( 수식 ); 시리얼모니터에수식의결과값을출력 ( 줄바꿈함 ) delay( ) 프로그램실행을지연 delay(1000); 1000ms만큼 프로그램을 지연시킨다. (1000ms = 1초 ) 다양한아두이노함수학습을위한참고사이트 (http://arduino.cc/en/reference/homepage) -11-
메모장 -12-
02. 센서를이용하여 LED ON/OFF 하기 왜 빛센서, 소리센서, 가스센서등과물체감 지센서를제어할수있는아두이노프로 그래밍을배워보자. 센서 (Sensor) 의역사 일상생활에도움을주는센서알아보기 사람이사는세상에는여러가지상황들이일어나, 때로는즐거운경우도있고당황스러운경우도있다. 한상황에대해서사람이지속적으로감시하는경우를생각할때, 얼마나많은사람이필요할까? 일어나는상황마다, 장소마다사람이일일이감시를한다는것은불가능한일이다. 그리고, 그러한일들이단순하기에사람이직접하는것은효율적이지못하다할수있다. 이러한수고를덜어줄수있는것이센서 (Sensor) 라생각된다. 우리주변에는얼마나많은센서들이있고, 우리는그존재의고마움을느끼고살아가고있을까? 센서 (sensor) 라는단어가생기기훨씬전부터실제로센서를활용해왔다. 나침반으로방향을알아냈고, 온도계를만들어온도를측정하였다. 센서는인간의감각 (Sense) 에서비롯되었다. 인간의 5감 ( 미각, 촉각, 후각, 청각, 시각 ) 대신할수있는기기이다. 초기센서의역사는이러한인간의 5감에대한센서개발에치중되다가인간의 5감으로느낄수없는현상, 예를들면적외선등의전자파, 에너지가작은초음파등을검출할수있는기기로발전하였다. 가스누출검사기 자동차후방거리감지기 화재감지기 화장실내물체감지기 차량과속단속카메라 -13-
활동 1 센서와 LED 를사용해보자. 목표센서의값을이용하여 LED 를 ON/OFF 하는아두이노프로그래밍을할수있다. 해보기 1. 일상생활에서접할수있는센서들을알아보자. 가정 학교 거리 2. 빛센서를이용하여 LED 1 개를 ON/OFF 하여보자. LED 를 ON/OFF 하는기준이필요하다. 빛센서의값이어느기준보다클때혹은작을때 ON 을할것인가? 아니면, OFF 를할것인가? 에대한기준이필요하다. 아두이노프로그래밍은다음과같은코드를이용한다. if( 조건 ) { 조건에만족할때의명령어들... else { 조건에만족하지않을때의명령어들... 조건 >= if( >= ) { digitalwrite(, HIGH); else { digitalwrite(, ); -14-
3. 소리센서, 가스센서도 2 번과같은활동을해보자. 소리센서의조건 >= 가스센서의조건 >= if( >= ) { digitalwrite(, HIGH); else { digitalwrite(, ); if( >= ) { digitalwrite(, HIGH); else { digitalwrite(, ); 4. 물체감지센서를연결하여센서로부터입력되는값을시리얼모니터로확인해보자. 물체감지센서는디지털센서이다. 그러므로값을읽어야되는 pinmode( 핀번호, INPUT); 을 setup() 안에기록하여준다. 그리고, 값을읽을때는 digitalread( 핀번호 ); 의명령함수를사용한다. 5. 4 번의회로에 LED 1 개를추가하고, 물체감지가되면 LED 를 ON 하는물체감지기를만들어보자. -15-
활동 2 센서로다수의 LED 를 ON/OFF 를해보자. 목표 센서의값을이용하여다수의 LED 를 ON/OFF 하는아두이노프로그래밍을할수있다. 해보기 1. 빛센서와 LED 3 개를연결하여제어하는프로그래밍을해보자. LED ON 조건명령 (line 구분은 / 기호사용 ) 1 개 L_value <= 100 digitalwrite(10, HIGH); digitalwrite(11, LOW); digitalwrite(12, LOW); 2 개 3 개 아두이노프로그래밍에서는 if( ) 함수명령의사용이중요하다. 조건은 >( 크다 ), <( 작다 ), >=( 이상 ), <=( 이하 ), ==( 같다 ),!=( 같지않다 ), &&(AND), (OR) 로구성한다. 다음은 if( ) 함수명령을구성할수있는형태들이다. if( 조건 ){ 조건이 Yes else { 조건이 No if( 조건1){ 조건1이 Yes else { if( 조건2){ 조건1이 No이고조건2가 Yes else { 조건1이 No이고조건2가 No if( 조건 1){ if( 조건 2){ 조건 1 이 Yes 이고조건 2 가 Yes else { 조건 2 가 No else { 조건 1 이 No if( 조건 1 && 조건 2){ 조건 1, 조건 2 모두 Yes else { 조건 1, 조건 2 둘중하나라도 No if( 조건 1 조건 2){ 조건 1, 조건 2 둘중하나라도 Yes else { 조건 1, 조건 2 모두 No -16-
아두이노프로그램의 if( ) 함수명령이해하기 프로그램은특정한경우를제외하고물흐르듯이윗부분에서아랫부분으로실행이옮겨진다. 실행이옮겨지면서상태에따라특정한명령을수행하거나, 그렇지않게할수있다. 그럴때사용할수있는명령이 if( ) 함수이다. 앞서빛센서의값에따라 LED 3 개를 ON/OFF 하는프로그램으로이해하여보자. 아두이노의센서들 아날로그온습도센서 온도와습도를측정할수있음 아날로그불꽃센서불꽃의 760nm~1100nm파장을감지하는센서로소방활동로봇제작및화재진압에중요한화재경보기제작에활용이가능 디지털접촉식터치센서 패드에접촉여부로동작하는센서 디지털기울기센서 수은의이동으로접점의변경으로 수평과기울어짐을검출하는센서 디지털마그네틱센서 자석및자기장을약 3cm 범위에서 측정하는센서 디지털진동센서 약한진동신호를감지할수있음 -17-
메모장 -18-
03. 일상생활에서탄소배출량을줄여보자. 왜 빛센서와물체감지센서를이용하여 LED를제어할수있는아두이노프로그래밍을해보고, 같은수의 LED를이용하여더밝은가로등을만들어탄소배출량을줄일수있다. 전기절약과탄소배출량 지구가몸살을앓는단계를지나죽어가고있다? 몰디브섬을아는가? 지구환경의변화에경종을울리는대표적인예가몰디브섬이다. 지구온난화로인한극지방의빙하가점점없어짐으로인해바다수면의높이가증가함에따라, 몰디브섬은점차바다속으로가라앉고있다고한다. 2100 년정도면지도에서사라진다고한다. 지구온난화의주범이바로탄소이다. 탄소는화석연료등을태우면서나타나는것인데, 화석연료를사용하지않으면줄일수있다. 탄소배출량은전기발전당 CO 2 의양을의미한다. 전기발전양을줄이면그만큼탄소배출량도감소된다. 우리나라는아직까지화력발전소에의존하고있다. 또한, 자동차의배기가스도화석연료를태워생기는것이다. 1kg의프로판가스를태우면 3.135kg의이산화탄소가발생된다고한다. 이산화탄소의배출량을줄이기위해서도전기를절약할수있는방법들이필요하다. 화력발전소는풍력, 수력, 태양발전으로늘려가야되겠다. 마지막지상낙원 몰디브 우리나라에서전기를생산할때, 원자력 (24%), 화력 (60%), 나머지는수력등으로생산한다. 화력발전소는석탄, 석유, 가스등을태워서전기를생산한다. 전기를절약하면탄소배출량을줄일수있다. -19-
활동 1 생활주변의탄소배출실제를조사하여보자. 목표 가정, 학교, 거리에서탄소배출의정도를파악하여지구환경에미치는영향을 이해할수있다. 해보기 1. 일상생활에서탄소가배출되는장소나기기를알아보자. 장소탄소배출장소탄소배출기기 가정 학교 거리 2. 우리가배출하는이산화탄소의양을계산하여보자. 종류단위월간사용량 (a) 단위당 CO 2 배출량 (kg) (b) 월간 CO 2 배출량 (kg) (c)=(a) x (b) 년간 CO 2 배출량 (kg) (d)=(c)x12 전기 Kwh 0.44 kg/kwh 도시가스 (LNG) m 3 2.23 kg/m 3 휘발유 Liter 2.12 kg/l 자동차 경유 Liter 2.59 kg/l LPG m 3 3.61 kg/m 3 합계 -20-
일상에서이산화탄소배출줄이기 첫째, 환경파괴의주범, 비닐백과종이백과이젠안녕 ~ 물건을구입할때마다사용하는비닐백과종이백은우리주위에서참보기쉬운물건인반면, 환경을파괴하는주범이기도합니다. 일회용으로쓰이는이두가지를만들려면, 공장가동하는데에전기가필요하고, 다만들어진것을운송하는데에연료가필요하며, 사용한것들을폐기하는데에도연료와전기가다들어간답니다. 이산화탄소가배출됨은물론이고요. 이것저것들어가는것이많은물건 (?) 이지만, 뾰족한물건에금방찢어지고, 젖으면쓸수없다는단점이있죠. 마트이름이딱 - 찍혀서들고다니기부끄럽기도하고요. 이제부터우리, 패션을생각하고환경을생각하는장바구니를사용해보는것이어떨까요? 칙칙한색깔에, 보기흉한장바구니를상상하고있나요? 패션테러리스될거같다고, 엄마들이들고다니는장바구니같다고생각하고있나요? 요즘은컬러가알록달록하고, 다양한패턴의장바구니들이시중에많이출시돼있어요. 없는게없다는, 우리들의친구 다 X 소 에도저렴하게판매하고있으니지구를살리는마음으로구입해보는게어떨까요? 접을수있어들고다니기간편하답니다. 둘째, 안쓰는전기플러그는뽑고, 멀티탭을사용해보세요! 사용하지않는전기는반드시꺼주세요. 플러그에꽂혀있는콘센트선도다뽑아서전류가흐르지않도록하고요. 혹시 사용하지않으니까, 굳이콘센트에서분리할필요없지않느냐 고생각하고있나요? 땡 ~~!!! 우리가선을꽂아둔채사용하지않아도, 대기전력이라는것이흐른답니다. 대기전력은전원을끈상태에서도전기제품이플러그를통해소비되는전력을뜻합니다. 이러한전기로낭비되는전기가약 10% 에이른다고하네요. 고로사용하지않았음에도전기료를내야한다는말씀! 덧붙여배출되지않아도될이산화탄소도생긴다는말씀! 전기료도아끼고, 이산화탄소배출도줄일겸, 사용하지않은전기플러그는잠시뽑아보는것이어떨까요? 선을분리하고, 다시꼽는것이귀찮다면, 멀티탭을이용해보는것을강추합니다. 요즘출시되는멀티탭에는전력을차단하는스위치가있어서따로뽑고, 꽂을필요가없어요. 셋째, 우리땅에서나고자란우리농산물을먹어요! 푸드마일리지를아시나요? 항공마일리지나카드마일리지는들어봤어도처음들어봤다는사람들이꽤있을거예요. 푸드마일리지는식품의수송량에생산지에서소비자까지의수송거리를곱한것으로식품수송으로발생하는환경부담의정도를나타내는수치에요. 쉽게말해일반소비자의식탁에오르기까지의이동거리를뜻하는경제용어예요. 푸드마일리지의개념은영국의소비자운동가팀랭이 1994 년처음사용했는데요. 농산물공급의해외의존도가높아지는요즘, 수입농산물에대한안정성, 신선도, 운송과정에서배출되는온실가스등이소비자의새로운관심사로떠오르고있다고해요. 가능한가까운곳에서생산된농산물을소비하는것이지역경제, 건강, 환경에도좋다는의견이있답니다. 요즘들어국산에비해맛도떨어지지않고, 가격도저렴하다는이유로, 칠레산거봉이라든가, 미국산쌀, 중국산채소등을구입하는사람들이많은데요. 우리땅에서나고자란음식을먹으며식품의안정성을보장받고, 수송에따른환경오염을줄일수있는우리농산물을애용해보는게어떨까요? 한국환경공단 ' 푸루의녹록한세상 > 녹록한공기 ' 카테고리의글 -21-
탄소배출권중개인 (Carbon Emission Trader) 직업의생성배경탄소배출권거래는온실가스감축을의무화한국제협약인 2005 년교토의정서가체결되면서도입됐다. 기업의생산활동에는온실가스배출이뒤따르게마련인데배출량감축을위해탄소배출상한선을정해두고이기준보다적게탄소를배출한국가나기업은감량한양만큼의탄소배출권을팔수있도록한것이다. 이에따라탄소배출권거래시장이탄생했으며탄소배출권거래중개인은주식중개인처럼배출권시장에서거래를중개하는역할을담당한다. 수행직무내용탄소배출권의수요와공급에따라움직이는탄소배출권거래시장에서주식중개인처럼판매자와구매자사이를연결해거래를중개한다. 판매자와구매자의네트워크를확보한다. 배출권거래가격에대한적정성및거래시발생할수있는사업프로젝트의위험성과성공여부, 법적정책적문제를분석해최적의가격과거래시점을선택해판매자와구매자모두가만족할수있는거래를도모한다. 해외교육 / 훈련 / 자격및종사현황탄소배출권거래제를실시하고있는국가는유럽연합 27 개국과뉴질랜드, 스위스등이다. 일본, 호주가거래제도입을추진하고있다. 유럽이나미국등선진국에서는이미일반화된직업으로탄소시장컨설팅의선두주자로꼽히는노르웨이의 포인트카본 에는 2011 년현재다양한국적의전문가 120 여명이활동하고있다. 2013 년 6 월중국은첫번째탄소거래시장을개장했다. 이산화탄소배출량의 38% 에해당하는 635 개회사와 197 개공공기관이시장에참여해총 2 만 1112 톤의탄소배출쿼터가톤당 28~32 위안에거래됐다. 이에따라아시아권에도거래제가급속히확산될전망이다. 국내현황우리나라는교토의정서의무감축국이아니기때문에탄소배출권거래가전무한상황이다. 그러나 2015 년탄소배출권거래제가도입될예정으로유럽기후거래소와같은탄소배출권거래소가설립돼거래가활발히이뤄질것으로보인다. 탄소배출권거래중개인이되기위한국제적자격증은없으며관련학과나전공과목도개설돼있지않다. 다만, 탄소배출권거래중개인으로활동하려면기본적으로기후변화, 국제탄소시장, 현물증권시장, 선물시장에대한지식을갖출필요가있다. 탄소배출권시장이기후변화및에너지산업과밀접하므로환경공학, 에너지공학등의전공자들도도전해볼만한분야다. 현재 10~20 명이중개인으로활동하고있는데대부분탄소금융회사, 컨설팅업체, 대기업등에종사하고있다. 워크넷직업정보 -22-
활동 2 LED 밝기에변화를줄수있는색은? 목표 LED 와색종이를이용하여 LED 등갓을설계할수있다. 해보기 1. LED 를색종이에꽂아보자. 밝기를효율적으로할수있는형태로배열한다. 예제 1 예제 2 예제 3 나의배열 예 ) 학생작품 2. 빛센서를이용하여제작한등갓의빛의밝기를측정하여보자. 빛의밝기 3. 빛센서를이용하여제작한등갓의색깔에따른밝기를측정하여보자. 최소밝기색 최대밝기색 -23-
활동 3 스마트가로등의 LED ON/OFF 조건만들기 목표센서와 LED 가조합된회로를구성하고, 제어할수있는조건식을표현한다. 해보기 1. 센서와 LED 가결합된회로를구성하자. 2. LED 를 ON/OFF 하기위한조건식을만들자. LED 상태센서값조건식수행할명령 10 개 OFF 빛 : 100 물체 : 0, 1 빛 >=100 && ( 물체 =1 물체 =0) digitalwrite(0,low); digitalwrite(1,low); ~ digitalwrite(9,low); 3 개 ON 빛 : 물체 : 6 개 ON 빛 : 물체 : 10 개 ON 빛 : 물체 : -24-
아두이노프로그래밍 II 아두이노 LED 를 1, 2 개정도를 ON 하거나 OFF 할경우에는불편한점이별로없다. 프로그램코드도그다지길지도않다. 그런데, LED 의개수가많아지면어떨까? 앞선활동에선 10 개의 LED 를연결하였다. 혹시 10 개의 LED 를 ON 하였을때다음과같이코드를작성하지않았을까? digitalwrite(0, HIGH); digitalwrite(1, HIGH); : digitalwrite(8, HIGH); digitalwrite(9, HIGH); 이렇게 10 줄을작성하였을텐데, 이를간단히할수있는명령이있다. 먼저작성된코드 10 줄은 pin 번호외는변동이없다. 그번호만 0~9 까지자동으로변경해준다면 1 줄로끝날수있다. 다음과같다. for(int i=0; i<10; i++){ digitalwrite(i, HIGH); 위코드는 for( ) 라는반복함수를사용한것이다. 함수의인수로 int i=0; 를사용했는데, 0 부터시작한다는의미이다. 만약핀번호를 2 번부터사용했다면 int i=2; 로작성하면된다. 그리고 i<10; 은반복수행의조건인데, i 값이 10 보다작으면반복을한다는의미이다. i++ 는 1 씩증가하는식인데, i=i+1 과같다. 만약 2 씩증가하는식을사용하고싶다면 i=i+2 혹은 i += 2 로표현하면된다. 여기서 i 는사용자가임의대로만들어사용하는변수가된다. for(int i=0; i<10; i++){ : for(int j=0; j<10; j++){ : 위 for( ) 함수는특정한내용들을반복하는것인데, 내부에다시 for( ) 함수를포함할수있다는것을나타낸것이다. 이경우는 i 에해당하는반복이 1 회될때마다 j 는 0~9 까지반복하게된다. -25-
활동 4 전기절약형스마트가로등을완성하여보자. 목표 빛센서와물체감지센서의값에따라 LED 10 개를상황에맞게제어를할수있다. 해보기 1. LED 3 개, 6 개, 10 개를 ON 하는프로그램코드를만들자. LED 3 개 void led_3( ){ for(int i=0; i<3; i++){ digitalwrite(i, HIGH); for(int i=3; i<10; i++){ digitalwrite(i, LOW); void led_6( ){ LED 6 개 void led_10( ){ LED 10 개 2. 빛센서의값을읽어 LED 3 개, 6 개, 10 개를 ON 하는프로그램코드를만들자. void light( ){ 빛센서 빛센서의값이 100 이하일때, LED 를 10 개를 ON 하고싶다면, if( 빛센서값 <=100){ led_10( ); // 사용자함수호출 과같이작성하여이미 led_10( ) 부분에서입력한코드를다시작성할필요없이불러다가사용할수있다. 앞서 LED 를 ON 하는 led_3( ), led_6( ), led_10( ) 는사용자함수라고한다. 여기서, 함수를호출할때와함수가기능을다하여호출한부분으로되돌아갈때어떠한값을가져가는것이없다면함수를생성할때함수명앞에 void 라고명시를한다. 3. 물체감지센서의값을읽어 LED 10 개를 ON 하는프로그램코드를만들자. void motion( ){ 물체감지센서 물체감지센서는적외선을이용하기때문에야간에도동작이잘된다. 그러므로, 낮에는물체가감지되었다하더라도동작하지않게해야된다. 낮과밤을어떻게구별할까? 빛센서의값을적용해야되지않을까? 우선밤인지를구별하고, 밤일때물체가감지되면 LED 를모두 ON 해야될것이다. 참고, 두개의조건을동시에쓸때는 &&(and), (or) 연산자를이용한다. -26-
4. led_3( ), led_6( ), led_10( ), light( ), motion( ) 의함수전체를제어하는 loop( ) 를완성하 void loop( ){ loop( ) 5. 스마트가로등이갖는장점과특징에대하여이야기해보자. 장점 특징 6. 내가만든작품에대해개선해야할점에대하여고민하여보자. 개선할점 : -27-
메모장 -28-
2013 스팀아웃리치프로그램아두이노로융합과학자되기고등학교학생용워크북 저자발행일 유헌창, 김석희, 김동정, 정대용, 임종범, 최희석, 유태묵 2014 년 3 월