February 24, 2017

디바이스마트 미디어:

[30호] 너무 쉬운 아두이노 DIY ② – 카멜레온 반지 + 빨노파 게임기 만들기

30 아두이노 카멜레온

30 아두이노 카멜레온

             글 ㅣ 신상석 ssshin@jcnet.co.kr

 

  여러분, 안녕하세요. 앞으로 1년에 걸쳐(6번 정도) [너무 쉬운 아두이노 DIY(Do It Yourself)] 강의를 진행할 강사 신상석입니다.
제 소개 간단히 드립니다.
· 서울대 제어계측공학과(학사) →, KAIST 전산과(석사) → KAIST 전산과(박사 수료)
· ETRI 책임연구원 → 해동정보통신 연구소장 → 욱성전자 연구소장 → (현재) 제이씨넷 연구소장, 상명대학교 컴퓨터시스템공학과 겸임교수, 임베디드홀릭 카페(http://cafe.naver.com/lazydigital) 부매니저, 아두이노 / AVR 강사
· 자격증 : 전자계산기 기술사
· 취미 : 영화보기, 바둑두기, 책읽기, 글쓰기(?), 여행하기, 이야기하기
· 연락처 : ssshin@jcnet.co.kr, 있는그대(cafe.naver.com/lazydigital)이 강의는 아두이노를 가지고 간단하게 생활에 필요한 용품을 만들어 보는 강의입니다. 뚝딱뚝딱 뭔가 자신만의 DIY 용품을 만들어 보는 쏠쏠한 재미가 있는 강의라고나 할까요? 이미 주변에 아두이노와 관련한 많은 책이 출간되었고 카페나 블로그를 통하여 강의가 진행된 경우도 꽤나 많이 있는데도 불구하고, 이 지면을 통하여 강의를 개설한 이유는 다음과 같습니다. 

1. 아두이노의 초보자들을 위한 쉽고 재미있는 강의가 거의 없는 것 같아, 가능하면 초등학생(?)까지도 함께 해 볼 수 있는 그런 강의를 한 번 해보고 싶어서…
2. 아두이노를 가지고 뭔가 조금은 다른, 자신만의 창의적인(?) DIY를 할 수 있는 자리를 만들어주고 싶어서…
3. 디바이스마트매거진은 임베디드와 관련된 독자들이 많고, 발행 부수도 많아, 저와 제가 속한 회사(제이씨넷) 그리고 임베디드홀릭 카페의 홍보에 도움이 될 것 같아서…

아두이노 계획표현재 구상하고 있는 회차별 내용을 간략하게 정리해 보면 다음과 같습니다. (변경될 수 있습니다.) 앞으로 즐겁고 알찬 강의가 될 수 있도록 최선을 다할 것을 약속 드리며, 이 강의를 보는 독자들도 메일이나 카페를  통하여 Q&A(Question & Answer)나 피드백을 주셔서, 함께 정감을 나눌 수 있는 계기가 되기를 기대해 봅니다.

   여러분, 안녕하세요. 신상석 강사입니다. 이번 회에서는 컬러 LED를 가지고 만들 수 있는 DIY 작품을 2가지를 만들어 보겠습니다. 하나는 여러가지 색깔로 변하는 ‘카멜레온 반지’이고, 또 하나는 가위 바위 보 게임과 비슷한 ‘빨노파 게임기’입니다. 간단하고 재미있는 DIY이므로, 이를 약간씩 응용하여 최종적으로는 각자 자신만의 개성있는 DIY 작품을 만들어 보면 좋겠습니다.

 

 ■ 카멜레온 반지                                                                                            

   카멜레온(chameleon)을 아시나요? ‘땅 위의 사자’라는 뜻을 가진 그리이스어에서 유래한 카멜레온은 주변의 색에 따라 아주 비슷한 보호색으로 변하는 능력을 가진 재주꾼입니다. 자신의 감정을 표현하기 위하여 자신이 원하는 색깔로 변할 수도 있다고 하니, 세상에는 인간 말고도 오묘한 동물이 정말 많은 것 같네요.

30 카멜레온반지 02

 그런데 “카멜레온 반지”가 뭐냐구요? 아마도 다들 모르실텐데요. 왜냐하면 제가 얼마 전에 작명한 이름이어서요. 카멜레온 반지는 카멜레온처럼 반지의 색깔이 자유자재로 변하는 반지를 말합니다. 가만히 있으면 저절로 색깔이 변하는 반지라고나 할까요?.

 

아래 그림은 12개의 달을 상징하는 보석으로 탄생석입니다. 에머랄드, 다이아몬드, 루비… 참 아름답지요. 무엇보다도 알록달록한 색깔이 압권입니다.

 

30 카멜레온반지 03

 

   그래서 오늘은 이렇게 멋진 보석이 콕 박혀있는 반지를 상상하며 12개의 보석으로 변신이 가능한 카멜레온 반지를 만들어볼까 합니다. 반지의 링은 준비가 되었다고 가정하고 보석 부분만 카멜레온처럼 색깔이 변하도록 만들면 될 것 같네요. 그런데, 어떻게 만드냐구요? 예. 컬러 LED로 만들지요.

 ■ 컬러 LED                                                                                              

   컬러 LED는 빨강, 녹색, 파랑 LED 3개를 하나로 모아 1개의 캡슐로 씌운 LED입니다. 그러니까 3개의 LED를 바짝 붙여서 한 개의 전구 속에 넣은 것이지요. 요렇게요.

30 카멜레온반지 04

다리가 가장 긴 것이 공통 애노드(Anode, +), 또는 공통 캐소드(Cathode, -)로 공통 애노드 타입의 경우는 (+) 핀을 High(VCC, 5V)에 연결하고, R, G, B 핀에는 Low(GND, 0V) 값을 연결하는 경우에만 불이 들어오고, 공통 캐소드 타입의 경우는 반대로 (-) 핀을 Low(GND, 0V)에 연결하고, R, G, B 핀에는 High(VCC, 5V) 값을 연결하는 경우만 불이 들어옵니다. (물론, 지난번 설명처럼 직렬 저항은 연결한다고 가정하였습니다.) 여기서는 아래와 같이 공통 캐소드 타입의 컬러 LED를 사용하여 제작해 보는 것으로 하겠습니다.

30 카멜레온반지 05

 

(53N RGB 262C-9001, 참조 : 디바이스마트)

 

  어 그런데, LED가 3개면 다리가 6개라야 되는 것 아닌가요? 다리가 4개 밖에 없는데…

  예, 원래는 6개지만 (-)에 해당되는 다리는 공통이니까(공통 캐소드), 빨강, 녹색, 파랑, 공통 (-), 이렇게 다리를 4개로 줄일 수 있겠습니다. 지난번 3색 신호등을 만들 때 각 LED의 (-)에 해당되는 것은 모두 GND로 함께 연결한 것을 생각해 보면 쉽게 이해가 갈 겁니다..

  그렇다면, 이 컬러 LED는 빨강, 녹색, 파랑으로 색깔이 고정되어 있는데, 어떻게 카멜레온처럼 여러가지 오묘한 색깔을 나타낼 수 있을까요?

  이 질문에 대한 해답은 바로 빛의 혼합에 있습니다.

  아래 그림은 누구나 초등학교 시절에 한 번은 보았을 것입니다.

30 카멜레온반지 06

 

  왼쪽은 빛의 삼원색(빨강(Red), 녹색(Green), 파랑(Blue), RGB)이고, 오른쪽은 색의 삼원색(자홍(Magenta), 청록(Cyan), 노랑(Yellow))입니다. 우리는 LED를 가지고 색깔을 만들 예정이므로 빛의 3원색의 경우만 보면, 3개의 빛이 합해지는 부분에 다른 색이 나타나는 것을 볼 수 있습니다.

 

   ■ 빨강 + 녹색 = 노랑

   ■ 녹색 + 파랑 = 청록

   ■ 파랑 + 빨강 = 자홍

   ■ 빨강 + 녹색 + 파랑 = 흰색

 

  오. 그렇네요. 이렇게 하니까 4개의 색이 더 만들어졌습니다. 하지만, 탄생석과 같이 알록달록한 여러가지 색은 아직도 만들어지지 않았는데 이것은 어떻게 만들 수 있을까요?

  이것은 광량(빛의 양)에 해답이 있습니다.

  즉, 빨강과 녹색, 파랑을 각각 100%씩 섞으면 흰색이 나오지만, 예를 들어 빨강 100% + 녹색 75% + 파랑 75% 로 빛을 섞으면 핑크(Pink)색이 나오는 원리입니다.

  결국 관건은 우리가 3가지 LED의 광량을 강하게 했다 약하게 했다 조절할 수 있느냐 하는 것인데 결론은 “할 수 있다” 입니다.

  아래 그림을 보시지요.

30 카멜레온반지 07

 

  원래 디지털 값은 High(1, 5V, 100%), Low(0, GND, 0%)의 2가지 값밖에 존재하지 않지만, 위 그림과 같이 어떤 핀의 값을 High ▶ Low ▶ High ▶ Low … 형태로 상태를 변환시키게 되면, 출력 전압의 평균(%)은 빨강색 점선과 같은 값을 갖게 됩니다. 예를 들어 High를 유지하는 시간과 Low를 유지하는 시간의 비율이 3:7이라면 평균값은 High값의 30%가 된다고 말할 수 있는 것이지요. 이렇게 주기적으로 High ▶ Low를 반복하는 신호를 펄스(Pulse)라고 하는데, 이 펄스(Pulse)의 폭(Width)을 조절(Modulation)하여 평균값을 조절하는 방법을 PWM(Pulse Width Modulation)이라고 합니다. 즉, PWM을 이용하면 디지털 출력인 High(1)와 Low(0)을 가지고 0.3(30%), 0.85(85%)와 같은 아날로그 값을 만들 수 있게 되는 것입니다. 핑크색을 컬러 LED로 표현해 본다면 아래와 같이 되겠네요.

    ■ 핑크 = 빨강 PWM 100% + 녹색 PWM 75% + 파랑 PWM 75%

 

 

 ■ PWM 출력을 만드는 방법                                                                   

  이제 PWM 출력을 만드는 방법을 알아봅시다. 아두이노에서는 다음과 같은 analogWirte( ) 라이브러리 함수를 제공하는데 이것을 이용하면 PWM 0% ~ PWM 100% 까지의 펄스를 아주 쉽게 만들 수 있습니다. 단, analogWrite( ) 함수를 사용할 수 있는 핀은 핀 번호 앞에 틸드(~) 표시가 있는 핀으로 한정되어 있다는 점은 주의하셔야 합니다.

 

    ■ analogWrite(pin, value)

    ■ pin : 입출력핀 번호에 해당되는 숫자, 틸드(~) 표시가 되어 있는 핀만 가능

    ■ value : 0~255까지의 값으로 0이면 PWM 0%, 255이면 PWM 100%를 의미함

 

  예를 들어 “analogWrite(5, 128)”으로 프로그램 한다면, 핀 5번의 출력을 PWM 50%(128/256 = 0.5 = 50%)로 출력한다는 의미가 되겠습니다.

  왜 value 값으로 알기 쉽게 0~100을 사용하지 않고 0~255를 사용하게 되었을까요? 사실 그렇게 라이브러리를 만들 수도 있겠지만 디지털 세계는 2진법으로 이루어져 있어, 1, 2, 4, 8, 16, 32, 64, 128, 256 이렇게 만들어지는 수를 더욱 좋아한답니다. 아두이노 내부적으로 본다면 Atmega328, 타이머, ADC(Analog Digital Converter) 등 좀 더 자세하게 알아야 할 것이 많지만 우리는 그냥 이 정도만 알고 넘어가는 것으로 하겠습니다.

  이제 색의 배합을 %로 할 수 있다는 것을 배웠으므로, 간단히 한 번 연습해 보지요.

  노랑과 흰색, 핑크를 R, G, B의 value 값으로 표현해 보세요. 아래와 같이 나오면 정답!.

 

   ▶ 노랑 : R(255), G(255), B(0)

   ▶ 흰색 : R(255), G(255), B(255)

   ▶ 핑크 : R(255), G(192), B(192) // 192/256 = 0.75 = 75%

 

 ■ 컬러 LED 연결                                                                    

 

  자, 그럼 이제 기본 원리는 모두 이해했으니, 프로그램을 하기 전에 컬러 LED를 아두이노와 연결해 보겠습니다. 컬러 LED는 시중에서 구할 수 있는 것 아무거나 구하셔도 됩니다.  R, G, B 및 (-) 핀을 아래와 같이 연결하면 되겠네요.

 

    ■ R (가장 왼쪽) ←→ 330오옴 저항 ←→ 아두이노 6번핀

    ■ (-) (왼쪽에서 2번째, 길이가 가장 긴 다리) ←→ 아두이노 GND

    ■ G (오른쪽에서 2번째) ←→ 330오옴 저항 ←→ 아두이노 5번핀

    ■ B (가장 오른쪽) ←→ 330오옴 저항 ←→ 아두이노 3번핀

 

  우리가 연결한 아두이노 6번, 5번, 3번 핀의 옆쪽에 실크로 쓰여진 숫자에는 틸드(~) 표시가 되어 있는데, 이것은 아두이노 핀 중에서 analog_write( ) 함수로 PWM 신호를 만들어 낼 수 있는 핀이라는 것은 앞에서 설명하였습니다. 우리는 3개 핀에 모두 PWM을 사용하여야 하므로 반드시 틸드(~) 표시가 연결된 핀을 R, G, B에 연결해야 합니다. 아래의 그림처럼 연결이 되겠네요.

 30 카멜레온반지 08

 

 

 ■ 연습 프로그램 작성                                                                   

  이제 연결은 끝났으니 프로그램을 작성하여 실행할 차례입니다.

  최종 목표는 카멜레온 반지이지만 기왕 회로를 꾸몄으니 지난번 배운 것도 복습할 겸 7가지 색(빨강, 녹색, 파랑, 노랑, 청록, 자홍, 흰색)을 먼저 만들어 보도록 하겠습니다.

  아래는 기능 규격입니다.

 

[7가지 색 만들기 기능 규격]

  1. LED가 ON되는 순서는 빨강 ▶ 녹색 ▶ 파랑 ▶ 노랑 ▶ 청록 ▶ 자홍 ▶ 흰색 ▶ 빨강 ▶ … 으로 무한 반복됨

  2. LED는 어떤 한 순간 한가지 색깔만 표시함

  3. 표시된 색깔은 1초 동안 켜진 상태를 유지함

 

  위의 7가지 색 중 노랑, 청록, 자홍은 동시에 2개의 LED를 ON 하면 얻을 수 있고 흰색은 3개의 LED를 동시에 ON하면 얻을 수 있으므로 analogWrite( ) 함수를 사용하지 않고 digitalWrite( ) 함수만 사용하여도 충분히 구현이 가능하겠습니다. 스스로 혼자 구현해 보신 후 10분 후에 함께 해보도록 하지요. (10분간 실시!)

(1분), (2분), ……, (10분)

모두 잘 되셨으리라 생각합니다. 함께 해 보겠습니다.

#define RED_LED 6

#define GREEN_LED 5

#define BLUE_LED 3

void setup()

{

 pinMode(RED_LED, OUTPUT);

 pinMode(GREEN_LED, OUTPUT);

 pinMode(BLUE_LED, OUTPUT);

}

void loop()

{

 digitalWrite(RED_LED, HIGH);     digitalWrite(GREEN_LED, LOW);   digitalWrite(BLUE_LED, LOW); // R=ON, G=OFF, B=OFF –> 빨강(Red)

 delay(1000);

 digitalWrite(RED_LED, LOW);     digitalWrite(GREEN_LED, HIGH);   digitalWrite(BLUE_LED, LOW); // R=OFF, G=ON, B=OFF –> 녹색(Green)

 delay(1000);

 digitalWrite(RED_LED, LOW);     digitalWrite(GREEN_LED, LOW);   digitalWrite(BLUE_LED, HIGH); // R=OFF, G=OFF, B=ON –> 파랑(Blue)

 delay(1000);

 digitalWrite(RED_LED, HIGH);     digitalWrite(GREEN_LED, HIGH);   digitalWrite(BLUE_LED, LOW); // R=ON, G=ON, B=OFF –> 노랑(Yellow)

 delay(1000);

digitalWrite(RED_LED, LOW);     digitalWrite(GREEN_LED, HIGH);   digitalWrite(BLUE_LED, HIGH); // R=OFF, G=ON, B=ON –> 청록(Cyan)

 delay(1000);

digitalWrite(RED_LED, HIGH);     digitalWrite(GREEN_LED, LOW);   digitalWrite(BLUE_LED, HIGH); // R=ON, G=OFF, B=ON –> 다홍(Magenta)

 delay(1000);

digitalWrite(RED_LED, HIGH);   digitalWrite(GREEN_LED, HIGH);    digitalWrite(BLUE_LED, HIGH); // R=ON, G=ON, B=ON –> 흰색(White)

 delay(1000);

}

약간 긴 듯하지만 알고리즘은 지난번과 거의 비슷하고 간단합니다.

자, 컴파일 ▶ 업로드 ▶ 실행해 봅시다. 그리고 결과는 ?

동영상에서는 LED 빛이 너무 밝아서 색깔 구별이 또렷하지 않지만, 실제 눈으로 보면 아주 예쁜 7가지 색깔이 나옵니다. 이 정도면 만족스럽네요.

 ■ 컬러 및 컬러값 선택                                                                   

  연습으로 몸을 풀었으니, 이제 본격적으로 카멜레온 반지를 D.I.Y.하러 가겠습니다. 우리가 할 일은 12개 탄생석의 대표색을 찾아서 이것이 R, G, B의 어떤 값(어떤 세기, %)으로 표현되는지를 알아낸 다음 이것을 analog_write( ) 함수를 이용하여 구현하면 될 것 같습니다.

  자, 이제 탄생석의 색깔에 알맞은 R, G, B의 값을 찾아내면 되겠는데… 2가지 방법이 있습니다.

1. 색상표를 이용하는 방법

  아래와 같이 색상표가 있으므로 이것을 보고 탄생석과 가장 비슷한 색깔을 찾아 그 코드값을 추출하는 방법입니다. 6개의 숫자는 16진법으로 나타낸 코드 값으로 앞의 2개는 R(Red), 중간 2개는 G(Green), 마지막 2개는 B(Blue)에 해당되는 값을 나타냅니다. (혹, 2진법, 10진법, 16진법의 표기법이나 변환이 익숙하지 않은 분은 이 부분에 대하여 따로 각자 공부하신 후 다시 오시기 바랍니다.) 가장 왼쪽 줄의 위에서 6번째 색상이 노랑인데, 이 값을 보면 FFFF00 으로 표기되어 있으니까 [R(FF), G(FF) B(00)] ▶ [R(255), G(255), B(0)]가 되어 노랑색 PWM 표기값과 동일하다는 것을 확인할 수 있습니다.

 

30 카멜레온반지 10

2. 컬러 추출 응용프로그램을 이용하는 방법

  PC 상에서 특정 컬러에 대한 코드값을 추출해 내는 응용프로그램을 실행시켜서 원하는 색상을 클릭하여 코드값을 추출하는 방법입니다.

 

30 카멜레온반지 11

   탄생석은 코드표로 똑 떨어지는 색상이 아니고 우리가 색상을 직접 추출해보는 것도 재미있을 것 같으니까 우리는 두번째 방법을 사용하도록 하지요. 여러가지 프로그램이 있겠지만 여기서는 그냥 간단하게 실행시킬 수 있는 컬러캅(ColorCop)이라는 무료 프로그램을 사용하는 것으로 하겠습니다. (인터넷에서 찾아 다운로드받아 실행하면 됩니다.) 아래와 같은 화면이 나오는데요. 중간 왼쪽에 있는 스포이드처럼 생긴 아이콘을 드래그(클릭한 후 끌기)하여 원하는 컬러 위치에 가져다 놓으면 10진수로 표시된 R, G, B 값이 나타나게 됩니다. 참 쉽네요.

  자, 그러면 지금부터는 탄생석의 대표색에 대한 코드값를 추출해 보는 시간입니다. 색깔도 감상해 가면서 즐거운 마음으로 표를 작성해 보면 더욱 좋겠네요.

  코드 추출은 혼자서도 가능하겠지요? 12분 드립니다.

 

1분, 2분, …, 11분, 12분

 

  제가 직접 찍어서 추출한 값은 아래와 같습니다. (각자 다를 수 있습니다.)

한글 이름 영어 이름 R G B
1 가넷 garnet 254 26 27
2 자수정 amethyst 179 117 180
3 아쿠아마린 aquamarine 211 146 251
4 다이아몬드 diamond 254 155 255
5 에메랄드 emerald 14 219 133
6 진주 pearl 246 241 237
7 루비 ruby 206 3 163
8 페리도트 peridot 167 212 31
9 사파이어 sapphaire 26 27 216
10 오팔 opal 203 200 149
11 토파즈 topaz 254 198 40
12 터키석 turquoise 58 197 189

참, 가넷이라는 보석은 얼마전 종료된 ‘지니어스’라는 TV 프로에 이름이 소개되었던 짙은 자주색계통의 보석이지요. 꽤나 재미있었던 시리즈물이었는데 여러분들도 기회가 되면 꼭 한 번 시청해 보시기 바랍니다.

 

 

 ■ 카멜레온 반지 프로그램 작성                                                                          

 

  모든 준비가 끝났으니 이제 목표 프로그램을 작성하여 실행할 차례입니다. 우리가 원하는 기능 규격을 작성해 보지요.

 

[12가지 탄생석의 대표색을 디스플레이하는 카멜레온 반지 기능 규격]

  1. 컬러 LED로 12개 탄생석의 대표색 12개를 차례대로 ON하며, 무한 반복된다.

  2. 한 가지의 색은 1초 동안 켜진 상태를 유지한다.

 

  지난번에는 digitalWrite( ) 함수를 사용했지만 이번에는 analogWrite( )를 사용하고 작성된 표를 참조하여 R, G, B에 해당하는 PWM value값을 정해주는 것만 조금 다를 것 같습니다.

  같이 한 번 작성해 보시지요.

#define RED_LED 6

#define GREEN_LED 5

#define BLUE_LED 3

void setup()

{

 pinMode(RED_LED, OUTPUT);

 pinMode(GREEN_LED, OUTPUT);

 pinMode(BLUE_LED, OUTPUT);

}

void loop()

{

 analogWrite(RED_LED, 254);  analogWrite(GREEN_LED, 26);  analogWrite(BLUE_LED, 27);  // 가넷

delay(1000);

 analogWrite(RED_LED, 179);  analogWrite(GREEN_LED, 117);  analogWrite(BLUE_LED, 180);  // 자수정

delay(1000);

 analogWrite(RED_LED, 211);  analogWrite(GREEN_LED, 246);  analogWrite(BLUE_LED, 251);  // 아쿠아마린

delay(1000);

 analogWrite(RED_LED, 254);  analogWrite(GREEN_LED, 255);  analogWrite(BLUE_LED, 255);  // 다이아몬드

delay(1000);

 analogWrite(RED_LED, 14);  analogWrite(GREEN_LED, 219);  analogWrite(BLUE_LED, 133);  // 에메랄드

delay(1000);

 analogWrite(RED_LED, 246);  analogWrite(GREEN_LED, 241);  analogWrite(BLUE_LED, 237);  // 진주

delay(1000);

 analogWrite(RED_LED, 206);  analogWrite(GREEN_LED, 3);  analogWrite(BLUE_LED, 163);  // 루비

delay(1000);

 analogWrite(RED_LED, 167);  analogWrite(GREEN_LED, 212);  analogWrite(BLUE_LED, 31);  // 페리도트

delay(1000);

 analogWrite(RED_LED, 26);  analogWrite(GREEN_LED, 27);  analogWrite(BLUE_LED, 216);  // 사파이어

delay(1000);

 analogWrite(RED_LED, 203);  analogWrite(GREEN_LED, 200);  analogWrite(BLUE_LED, 149);  // 오팔

delay(1000);

 analogWrite(RED_LED, 254);  analogWrite(GREEN_LED, 198);  analogWrite(BLUE_LED, 40);  // 토파즈

delay(1000);

 analogWrite(RED_LED, 58);  analogWrite(GREEN_LED, 197);  analogWrite(BLUE_LED, 189);  // 터키석

delay(1000);

}

  음. 조금 많이 길긴 하지만…

  일단, 컴파일 ▶ 업로드 ▶ 실행해 봅시다. 결과는?

  카메라에 찍힌 것은 색깔 구별이 또렷하지는 않은데, 실제로 보면 아름다운 색깔이 구분되어 나타납니다. 보석에 비할 수는 없지만 그래도 아주 색상이 화려하고 아름답습니다.

  그런데 프로그램 짜면서 조금 마음에 걸리는 것이 있습니다.

  무엇이냐구요? 비슷한 내용이 12번이나 반복되고 코드 값을 일일이 입력해 주는 것이 조금 불편한 듯 하네요. 그래서, 12번 반복하는 것은 for 문을 이용하여 수정하고, 코드 값은 미리 어레이에 지정해 놓았다가 사용하도록 하여 위 코드를 조금 단순화시켜 보겠습니다. 아래와 같이 될 것 같습니다.

#define RED_LED 6

#define GREEN_LED 5

#define BLUE_LED 3

void setup()

{

 pinMode(RED_LED, OUTPUT);

 pinMode(GREEN_LED, OUTPUT);

 pinMode(BLUE_LED, OUTPUT);

}

void loop()

{

 analogWrite(RED_LED, 254);  analogWrite(GREEN_LED, 26);  analogWrite(BLUE_LED, 27);  // 가넷

delay(1000);

 analogWrite(RED_LED, 179);  analogWrite(GREEN_LED, 117);  analogWrite(BLUE_LED, 180);  // 자수정

delay(1000);

 analogWrite(RED_LED, 211);  analogWrite(GREEN_LED, 246);  analogWrite(BLUE_LED, 251);  // 아쿠아마린

delay(1000);

 analogWrite(RED_LED, 254);  analogWrite(GREEN_LED, 255);  analogWrite(BLUE_LED, 255);  // 다이아몬드

delay(1000);

 analogWrite(RED_LED, 14);  analogWrite(GREEN_LED, 219);  analogWrite(BLUE_LED, 133);  // 에메랄드

delay(1000);

 analogWrite(RED_LED, 246);  analogWrite(GREEN_LED, 241);  analogWrite(BLUE_LED, 237);  // 진주

delay(1000);

 analogWrite(RED_LED, 206);  analogWrite(GREEN_LED, 3);  analogWrite(BLUE_LED, 163);  // 루비

delay(1000);

 analogWrite(RED_LED, 167);  analogWrite(GREEN_LED, 212);  analogWrite(BLUE_LED, 31);  // 페리도트

delay(1000);

 analogWrite(RED_LED, 26);  analogWrite(GREEN_LED, 27);  analogWrite(BLUE_LED, 216);  // 사파이어

delay(1000);

 analogWrite(RED_LED, 203);  analogWrite(GREEN_LED, 200);  analogWrite(BLUE_LED, 149);  // 오팔

delay(1000);

 analogWrite(RED_LED, 254);  analogWrite(GREEN_LED, 198);  analogWrite(BLUE_LED, 40);  // 토파즈

delay(1000);

 analogWrite(RED_LED, 58);  analogWrite(GREEN_LED, 197);  analogWrite(BLUE_LED, 189);  // 터키석

delay(1000);

}

  예. 요렇게 작성해서 다시 실행시켜보면… 처음 프로그램하고 똑같이 실행되는 것을 알 수 있습니다. 이것도 당근 성공이겠죠?

  그럼, 마지막으로… 이 반지를 진짜 반지처럼 한 번 연출해 볼까요?

  손가락에 켜보는 형태로 흉내를 내보지요.

  컬러 LED를 뽑아서 4개의 다리에 선을 연결하고 이선을 원래 LED가 위치했던 브레드보드의 핀 위치에 꼽으면 원래 회로와 똑같은 회로입니다. 이것을 반지 모양으로 손가락 앞쪽으로 LED만 보이게 만들고 아두이노에 전원을 넣으면?

30 카멜레온반지 14

30 카멜레온반지 15

 

  야호~~~ 카멜레온 반지가 완성되었습니다.

  소품을 이용하여 잘 만들면 어느 정도 쓸만한 것도 만들 수 있을 것 같은데, 이것은 여러분들이 D.I.Y. 해보시기 바랍니다. 잘 만들어졌으면 주변에 자랑도 한 번 해 보시구요.

  시간나실 때 아래 과제도 한 번 해보시면 더욱 좋겠죠?

 [과제-카멜레온반지-1]

 R, G, B 색이 임의로 변하는 카멜레온 링을 만들어 보세요.

 [과제-카멜레온반지-1]

 R, G, B 각각이 0~255까지 짧은 시간 내에 계속 변화하면서 모든 색상을 디스플레이할 수 있는 카  멜레온링을 만들어 보세요. 총 256 x 256 x 256 = 16,777,226 가지의 색깔을 만들수 있을까요?

 

 

 

 ■ 스위치 연결                                                                                

  바로 전 강의까지 우리는 아두이노로 할 수 있는 2가지 기초 기능을 다루어 보았습니다. 디지털 출력(digitalWrite())과 아날로그 출력(analogWrite())이지요. 여기서의 아날로그 출력은 엄밀히 말하면 디지털 출력을 PWM을 이용하여 만든 유사 아날로그 출력이지만요.

 

  기본적인 출력을 2가지 해보았으니 이번에는 기본적인 입력을 이용하여 ‘빨노파 게임기’ D.I.Y.에 도전해 보겠습니다. 빨노파게임기란 빨강 ▶ 노랑 ▶ 파랑 순으로 LED 색깔이 상당히 빠르게(0.1초 이내) 변하다가 스위치를 누르는 순간 빨강, 노랑, 파랑 중의 1가지로 약 5초 정도 고정되는 LED 디스플레이어입니다. 아주 빠르게 색깔이 변하므로 사람이 임의로 색깔의 변화를 읽어서 스위치를 누른다는 것은 불가능하다고 볼 수 있으므로 임의의 색깔이 나타나는 상황이 됩니다. 그러므로 가위바위보 게임과 비슷하게 빨강은 파랑을 이기고, 노랑은 빨강을 이기고, 파랑은 노랑을 이긴다고 룰을 정한 후 두 사람이 스위치를 순서대로 눌러서 나온 색깔로 승부를 가린다면 간단한 게임기가 될 수 있겠습니다.

  아 참, 이건 여담인데, 빨노파… 하니까 생각나는게 하나 있네요. ‘개그콘서트’라는 TV 프로의 ‘나는 킬러다’ 코너에 등장하는 빨노파 3형제…  ‘일소일소(一笑一少)’라는 말이 있는데 한 번 웃으면 한 번 젊어진다고 하니, 여러분도 틈나는 대로 개그 프로 열심히 보면서 많이 웃으시기 바랍니다.

  LED가 대표적인 기본 디지털 출력 부품이라면, 스위치는 대표적인 기본 디지털 입력 부품입니다. 스위치를 모르는 사람은 천지(天地)에 없겠지만, 기왕 말이 나왔으니까 많이 쓰는 스위치 2-3가지만 조금 살펴보고 가는 것도 나쁘지는 않을 듯 합니다.

  우리가 제일 흔하게 많이 보고 많이 쓰는 스위치는 무엇일까요?

  요렇게 생긴 것이겠죠? 전자기기 전원 껐다 켰다 하는 스위치, 형광등 껐다 켰다 스위치.

30 카멜레온반지 16

(KCD1-101A RED, 상품코드: 1790)

  실생활에서 가장 많이 쓰이는 스위치로 이름은 로커(Locker) 스위치입니다. 잠긴(lock) 것처럼 ON이거나 OFF이거나 한가지 상태로 존재하지요.

  또, 어떤 스위치가 있을까요? 아래와 같이 생긴 슬라이드(Slide) 스위치도 많이 사용됩니다. 왼쪽이나 오른쪽으로 옮기면 각각 가운데 신호가 왼쪽이나 오른쪽에 연결된 신호와 연결되는 구조를 가진 스위치입니다. 요건 2단으로 되어 있어 2개의 서로 다른 신호가 동시에 왼쪽 또는 오른쪽으로 연결되는 형태네요.

30 카멜레온반지 17

 

(MSL-1C2P(듀얼)-2mm, 상품코드: 30530)

  이번 강의에서 사용할 스위치는 아래와 같이 생긴 택트(Tact) 스위치입니다. 이것도 굉장히 많이 사용됩니다. 아마도 contact에서 이름이 유래(?)된 듯한데, 손가락으로 누르면(contact 되면) ON, 떼면 OFF 상태가 되는 스위치이지요.

  아래 것은 다리가 4개가 있어서 2쌍의 신호가 한꺼번에 연결되거나(ON), 끊어지거나(OFF) 하는 스위치가 되겠습니다.

30 카멜레온반지 18

(ITS-1105-5mm, 상품코드: 34555)

  자, 스위치가 결정되었으니 그럼 이제 스위치를 연결해 볼까요?

  스위치 심볼은 보통 아래와 같은 2가지 형태를 취합니다. 스위치가 눌려지면 왼쪽과 오른쪽에 연결된 전선이 연결되는 것이지요. 스위치를 놓으면 양쪽의 연결은 끊어지는 것이구요.

30 카멜레온반지 19

30 카멜레온반지 20

  스위치가 디지털 입력이라고 하였고, 스위치는 양쪽 끝이 있으니까 한 쪽은 당연히 아두이노의 디지털 신호선 중 하나에 연결하여야 할 것이고, 다른 한쪽은 어디에 연결해야 할까요? 스위치를 눌렀을 때 ‘1’(HIGH)이나 ‘0’(LOW)이 입력되어야 하므로, ‘1’이 연결되려면 VCC(+5V)가 연결되어야 하고, ‘0’이 입력되려면 GND(0V, Ground)가 연결되어야 할 것입니다.

  그러면 이렇게 연결이 되겠네요.

 30 카멜레온반지 21

 

30 카멜레온반지 22

 

  그런데 가만히 보니까, 스위치를 눌렀을 때는 연결된 상태에 따라서 +5V 또는 0V(GND)가 연결되지만 스위치가 눌리지 않았을 때는 선이 끊어진 상태(floating 상태)가 되는데… 어라, 이렇게 되면 아두이노는 이 핀의 값을 HIGH(1)로 판단할까요? 아니면, LOW(0)로 판단할까요? 조금 어려운 문제인데 이것은 아두이노의 내부 로직과 상태에 따라 값이 결정될 수 있으므로 정확하게 HIGH 또는 LOW라고 단정지어 말할 수 없습니다. 즉, 상황에 따라 HIGH가 될 수도 있고 LOW로 될 수도 있다는 뜻인데, 이렇게 되면 값이 확정되지 않으므로 프로그램을 작성하는 사람은 대략난감(大略難堪, 이러지도 저러지도 못하는 당황스러운 상황)하게 됩니다. 그래서, 이렇게 선이 끊어진 상태가 될 때는 아두이노가 HIGH 또는 LOW 중, 하나의 값으로만 결정되도록 만들어 주는 조치가 필요합니다. 즉, 스위치를 눌렀을 때 HIGH가 되는 회로는 눌러지지 않았을 때 LOW가 되도록 조치해 놓아야 하고, 반대로 스위치를 눌렸을 때 LOW가 되는 회로는 눌러지지 않았을 때는 HIGH가 되도록 조치해 놓아야 하겠습니다. 아래와 같이 될 것 같습니다.

30 카멜레온반지 23

30 카멜레온반지 24

  하지만 위 그림도 아직은 문제가 있어 보입니다. 왜냐하면 스위치가 눌려졌다고 생각하면 위 2개 회로 모두가 +5V와 GND가 직접 연결되는 형상이 되어 버리니까요.

  뿌직~~~ 번쩍! 푸쉬푸쉬~~~

  무엇인가 터지던지… 불꽃이 튀던지… 연기가 나던지… 뭔가 문제가 생길 것 같습니다. 그래서 이런 경우를 방지하기 위한 대비책이 필요한데 이 역할을 수행하는 것은 저항입니다. 아래와 같이 스위치가 눌렸을 때와 눌려지지 않았을 때의 값이 서로 다르게 입력되는 위치에 저항을 달면 문제가 해결되겠습니다. (저항값은 보통 1K~10K 정도를 사용합니다.) 참고로 GND에 저항이 연결되는 것을 풀다운(pull down) 저항이라고 하고, VCC(+5V)에 연결되는 것을 풀업(pull up) 저항이라고 합니다.

30 카멜레온반지 25

 

30 카멜레온반지 26

 

 

  하나 하나 설명하다보니 조금 장황해졌는데요. 어쨌든 이제 연결 방법은 알았으니, 실제로 회로를 아두이노에 연결해 봅시다. 조금 전에 만들었던 카멜레온반지 회로에 스위치 한 개를 추가하여 2번핀(D2)에 연결하는 것으로 하겠습니다. 아래와 같이 되겠네요.

 30 카멜레온반지 27

  오, 그럴듯하게 잘 꾸며진 것 같습니다. 만족? 만족!

 

 

 ■ 신호등 게임기 프로그램 작성                                                  

 

  이제 프로그램을 작성하여야 하는데요. 언제나 마찬가지로 일단 원하는 기능 규격을 작성해 봅시다.

 

[신호등 게임기 기능 규격]

  1. 컬러 LED,의 색깔은 0.1초 마다 빨강 ▶ 노랑 ▶ 파랑 ▶ 빨강 ▶ 노랑 ▶ 파랑… 의 순으로 계속 바뀐다..

  2. 스위치를 누르는 순간 5초 동안만 현재의 LED 색이 유지되었다가 다시 ‘1’번을 수행한다.

 

  컬러 LED의 색깔이 바뀌는 것은 지난번에 했으니까 별 문제가 없을 것이고, 스위치 값을 읽어서 그 값이 0(LOW, 스위치 눌림)인지 1(HIGH, 스위치 눌리지 않음)인지를 검사할 수만 있으면 쉽게 해결될 것 같습니다. 이런 경우에 대비해서 아두이노에서는 digitalRead(pin)라는 기능의 함수를 제공하므로 이것을 이용하도록 합니다.

 

digitalRead(pin)

  ■  pin : 핀 번호

  ■  return 값 : pin을 통하여 들어온 디지털 값으로 0 또는 1

 

  이제 기능 규격을 만족할 수 있는 프로그램의 알고리즘을 만들어 보지요. 아래를 보기 전에 각자 먼저 5분 정도 생각해 보시구요.

… (1분) … (2분) … (3분) … (4분) … (5분)

  아래와 같은 모습이 될 것 같습니다.

30 카멜레온반지 28

  이제 프로그램을 함께 해볼까요?

int SW=2; // #define을 이용해도 되지만 이와 같이 변수로 선언하는 것도 방법

int BLUE_LED=3

int GREEN_LED=5;

int RED_LED=6;

void setup()

{

 pinMode(SW, INPUT); // 2번핀은 스위치 입력

 pinMode(BLUE_LED, OUTPUT); // 3번핀은 파랑 LED 출력

 pinMode(GREEN_LED, OUTPUT); // 5번핀은 녹색 LED 출력

 pinMode(RED_LED, OUTPUT); // 6번핀은 빨강 LED 출력

}

void loop()

{

analogWrite(RED_LED, 255);  analogWrite(GREEN_LED, 0);  analogWrite(BLUE_LED, 0); // 빨강

if (digitalRead() == 0)

   delay(5000); // 스위치를 눌렀으면 5초 대기

else

delay(100); // 스위치를 누르지 않았으면 0.1초만 대기

analogWrite(RED_LED, 255);  analogWrite(GREEN_LED, 255);  analogWrite(BLUE_LED, 0);   // 노랑

if (digitalRead() == 0)

   delay(5000);

else

delay(100);

analogWrite(RED_LED, 0);  analogWrite(GREEN_LED, 0);  analogWrite(BLUE_LED, 255); // 파랑

if (digitalRead() == 0)

   delay(5000);

else

delay(100);

}

  digitalRead()를 수행하여 값이 ‘0’인 상태가 나타나면 스위치가 눌려진 것이니까 그 상태에서 delay(5000); (5초 동안 아무것도 하지 않음)을 수행하게 되므로 LED가 5초 동안 한가지 색깔을 유지하게 됩니다. 자신의 색깔이 결정되는 것이지요.

  작성이 다 되었으면… 컴파일 ▶ 업로드 ▶ 실행! 잘 나오나요?

 30 카멜레온반지 29

  옆에 있는 가족/친구/상사/동료와 간단히 게임 한 번 해 보시지요! 나는 빨강, 상대는 파랑, 야호~ 내가 이겼다. 밥 먹으러 갑시다.

  오늘은 여기까지입니다. 다음 시간에는 FND(Flexible Numeric Display)를 가지고 007 영화에 항상 등장하는 카운트다운 계수기 D.I.Y.에 도전해 보겠습니다. 아래 과제는 짬을 내서 해보시고 다음 강의에서 예쁜 얼굴로 또 만나겠습니다. 감사합니다.

 [과제-빨노파게임기-1]

 스위치를 누르면 ‘1’이 되도록 연결하고 프로그램해 보세요.

 [과제-빨노파게임기-2]

 스위치를 2개 사용하여 더 재미있는 DIY 작품을 만들어 보세요.

 

 

 

아두이노 구매하러 가기 : 클릭!

[40호]다양한 응용이 가능한 DIY 네온사인 EL와이어 제품군 출시

  SZH-LD  

다양한 응용이 가능한 DIY 네온사인

EL와이어 제품군 출시

 

최근 카페와 주점, 가정집 인테리어 등에 이르기까지 소형 LED 네온사인을 활용한 실내 사인물이 늘어나는 추세이다. 이러한 흐름에 맞춰 디바이스마트의 LED 전문 독자 브랜드 SZH-LD에서도 신년을 맞이해 LED 상품군을 대거 출시했다. 셀프 인테리어가 유행인 요즘, 잡지에 나오는 카페처럼 나만의 스타일로 꾸미고 싶은 욕구를 200% 충족시켜 줄 제품이 바로 DIY 네온사인 EL와이어.

눈에 자극적이지 않은 11가지의 은은한 포인트 색상 EL와이어(굵기 2.3mm, 3.2mm, 5mm)를 구부려 다양한 모양을 만들어낼 수 있으며, 배터리 커넥터 사용시 깜빡임 효과로 강렬한 인상을 남길 수도 있다. 길이는 1M, 3M, 5M로 세 종류이며, 전원방식 또한 배터리 인버터 형식과 USB 인버터 형식으로 선택의 폭이 다양하다.

EL와이어 제품 이외에도 개성 넘치는 셀프 인테리어를 위한 더욱 다양한 LED상품은 디바이스마트 홈페이지(http://www.devicemart.co.kr)에서 구매 가능하다.



 

DIY 네온사인 EL와이어 제품군 보러가기

 

 

 

[40호]‘국내 최초’ 262MHz 주파수 대역의 양방향 무선모듈 YUL262RTX 출시

라디오리써치

‘국내 최초’ 262MHz 주파수 대역의 양방향 무선모듈

YUL262RTX 출시

 

30년의 무선 모듈 개발 및 제조 노하우로 사물인터넷용 무선모듈의 선두주자를 지향하는 라디오리써치는 엔지니어들이 직접 운영하는 회사로, 산업용 무전기, 페이저, 자동차 및 산업용 리모콘, DMB 모듈 등 사물인터넷용 무선모듈 전문 업체다. 4년 전에 출시된 MJ447RTX가 고객들의 좋은 호응과 꾸준한 수요에 맞춰 공급량을 늘리고 있는 가운데, 2017년 1월 우리나라 최초로 262MHz 주파수 대역의 양방향 무선모듈인 YUL262RTX가 출시됐다. 특히 이 제품은 우리나라에서 262MHz 주파수 대역을 활용하는 최초의 모듈이자, 최초로 전파법(국립전파연구원장 발행) 인증까지 받은 제품이다. 또한 차별화된 긴 통신거리(1.5Km이상)와 노이즈가 거의 없는 깨끗한 데이터 송수신 환경, 그리고 중계기능이 원활하다는 점 등을 내세워 좋은 평가를 받고 있다.

주요 기능 및 특장점

1. 긴 통신 거리 : 1500m 이상- 4,800bps, 100mW, Line of Sight, 인증안테나

2. 통신 속도(무선부분) 변경 가능 :

· UART : 4800bps / 9600bps / 19200bps (기본값 19200bps)
· 무선부 전송속도 : 4800bps / 19200bps (기본값 4800bps)

3. 중계모드 운용가능 : 최대 7단계 가능

4. 넓은 동작온도 범위 : -20 ~ 85°C, TCXO 채용으로 동작 온도범위가 넓음

5. 패킷 단위 전송 가능 : UART를 통해 패킷 단위 전송 가능 (회당 최대 59바이트)

6. 용도 미지정 무선기기 주파수 사용 : 262.0MHz ∼ 264.0MHz (2015년 신설)

7. 신뢰성 있는 무선채널

· 채널 간격이 넓어(현재 50KHz간격) 채널 선택도가 좋음
· 신설채널이라서 노이즈원이 없음
· 뛰어난 수신감도
· 2MHz 대역에 채널 37개 설치

다채널 양방향 무선 송수신모듈 + 안테나 (YUL262RTX+ANT) 상세 보러가기

www.radioresearch.co.kr
TEL. 02-6336-7856

 

[40호] 2016 한국전자전 Korea Electronics Show

Cap 2017-01-31 17-53-27-859

Cap 2017-01-31 17-53-27-859

2016 한국전자전 Korea Electronics Show 

글 | 책임기자 이용동 bluelyd@ntrex.co.kr

 

융합창조적 사고와 혁신적 IT기술이 만드는 놀라운 세상, 첨단기술의 향연이 펼쳐지는 ’2016 한국전자전(KES 2016)’이 2016년 10월 26일(수)부터 29일(토)까지 서울 코엑스에서 개최됐다. 1969년 최초 개최 이후 47회째를 맞은 이번 행사는 전자 IT 기술이 우리 일상생활에 가져온 편리함과 세상을 풍요롭게 해줄 다양한 제품과 디자인 그리고 융합 콘텐츠 등을 선보였다. 이번 전시회는 첨단가전, 정보통신기술(ICT), 반도체, 디스플레이 등 세계 1등 제품은 물론 산업융합, IT융합, 디지털방송, 스마트교육, 스마트팩토리, e-헬스와 같은 차세대 컨버젼스 솔루션을 만나볼 수있는 전시회로, 산업통산자원부가 주최하고 한국전자정보통신산업진흥회, 반도체산업협회, 디스플레이산업협회가 주관하며 유력바이어와 정부, 단체 관계자가 대거 참가했다.

40 hot ke (16)

DTS KOREA(지사장 유제용, www.dts.com)는 DTS:X, DTS HEADPHONE:X, DTS NEURAL:X라는 오디오 기술을 선보였다. DTS:X는 3D 오디오 기술로 스피커 수나 위치의 제약 없이 객체지향 소리를 표현할 수 있는 기술로, 리얼한 사운드로 몰입도를 높이며 어떤 스피커 레이아웃과도 호환 가능하다. 또 무손실 인코딩을 지원한다. DTS HEADPHONE:X는 오리지널 믹싱 스튜디오의 음향 특성과 전문 오디오 연구소의 레퍼런스를 사용해 홈시어터 서라운드 경험을 헤드폰에서 구현하며 청취 환경에 따른 유저 인터페이스가 제공된다. DTS NEURAL:X는 고성능 업믹싱 솔루션으로 최대 11.1 채널까지 업믹스 할 수 있으며 스테레오 소스로부터 몰입감 넘치는 서라운드 사운드 경험을 구현한다.

40 hot ke (1)

삼성전자는 이번 한국전자전에서 SUHD TV부터 패밀리허브 등 다양한 전자제품들을 선보였다. 그 중 SUHD TV는 최신 퀀텀닷 디스플레이 기술 을 적용 100%에 가까운 색재현력 및 HDR 1000 지원으로 관람객들의 큰 관심을 얻은 제품으로, 삼성전자의 디스플레이 기술력을 모두 집약한 제품으로 평가받고 있다.

삼성전자는 이 외에도 넓은 부스 공간을 활용해 Curved TV, Gear S3 등 다양한 제품의 시연을 꼼꼼하게 준비했다. 점점 내장기술이 발달하고 있는 기어 S3는 시계 고유의 감성을 담은 정교한 아날로그 디자인과 스트랩, 워치페이스를 통한 다양한 시계 연출, 혁신적인 원형 베젤 UX로 다양한 기능조정, IP68 방수방진, 미국방성 내구성 규격인증 등을 통해 디자인을 넘어서 안전성까지 선보였다. 또한, 패밀리허브는 냉장고 안을 실시간 확인하는 푸드알리미, 가족과 스케줄을 공유하는 스티키 캘린더, 음성으로 따라하는 푸드레시피, 손글씨로 메시지를 전하는 화이트보드 등 다양한 기술력이 집약된 제품이다. 또한 제품들이 한 곳에 어우러진 부스 내 키친테마 섹션에서 셰프들과 함께 하는 칵테일 클래스 등을 진행해 관람객들이 간단한 핑거푸드와 함께 칵테일도 맛볼 수 있는 시간을 가져 좋은 호응을 이끌어냈다.

40 hot ke (2)

교육부 CK-Ⅱ수도권 특성화사업 ‘다빈치형 인재양성사업’을 진행하고 있는 서울과학기술대학교(단장 김영석, www.adblcenter.kr)는 전학기설계기반학습(ADBL)의 다양한 성과물을 선보였다. 전학기설계기반학습(ADBL)이란, 저학년부터 설계 주제를 정하고 교과목 수강을 통해 작품을 완성해 가는 공학 교육으로, 졸업까지 완성도 있는 설계 작품을 만듦으로써 실용적 공학교육을 실현하는 제도다. 세 명에서 다섯 명이 한 팀으로 구성돼 학생들의 자기주도 학습을 통해 결과물이 만들어지며 Learning Everywhere 시스템을 통해 구체화된다.

또 서울과학기술대학교는 학생들의 연구 활동을 독려하기 위한 다양한 프로그램을 진행하고 있다고 한다. 매년 연구집을 발행하는 한편, 각종 경진대회 및 국내외 전시회 참가를 지원한다. 특히 올 초에는 세계 최대 규모의 전시회인 미국 CES에 학부생만으로 이루어진 팀으로 참가해 주목을 받기도 했다고 관계자는 설명했다.

40 hot ke (3)

수상에스티주식회사(대표 이성종)는 어린이 창의력 향상에 도움이 되는 교육용 스마트로봇 ‘모피펫’을 시연했다. 모피펫은 융합형 모바일 콘텐츠 ‘모피앱’을 이용해 스마트기기와 연동할 수 있으며, 놀이 학습형 홈스쿨링 서비스가 가능해 4~7세 아이에게 유용한 제품이다. 또한 강아지를 모티브로 제작된 교육용 로봇으로, 모피앱을 내려 받아 블루투스로 연동할 수 있으며, 강아지를 키우듯 놀이를 하면서 영어 공부도 가능해 교육과 재미를 동시에 잡은 제품으로 평가받고 있다. 배운 단어를 3차원(3D) 문장학습 게임으로 복습하는 ‘게임동산’, 로봇이 불러주는 영어동요 ‘노래해요’, 실제 강아지를 키우는 듯한 느낌을 주는 ‘모피와놀자’ 등 높은 학업 성취도와 학습 동기를 불러일으키는 메뉴로 구성됐다. 특히 먹이주기·음성인식·원격조종 등 기능을 탑재해 강아지 로봇과 유아 상호작용과 교감이 가능하게 하는 한편, 스마트폰 없이 사용하는 ‘독립모드’ 기능도 함께 제공돼 스마트폰에 익숙하지 않은 소비자들을 위한 작은 배려도 돋보인다.

40 hot ke (4)

제품 품질향상을 위해 R&D 분야에 역량을 집중하는 한스레이저코리아는 이번 한국전자전 2016에서 다양한 레이저 마킹기를 선보였다. 한스레이저는 현재 중국 1위 레이저 가공설비 제작 기업으로, 최근 다양한 투자 전문 분석 회사들로부터 전도 유망한 업체로 선정되는 등 가능성을 인정받고 있는 업체다. 특히 전 세계적으로 자외선 레이저 특허기술을 보유하고 있는 몇 안되는 기업이자 현재 300개가 넘는 특허와 수십 개의 소프트웨어 저작권을 보유하고 있다.

한스레이저코리아가 이번 전시회에서 선보인 대표 제품은 CO2 레이저 마킹기인 ‘CO2-D160’ 제품이다. 이 제품은 기존 제품들에 비해 마킹 퀄리티가 우수하며 마킹 깊이 조절이 가능하다는 장점뿐 아니라, 소모품이 없고 설비 단가가 저렴해 산업용 레이저마킹기로서 좋은 조건을 갖추고 있다. 특히 독자 개발한 한스 CO2 레이저와 독일 Scanlab 스캐너를 탑재해 독자성과 범용성을 모두 충족하는데 성공한 제품으로 평가되고 있다. 또한 고무, PP, ABS, MDF, 나무, 유리, 세라믹, 가죽, 카본 등 다양한 재질의 재료에 적용 가능해 식품포장재 마킹, 의료약품 포장, 전자부품, 명찰 등 다양한 곳에 활용될 수 있다고 한다.

한편, 한스레이저코리아는 2천W급 이상 고출력 시장에의 진입을 위해 중국 내 쌓아온 노하우를 바탕으로 한국 시장을 적극 개척해 나갈 계획이라고 업체 관계자는 설명했다.

40 hot ke (5)

앞썬핏(대표 이명재, www.apsunfit.com)은 국가산업융합지원센터의 산업융합관 부스에 자리해 무선골전도 이어폰 ‘AFTERSHOKZ’을 선보였다. 무선골전도 이어폰 ‘AFTERSHOKZ(에프터샥)’은 특허받은 트랜스듀서를 이용해 고막이 아닌 측면 광대뼈를 진동시켜 소리를 전달하는 이어폰으로, 고막을 거치지 않기 때문에 난청의 위험이 없고 청각 장애인들도 보다 선명한 소리를 들을 수 있는 제품이다. 특히 생활방수가 가능하고 귀에 직접 꽂지 않기 때문에 위생적이며, 음악이나 방송을 들으면서 주변 상황을 함께 인지할 수 있어 사고 예방에도 도움이 된다. 또한 초경량 티타늄 프레임에 이중소음제거 기술이 접목 됐으며 다이나믹 스테레오 사운드, 연속 6시간 음악재생과 통화가 가능한 제품이다.

40 hot ke (14)

 

40 hot ke (15)

엘지전자는 이번 전시회에서 wRGB와 Oxide기술을 바탕으로 세계 최초로 55인치 OLED TV를 개발 및 출시했다. 또한, 세계 최초 쿼드 DAC 탑재, 프리미엄 오디오 ‘B&O 플레이’와 협업해 최상의 스마트폰 오디오 성능 구현, 세계최초 전후면 광각카메라 탑재, 하이파이 녹음 지원이 되는 프리미엄 스마트폰 V20를 선보였다. 특히 별도의 부스를 마련해 타사 스마트폰의 카메라와 비교 시연을 통해 광각 카메라의 장점을 많은 관람객들에게 소개했으며, 현장에서 V20의 음향을 직접 체험할 수 있는 공간도 마련했는데, B&O의 고성능 헤드폰도 함께 준비해 최적화된 32비트 고음질 사운드를 제대로 경험할 수 있도록 하는데 촛점을 맞춘 것으로 보였다.

또한 투명매직스페이스 채용해 예술품과 같은 냉장고, 톨스텐 벨루어가 디자인한 세탁기, 최고의 화질과 음향을 제공하는 올레드 TV 및 세계 최대크기 21:9 모니터이자 WQHD 디스플레이 적용 IPSXsRGB 100%로 자연에 가까운 색 표현력, 90cm에 가까운 긴 화면에 적용된 2300R의 곡률로 몰입감을 선사하는 울트라 와이드 모니터를 선보이는 등 프리미엄 가전제품에 힘을 실어 관람객들의 큰 관심을 얻었다.

40 hot ke (8)

이노코프(대표 노재학)는 ‘케어럭스’ 안마의자 등 다양한 건강용품을 선보였다. 케어럭스 ‘수퍼프로 3D CL10000′ 안마의자는 3D 안마기술을 적용해 마사지볼이 최대 12cm까지 돌출되는 제품으로, 인체 공학적 에스라인 프레임을 적용했으며, 4면 입체 팔에어 마사지 기능을 적용했다. 팔걸이 부분 옆면에 전원, 리클라이닝 각도 조절 버튼을 배치해 사용의 편의를 더했다. 여기에 최신 슬라이딩 리클라이닝 방식을 적용해 벽으로부터 5cm 정도의 공간만 확보돼도 설치가 가능하다. 또한 케어럭스 ‘수퍼프로 3D CL10000′ 안마의자는 안전을 우선한 끼임방지 안전장치가 내장돼 있으며, 최적의 마사지를 위한 온열 기능도 포함돼 있다. 이 외에도 진동운동기 ‘핏밸런스 CL500′은 운동의 극대화를 위해 특허 받은 디자인을 적용했다. 착용이 편한 와치형 리모컨과 함께 사용할 수 있고 운동 중에도 두손이 자유로운 RF 방식의 리모컨을 채택했다. 워킹, 조깅, 러닝 등 3가지 자동코스가 내장돼 있으며 운동거리와 소모칼로리 표시도 해준다. 또한 휘트니스 밴드와 사용해 다양한 운동을 적용할 수 있다.

40 hot ke (9)

모컴테크(대표 최해용, www.mocomtech.com)는 VR 스크린 ‘스크린 스타디움(SCREEN STADIUM)’을 선보였다. 스크린 스타디움(SCREEN STADIUM)은 한 화면에서 1~12개의 멀티 영상을 동시 시청할 수 있는 스크린으로 세계 최초 32:9 비율의 VR 스크린이다. 콘트라스트 저하 없이 밝은 영상을 볼 수 있는 것이 가장 큰 특징으로, 일반 스크린 대비 약 20배 정도 밝다. 또한 함께 선보인 리얼 파이터(REAL FIGHTER)는 무동력 가상훈련 시스템 겸 VR 게임기로 모터없이 작동하며 자이로스코프와 위치 센서가 장착됐다. 기존 제품에 비해 설치가 간편하고 제작비용이 저렴해 VR/가상훈련 장치의 대중화를 이끌 것으로 기대된다. 이 외에도 모컴테크는 휴대용 VR 기기 리얼포터(REAL PORTER)도 선보여 많은 관람객들의 이목을 집중시켰다.

40 hot ke (10)

한국지엠 주식회사(이하 한국지엠)는 전자 및 통신, IT 업계와의 협업이 강조되는 자동차 기술 트렌드에 따라 첨단 전기차 기술과 노하우가 집약된 주행거리 연장전기차 쉐보레 볼트(Volt)와 더불어 순수전기차 볼트(Bolt) EV를 국내 최초로 전시했다.

올 2017년에 볼트 EV가 출시되면 1회 충전에 국내 전기차 중 최장 주행거리를 자랑하는 현대차 아이오닉 일렉트릭, 전 세계에서 돌풍을 일으키고 있는 미국의 전기차 업체 테슬라의 저가 보급형 전기차 ‘모델3′와 본격적인 경쟁이 벌어질 전망이다. 볼트 EV는 최근 미국 환경청에서 383km(238마일)의 1회 충전 주행거리를 인증받은 장거리 주행 전기차로, 부산에서 서울까지 한번 충전으로 주행이 가능하다. 1회 충전 주행거리가 현대자동차의 아이오닉 일렉트릭(191km)보다는 2배 길며 테슬라의 모델3(346km)도 넘어선다. 미국에서 판매가격은 보조금 지원시 3만 달러(약 3400만원) 이하이며, 국내 판매가격은 미정이다. 볼트 EV에는 스마트폰 연동 기능을 대폭 강화한 커넥티비티와 인포테인먼트가 탑재될 계획이며, 상세 정보와 제품가격은 출시 시점에 맞춰 공개될 예정이라고 한다.

40 hot ke (12)

(주)형제파트너, 경북창조경제혁신센터, 한국생산기술연구원은 이번 전시회에서 국내부품, 국내제작, 국내 기술로 만든 국내 생산 농업용 전기차의 구동부 밋션, 리튬배터리, 모터 등을 확인할 수 있는 특수제작 제품을 전시했다. 관계자는 “전기차분야는 원거리를 직접 운전하는 이동수단으로 기기고장을 가져올 수 있는 부분이 많은 것이 사실이다. 국내에서 골프카 등의 특수전기차 승용형을 직접 제작하는 업체는 4곳이며 그 중 농업용전기차 승용형 분야로 국가인증을 득하여 농기계로 판매되고 있는 업체는 단 2곳뿐이다. 안타깝지만 기술의 축적이 더 필요하다”면서, “많은 관람객들이 중소기업에서도 농업용 분야의 전기차를 하고 있다는 점에서 놀라워하며, 농기계도 석유가 아닌 전기를 사용하는 모델이 나오길 바라고 있다. 또 전기를 사용하는 농기계에 대한 배터리에 면세를 바라는 고객들이 많았다”고 밝혔다.

아직 발전의 초창기라고 볼 수 있는 농업용 전기자동차 관련 산업은 앞으로도 풀어나가야 할 숙제가 많은 편이다. 이번 전시회에서 확인할 수 있었던 작지만 소중한 한 단계 발전을 통해서, 보다 더 확충된 인프라와 폭넓은 정책적 지원도 한 걸음 나아갈 수 있기를 기대하며 이번 KES 2016 관람을 마무리했다.

나흘간의 일정으로 코엑스에서 개최된 한국전자전은 자동차, 사물인터넷(IoT) 등 산업 간 융합 트렌드를 선도하며 다양한 제품과 디자인, 그리고 콘텐츠 등 창조적 아이디어와 혁신적 정보기술(IT)을 만나볼 수 있었다. 특히 이번 전시회 참가업체는 약 810여 개 (작년대비 약 13% 증가)였으며, 참관객은 해외바이어 3,400여 명을 포함한 6만 7천여 명(작년 대비 약 12% 증가)이 몰려 대성황을 이루었다. 또한, 15년 연속 중국 브랜드가치 1위에 오른 Haier을 비롯하여, 연매출 2조의 중국 4대 가전제품 유통업체 Chang Hong, 유럽 전역에 125개의 대형 매장을 가지고 있는 프랑스 유통사 Boulangar SA, 영국의 유명한 유통사 TESCO 등 전 세계 20여 개 국가의 바이어들와 비즈니스 상담회를 개최하는 등 총 약 18.6억불 상당의 무역거래 상담이 이루어지는 성과를 거두었다고 한다.

한편, 아시아 지역의 대표 전자 및 IT 전시회로 발돋움한 한국전자산업대전(KES)은 2017년에는 10월 17일(화)부터 20일(금)일까지 더욱 풍성한 볼거리와 테마관으로 개최될 예정이다.

40 hot ke (7)
LG전자 부스 [와이드 게이밍 모니터]
40 hot ke (13)
코니자동차의 전기자동차 TX-500KC
40 hot ke (6)
Automotive 관련 LG이노텍의 제품군
40 hot ke (11)
3D 프린팅 아트 & 디자인전문 갤러리 디지털핸즈

 

 

 

 

 

[40호]초보자를 위한 아두이노용 센서 쉴드, 센서 교육 키트 제품 6종 출시

[HA-BK-01] 초보자용 아두이노 우노 보드 키트
- Arduino Uno, 올인원 쉴드(모터 및 센서 I/O 쉴드 통합)
[HA-SK-04] 아두이노 기본 센서 키트
(V2용 D타입, 센서 9종)

 

  ㈜헬로앱스  

초보자를 위한 아두이노용 센서 쉴드,

센서 교육 키트 제품 6종 출시

 

㈜헬로앱스에서는 초보자가 아두이노 우노 보드 사용 시 겪는 불편함을 해소하기 위한 올인원 기능의 쉴드를 디바이스마트에 출시했다. 아두이노 우노 올인원 쉴드(HA-BK-02) 제품은 기존 IO쉴드 제품 기능 외에 모터 드라이브 쉴드 기능을 하나로 합쳐 놓은 것이 특징이며, 초보자가 브레드보드 없이 각종 센서 모듈을 바로 연결할 수 있는 등 다양한 편리함을 제공한다.

특히 초보자가 센서를 센서 핀에 반대로 연결하는 실수를 방지하기 위해 아날로그 및 디지털 케이블의 색상에 맞추어 3핀 헤더의 색상도 컬러로 구분해 놓아 센서 연결 시 쉽고 빠르게 작업을 진행할 수 있도록 한 것이 장점이며, 모바일 로봇에서 사용되는 2개의 모터를 별도의 모터 드라이브 장치없이 바로 연결할 수 있는 모터 핀을 2개 제공한다. 또한 I2C 부품과 블루투스 등 시리얼 통신을 필요로 하는 부품들을 위해 4핀으로 구성된 센서 핀을 별도로 배치함으로써 시중에 판매되는 4핀 모듈형 제품 연결시 4핀 케이블로 바로 연결할 수 있다.

헬로앱스의 아두이노 우노 올인원 쉴드는 아두이노 우노 보드와 같이 묶음(HA-BK-01)으로 구매하거나 또는 우노 올인원 쉴드(HA-BK-02)만 구매할 수 있으며, 구매시 제품 보관용 케이스와 함께 제공된다.

헬로앱스에서는 기존 센서 제품을 새롭게 개선, 학교 수업에 필요한 차시에 맞추어 4종류의 센서 키트도 새롭게 출시했다(HA-SK-01, HA-SK-02, HA-SK-03, HA-SK-04). 4종류의 센서 키트는 아두이노 우노 쉴드에 바로 연결할 수 있는 모듈형 제품들로, 5종에서 9종의 센서 제품들과 제품 보관용 케이스로 구성되어 있으며, 더 자세한 사항은 디바이스마트의 해당 제품 페이지를 통해 확인할 수 있다.

[HA-BK-01] 초보자용 아두이노 우노 보드 키트 -Arduino Uno, 올인원 쉴드(모터 및 센서 I/O 쉴드 통합)제품 상세보러가기

[HA-SK-04] 아두이노 기본 센서 키트 (V2용 D타입, 센서 9종) 제품 상세보러가기

 

 

[40호]‘압력센서(RA9P/RA12P)’ 및 ‘아두이노용 센서 측정 쉴드’ 제품 출시

압력센서 RA9P 압력센서 RA12P 아두이노 센서 측정 쉴드

 

㈜마블덱스

‘압력센서(RA9P/RA12P)’ 및

‘아두이노용 센서 측정 쉴드’ 제품 출시

 

FSR 센서 전문 회사인 (주)마블덱스는 ‘압력센서(RA9P/RA12P)’ 및 ‘아두이노용 센서 측정 쉴드’ 제품을 새롭게 출시했다. 기존에 출시되었던 센서 제품군의 선택 폭이 더욱 넓어졌다.

특히 센서 측정 쉴드는 사용자의 편의성을 크게 높인 제품이다. 기존에 센서를 측정하기 위해선 압력 센서 1개당 전선 4개를 연결하는 번거로움이 있었다.(센서, 풀다운 저항, ADC연결) 하지만 새로 출시된 측정 쉴드를 이용하면 전선 연결은 2개로 줄어들어 연결의 노고가 줄어든다. 특히 터미널 블록을 눌러서 간단히 끼우기만 하면 되기 때문에 시간이 크게 줄어든다.

우노 보드에 소스코드(제공됨)를 다운로드하고 압력 센서를 누르면 쉴드의 LED에 불이 들어오는 것도 확인해 볼 수 있다. 압력 센서 1개의 출력을 확인하는 데에 5분이면 충분하다. 여기에 한가지 부가 기능이 더 있는데, 센서의 편차를 영점 조정해주는 ‘가변 저항 조절’ 기능이다. 편차의 원인으로는 센서 커버의 기구물 공차라든가 하드웨어 노이즈를 들 수 있다. 이를 가변 저항으로 영점 조정하면 측정 정확도 향상에 도움이 된다. 이는 미세한 작업을 진행할 때에 해당되는 것이므로, 일반 측정 시에는 가변 저항을 조정하지 않아도 문제가 없다.

상품 소개 페이지를 방문하면 회로도와 소스코드, 전선 연결 예시를 제공하고 있어 학생들도 편리하게 사용 가능하다.

제품 사양

압력센서 RA9P

˙ Size : 9mm
˙ Sensing range : 5gf ~ 4Kgf

압력센서 RA12P
˙ Size : 12mm
˙ Sensing range : 5gf ~ 4Kgf

아두이노 센서 측정 쉴드
˙ 아두이노 우노 보드에 장착하는 쉴드
˙ 압력 센서 최대 측정 개수 : 6개
˙ 편차 보정용 가변 저항 6개 장착

 

압력센서 RA9P 상세 보러가기

압력센서 RA12P 상세 보러가기

아두이노 센서 측정 쉴드 상세 보러가기