IT Life

예술과 IT - 인터랙티브 아트의 기술과 구현

2016.08.24 09:30

안녕하세요. 미디어 아티스트 송준봉입니다. 


어느덧 ‘예술과 IT’도 벌써 네 번째 글이 되었네요. 지난 시간에는 관객의 반응에 따라 다양한 작업의 변화가 나타나는 ‘인터랙티브 아트(Interactive Art)’ 의 다양한 작업을 소개해 드렸는데요. 

 

 

오늘은 지난 시간에 이어서 ‘인터랙티브 아트’에 숨겨진 기술과 그 구현 방법에 대해 알아보고자 합니다. 아마도 오늘 글은 전편보다 조금은 기술에 치우친 친(親) 공대스러운 글이 될 가능성이 높아서 조금 어렵게 느껴지진 않을까 우려가 되긴 하지만, 뭐든 처음만 힘든 거 아니겠습니까? 일단 한 번 시작해보겠습니다~!  

 

 입력과 출력


이전 연재에서 ‘인터랙티브 아트’를 그대로 직역하면 ’상호 작용 예술’이라고 이야기한 것 기억나시나요? 다시 말해 관객의 ‘입력’이 없으면 작업에는 아무 일도 일어나지 않는다는 의미인데요. 


이러한 구조는 수학이나 프로그램에서 배웠던 함수 Y = F(X)와 같은 원리라고 할 수 있습니다. 아래 그림과 같이 관객의 입력(X)가 주어지면 작가가 구현한 기능 F=Function에 따라 작업의 출력 (Y)이 만들어지는 것입니다. 


일반적으로 관객들은 인터랙티브 작업의 비주얼, 소리, 촉감 등 출력만을 보고 듣고 느끼기 때문에, 관객 자신의 ‘입력’을 작업이 어떻게 받게 되는지 모르는 경우가 많습니다. 어쩌면 이러한 관객의 반응, ‘이거 어떻게 한 거지?’ 가 인터랙티브 아트를 매력적으로 만드는 하나의 요인이기도 합니다. 


이렇게 관객의 ‘반응’을 ‘입력 값’으로 받는 다양한 장치들을 우리는 센서(Sensor)라고 부릅니다.

 

l 입력과 출력, 관객 반응과 작업의 효과: 함수 (Y=F(X)) (좌), 가까이 가면 불 켜지는 작업 (우)


 입력을 결정하는 방법: 센서(Sensor)


우리 몸에도 시각, 청각, 촉각, 미각, 후각의 오감(五感)에 ‘눈치’라고도 불리는 육감(Sixth sense)까지. 살아가는데 필수적인 모든 것들을 느끼는 센서가 달려있죠.     


컴퓨터를 비롯한 전자 장치들이 입력을 받아들이는 방법은 사람이 가진 기본적인 오감(五感) 뿐 아니라, 우리가 느끼지 못하는 전기, 자기, 거리, 화학 반응 등 다양한 변화를 측정할 수 있는 센서들을 가지고 있습니다. 사실 지금까지 개발된 센서는 우리가 생각하는 것 이상으로 정말 다양한데요. 지금 생각나는 것들만 적어도 다음과 같습니다.

 

l 다양한 센서들


사실 조금 관심이 있는 독자분들이라면 ’세상에는 어떤 어떤 센서들이 나와 있다더라’는 내용도 알고 계실 것이고, 몇몇 분들은 ‘이렇게 저렇게 센서를 사용하면 이런 사용자 반응을 얻을 수 있겠구나’라고 생각하실 수도 있을 겁니다. 


하지만 이 시점에서 첫 번째 난관에 봉착하게 되는데요. 그것은 바로 “센서는 어떻게든 구한다 치자. 그런데 어떻게 센서에서 값을 받아오지??” 이 질문은 수많은 ‘인터랙티브 아트’ 입문 작가들에게도 동일하게 발생하게 됩니다. 


 해결사 아두이노(Arduino)


l 아두이노는 새로운 기술이 아님에도, 공유의 힘을 확실히 보여준 장치입니다. (출처: 아두이노 홈페이지)


최신 IT 동향에 대해 관심 있거나, 최근 붐이 되고 있는 메이커 무브먼트(Maker’s movement) 등에 관심이 있는 분들이라면, 혹은 S/W 교육에 관심이 많은 독자분들이시라면 한 번쯤은 들어볼 법한 바로 그 이름 아두이노입니다. Arduino.cc에서 말하는 아두이노의 정의를 살펴보면 다음과 같습니다.

Arduino is an opem-source electronics prototyping platform based on flexible, eysy-to-use hardware and software. It's intended for artists, designers, hobbyists and anyone interested in creating interactine objects or environments.


다시 말하면 아티스트나 엔지니어가 인터랙티브한 작업이나 Prototype(시제품)을 만들 때 쓰기에 딱 좋은 하드웨어 및 소프트웨어라는 것이죠. 아직도 좀 어렵게 느껴지겠지만 아두이노는 사실 작은 컴퓨터(Micro Computer)입니다. 

명확하게 그 경계를 구분 짓기는 어렵겠지만, 일종의 임베디드 시스템(embeded system)을 구현하는 컴퓨터에 가깝다고 보는 게 맞습니다. 설명이 점점 더 어려워지는 것 같은데요. 임베디드 시스템은 아주 쉽게 말하자면 세탁기나 냉장고 등 가전제품에 들어가는 컴퓨터라고 생각하면 가장 쉬울 것 같습니다. 

최근 모든 가전제품에는 컴퓨터 비슷한 것이 들어가 있는데요. 그래야 우리가 버튼을 누르면 세탁기가 돌아가고, 저녁에 타이머를 설정해두면 내일 아침에 밥솥이 밥을 만들어 놓을 수 있는 것이겠죠. 

좀 더 자세히 냉장고를 예로 들어보겠습니다. 기본적으로 냉장고는 냉장•냉동 온도를 설정해두면, 온도 센서에서 현재 온도를 받아서 너무 높으면 온도를 낮추고, 너무 낮으면 다시 온도를 높이는 간단한 동작을 수행하게 됩니다. 온도 센서(X) 값을 가지고 온도를 유지 기능(Function)을 수행하여 최적의 온도 (Y)를 맞추게 되는 것이죠. 

그런데 냉장고 어디를 살펴보아도 우리가 대략 백만 원 가까이 주고 사는 노트북이나 데스크톱 PC가 들어있는 것 같지는 않습니다. 그랬다면 가격이 지나치게 높아질 것 같기도 하고요. 

가전제품에 들어가는 특정한 기능을 수행하는 시스템을 임베디드 시스템이라고 부르고, 그 시스템에 들어가는 프로그램을 펌웨어(firmware)라고 부릅니다. 펌웨어는 소프트웨어와 하드웨어의 중간 즈음에 해당하는 단어인데요. 가전제품의 기능처럼 웬만해서는 거의 안 바뀌는 프로그램 이라고 생각하시면 됩니다. (그래서 스마트폰의 펌웨어 업데이트를 신중하게 하는 겁니다!)  

그럼 다시 아두이노로 돌아가보겠습니다.


  1. 아두이노는 임베디드 시스템을 구현하는 컴퓨터에 가깝다.
  2. 임베디드 시스템은 우리가 매일 쓰는 가전제품을 구현한다.
  3. 임베디드 시스템은 센서에서 값을 받아 설정된 기능에 따라 알맞은 역할을 수행하는데 쓰인다.


그렇다면 결론적으로 아래의 내용으로 정리할 수 있습니다.


  • 아두이노는 센서에서 값을 받아 설정된 기능에 따라 알맞은 역할을 수행할 수 있다.
  • 아두이노만으로 심지어 가전제품도 스스로 뚝딱 만들 수 있다.


아두이노 하나 설명하면서 너무 장황하고 멀리 간 느낌이 들긴 하는데, 사실 아두이노는 상당히 혁명적인 장치입니다. 제가 대학원 다닐 때만 해도 AT Mega 시리즈로 불리는 마이크로 프로세서들이 있었고, 이를 사용하면 아두이노와 동일한, 아니 더 좋은 성능을 내는 것들을 충분히 만들 수 있었습니다. 


하지만 이를 사용하기 위해서는 어느 정도는 해박한 전기, 전자 지식 및 회로 설계 능력(저항, 콘덴서, 커넥터까지)을 필요로 했고, 프로그램을 한 번 변경하려면 엄청나게 까다로운 프로그램을 써야 했습니다. 한마디로 전공자가 아니면 사용이 불가능했다고 볼 수 있죠. 이러한 암흑기 속에서 나타난 아두이노 진영은 이렇게 선언합니다. 

 

l ‘대부분의 사전 지식은 굳이 알 필요 없다!! 그냥 편히 사용하게 내가 만들어주마!!’ (출처: 아두이노)


 인터렉티브 아트는 아두이노와 함께


이제 많은 아티스트들은 전자•전기 지식이 없어서 시도할 엄두조차 내지 못했던 다양한 작업들을 아두이노를 통해 구현해 내기 시작합니다. 그것도 고작 3만원에 불과한 가격으로 말이죠. 


아두이노는 기본적으로 거의 대부분의 센서들이 ‘꼽힐 수’ (=설치될 수) 있도록 다양한 Input Pin 들을 갖추고 있습니다. 또한 입력에 따른 출력을 낼 수 있도록 다양한 Output Pin 역시 갖추고 있습니다. 


아두이노가 수행할 기능을 구현하기 위한 프로그래밍 툴(기본적으로는 JAVA와 유사합니다) 또한 제공하고 있으며 심지어 무료입니다. 그리고 가장 중요한 것은 아두이노를 통해 ‘기술의 공유’ 가 엄청나게 활발히 이루어졌다는 점입니다. 


기본적으로 아두이노 개발 툴 자체에서 아주 풍부한 예제 코드와 reference를 제공했으며, 거의 대부분의 사용자들이 자신의 프로젝트를 공유하고 있습니다. 그 결과 현재 어떤 괴상한 아이디어라도 구글링을 해보면 이를 구현하는 코드와 회로 설계, 심지어 준비물과 구매 사이트까지 찾을 수 있게 되었습니다. 


유명한 사이트로는 instructables(http://www.instructables.com), Makezin (http://makezine.com) 등이 있습니다.


l instructables과 Makezine. 자세히는 몰라도 그림만 보고 구현할 수 있는 시대입니다. 

(출처: (좌) instructables, Makezine 홈페이지 / (우) Makezine 홈페이지)


사실 아두이노가 아니더라도 컴퓨터만 있으면 거의 모든 걸 다 할 수 있습니다. 하지만, 센서를 달거나 LED를 켠다거나 하는 간단한 작업에 컴퓨터를 부착한다면, 마치 파리 잡는데 폭탄을 사용하는 것처럼 어렵고도 비효율적인 이중고를 겪게 되겠죠. 물론 아두이노와 PC를 연동하면 실로 엄청난 것이 탄생할 수도 있습니다. 


오늘 글은 서두에 언급한 것처럼 친(親)공대스러운 관계로 미디어 작업들에 대한 소개들이 없어서 조금 지루하거나 머리가 아프셨을지도 모르겠습니다. 쓰고 보니 거의 아두이노의 역사같이 느껴지기도 하네요. 


하지만 최근 급격하게 발전한 인터랙티브 아트의 이면에 과연 무슨 일이 있었을까라는 쪽으로 생각해보면 꽤나 재미있는 내용이 아니었을까 생각해 봅니다. 요즘은 대학에서 특강 형식의 arduino 강좌도 많이 늘어나고 있고, 소프트웨어 교육의 강조와 더불어 초, 중, 고생을 중심으로 아두이노 교육도 활발히 열리고 있습니다. 


관심 있으신 분들은 이번 기회에 배워두시면 앞으로 분명히 유용할 것이라 생각됩니다. 아두이노의 세계를 직접 한 번 경험해 보세요.   


글 ㅣ 송준봉 (미디어 아트 그룹 teamVOID)


teamVOID는 현재 송준봉, 배재혁으로 이루어진 미디어 아트 그룹으로, 기술과 예술의 융합을 주제로 로봇, 인터렉티브, 키네틱, 라이트 조형 등 다양한 뉴미디어 매체를 통해 실험적인 시스템을 구상하고 그것을 작품으로서 구현하고 있습니다.



* 해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 LG CNS 블로그에 저작권이 있습니다.

* 해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.



Posted by IT로 만드는 새로운 미래를 열어갑니다 LG CNS
위로