전자칠판으로 동물원 지키기 게임을~

보통 휴대폰 사이즈로 하던 게임을 대화면으로 해보시면 느낌이 또 다르답니다.

[전자칠판-후면방사형]
 투명 아크릴판에 반투명 기름종이를 붙였습니다. 프레임은 보시다시피 옻걸이 랍니다;;


관련링크1:

적외선펜 제작용 적외선 LED 팝니다.

관련링크2:

1000원짜리 비밀펜으로 적외선펜 만들기

관련링크3:

후면반사형 전자칠판 만들기

거리센서 테스트 2번째 이야기입니다.
종전방식은 그냥 거리에 따른 출력 전압변화를 전압계로 관측하는 정도 였습니다.
이번엔 조금 더 발전하여 아듀이노 보드에서 거리센서에서 출력해주는 전압을 받은 뒤, 시리얼 통신으로 PC에 전달하고,
PC측에서는 시리얼통신으로 전송받은 수치를 그래프로 표현해주는 serial Chart 라는 프로그램으로 시각화 하는 예제가 되겠습니다.

[거리센서+아듀이노+시리얼통신+시리얼챠트 = 실시간 거리센서 파형관찰 ]

[ 동영상. 거리센서 결과를 SerialChart로 관측하기 ]

아마도 아듀이노로 할 수 있는 가장 그럴듯한 초보적 예제중 하나일듯 합니다.

1. 아듀이노 : 거리센서 Pin 연결도

 거리센서  아듀이노 보드
 +  5V
 -  GND
 V out  Analog IN 0

2. 아듀이노 Sketch 소스코드

/**  * 기본포함된 예제인 AnalogInSerial를  PC측 SerialChart 프로그램에서 인식할수 있도록 한 줄 추가한 코드입니다.  */   void setup() {   Serial.begin(9600);  }    void loop() {   // read the analog input into a variable:    int analogValue = analogRead(0) /4;    // print the result:    Serial.print(analogValue);       Serial.println("");   //serialChart 프로그램에서 data 패킷 단위를 구분(0x0d 0x0a가 전달됨)해주기 위해 필요합니다.     // wait 10 milliseconds for the analog-to-digital converter    // to settle after the last reading:    delay(10);  } 

3. SerialChart 프로그램용 configuration 설정파일.
: 시리얼차트 프로그램은 입력받은 data를 configuration파일에 정의에따라 해석하여 그래프로 나타내줍니다.
아래의 예는 가장 간단하게 구성해본 예입니다. 더 다양한 설정이 가능하니 직접 해보시기 바랍니다.
 파일( 가령  imu_arduino.scc )에 아래의 내용을 적은 뒤 불러들이면 됩니다.
주의: COM3 같은 port 번호는 컴퓨터 설정마다 다른건 알고계시겠죠.. 자신의 설정에 맞게 수정해줍니다.

[_setup_]  port=COM3 baudrate=9600 width=700 height=500 background_color = white grid_h_origin = 100 grid_h_step = 1 grid_h_color = #EEE grid_h_origin_color = #CCC grid_v_origin = 0 grid_v_step = 0.5 grid_v_color = #EEE grid_v_origin_color = transparent  [_default_] min=0 max=255  [DistanceSensor] color=red 

 

 

[관련 블로그글]

거리센서 출력전압 관측

우편함 뮤직로봇 응용예제


[참고사이트]
시리얼챠트 프로그램 다운로드:
 

http://www.starlino.com/data/imu_kalman_arduino/SerialChart_01.zip

 

시리얼챠트 코드구글

 

Google Code Archive - Long-term storage for Google Code Project Hosting.

 

code.google.com

아듀이노 공식사이트:

http://arduino.cc

이번엔 거리센서 테스트를 해봤습니다.
본 센서의 사용예는 광범위한데요 여러분이 가장 손쉽게 접하는것은 아마도 최근 많은 화장실에 설치된 손 건조기 일겁니다.
손을 갖다대면 히터가 작동하는 기계말입니다. ( 제조하시는분 왈: 요녀석이 그 용도로는 짱이랍니다.)

또한가지 용도는 로봇에 장착하여 벽이나 주변 물체를 감지하는데 사용하곤 합니다.
제가 이번에 소개시켜드릴 거리센서는 로보티즈사의 바이올로이드 같은 로봇에서 절대거리 센서로 이용되고 있습니다. (동일모델)

본 센서의 장점은 부차적인 회로없이 거리값에 비례하는 전압을 출력해준다는점 입니다.
이 출력전압을 ADC입력핀에 넣어주면 MCU측에서 절대거리값을 구해낼수 있습니다.
온도를 전압으로 변화시켜주는 LM35 와 유사하게 사용할 수 있습니다.

내부를 들여다 보면, 자체적인 오실레이터와 측정 및 전압출력 회로가 내장 되어있음을 볼 수있는데요,
재밌는것은 내부를 분해해보시면, 그안에 카메라 화상 센서 (CCD) 같은 부분이 있는것을 볼 수 있습니다.
아마도 저해상도의 CCD 어레이를 직선방향으로 배열하여 거리를 삼각측량방식으로 구해내는듯 합니다.
(참고로 구형 메모리칩을 뚜껑을 분해해서 저해상도 카메라로 사용할 수도 있습니다. 요즘엔 그런 무시무시한 일은 하지 않아도 저렴한 카메라가 넘쳐나니 그렇다는것 정도만 알아둡시다. )

테스트결과:
공급전압이 5V일경우
정면 80Cm 거리 이내에 물체감지가 안되면 약 0.2V 출력이 나왔고요,
10Cm정도까지 근접할때 3.2V에 조금 못미치는 전압이 출력되었습니다.
단, 10Cm보다 더 근접하면 오히려 값이 떨어집니다.


테스트 방법:
회로도도 필요없는 간단한 구성입니다.
작동 테스트를 위해서 멀티테스터와 5V정도의 정전압만 있으면 됩니다. 사양서를 보니 공급전압은 7V까지 지원하는 듯 합니다.
하지만 얼렁뚱땅 표준전압인 5V가 좋습니다. 
조금 부유한 장비를 보유하신 분들이라면 오실로스코프를 이용하시면 시간에따른 변위를 한눈에 보실 수 있으니 더 좋겠죠. 멀티테스터와 동일한 위치에 Probe를 함께 연결해 주시면 끝입니다.  용도에 따라 전압이나 주변회로와 함께 사용하 실 때는 저항,콘덴서 1~2개로 노이즈 제거해주시면 되고요. 여기서는 생략했습니다.

어설픈 회로도와  동영상 감상하시는 것으로 마무리 하겠습니다.


[거리센서-정면]

[거리센서-측면]


[거리센서- 내부]

[절대거리감지기 테스트용 연결도]


[거리센서 - 변위에 따른 전압 변화 ]


관련링크

거리센서 + 아듀이노 =시리얼 통신=> 그래프 파형 관측 
우편함 뮤직로봇 응용예제


참고자료: DataSheet

SHARP_GP2Y0A21YK.pdf
다운로드
샤프거리센서-원리및상세기술자료.pdf
다운로드

 

한 외국 과학정보 사이트에서 정전기 감지기라는 것을 보고 감동?을 받은 뒤 직접 만들어 보려고 관련 부품을 수소문 하던게 벌써 몇년전 입니다.  하지만 이 부품을 국내 온라인, 오프라인 소매점에서 구할 수 없었습니다. 지금도 상황은 비슷합니다.

그 부품이 바로 JFET 이라는 전계효과트랜지스터(Junction Field Effect Transistor)의 일종인인데요, 트랜지스터의 형제뻘 되는 소자이고 생긴것도 트랜지스터와 다름이 없습니다.  전자공학 서적에서도 다이오드, 트랜지스터 다음으로 소개될 정도로 매우 기초적인 전자부품임에도 부품상에서 구하기 곤란한 제품인것이 이해가 가지 않았지만, 아마도 JFET 자체보다는 MOSFET, CMOS, VFET 같은 보다 특화된 부품으로써 인기가 많은 소자라서 궂이 JFET 범용 부품으로써의 활용도가 적기때문인듯 합니다.

하지만, 전자공학 초심자들에겐 기초소자의 특성을 직접 체험하는것이 매우중요하다는 생각이 들기에 매우 아쉬운 상황입니다.
현실탓을 그만하고, 어쨌든  요즘같은 글로벌 시대에 못 구하는 부품이 어디 있겠습니까?!!  생각을 고쳐먹고 외국 사이트에서 구입했습니다.

JFET을 받자마자 정전기 감지기를 만들어 테스트 해봤는데요,
조그만 머리빗으로 2미터 이상의 거리에서 LED를 켜고 끄는 정도의(8V) 전위 변화를 감지해 낼 수 있었습니다.

회로도 대신 제작도와 동영상을 올려봅니다.   매우 단순한 회로입니다.
상세한 작동원리는 전자공학 서적에서 JFET 부분을 읽어보시거나 온라인 정보를 활용하시면 이해하 실 수 있을듯 합니다.

[그림1. 전기장 감지기 제작도]


[동영상1. 전기장 감지기 테스트]


 
실험방법:

그림1.의 제작도와 같이 회로를 구성 후,
플라스틱 머리빗을 이용하여, 머리카락을 빠르게(중요) 비벼준 후,
감지기의 안테나 방향으로 향하게한다.
머리빗을 감지기의 안테나 방향으로 향하면 LED가 어두워 지거나 꺼지게된다.
거리를 멀리 떨어져 가면서 머리빗의 방향을 바꿔가면서 감지기의 상태를 관찰한다.


작동원리:

제가 알고있는 범위내에서 간단하게 작동 원리를 소개해 드리겠습니다.
서로 마찰했을때 (-)으로 대전되기 쉬운 물질이 있고 (+)으로 대전되기 쉬운 물질 있습니다.
가령 우리의 머리카락과 머리빗을 마찰시키면, 머리카락의 전자가 머리빗으로 이동하게되고 이에따라 머리빗은 (-)전하로 대전되게됩니다.  이순간 전하의 불균형에 대응되는 전기력(장)이 형성되고, 주변공간에 영향을 끼치게 됩니다. 이힘은 이론상 무한히 퍼져나가는데요,,, 본 실험과는 큰 상관이 없지만 만약 이 머리빗을 아주 빠르게 흔든다면(가속운동한다면) 가속하는 전하에 의해 전파가 발생하고 안드로메다에 있는 미녀 외계인에게 러브콜 신호를 전송할 수 도 있을지 모릅니다. (답신이 올까요? ^^;;)

머리빗에 대전된 전압은 생각보다 매우 높은 전압입니다. 정확한 값은 저도 측정해보지 못했지만, 수백V가 넘고 수천~수만Volt에 이르는 것으로 알고 있습니다. 그렇게 높기때문에 매우 건조한 겨울날 어두운곳에서 방전되면서 불꽃이 일어나기도 하고 전자제품을 돌아가시게 하기도 하는겁니다.

JFET관련 기술서적을 보면, G(게이트 단자)와 S(소스단자)사이에 (-)전압이 걸리게되면,  D(드레인단자)와 S사이의 전류의 흐름이 방해받게 됩니다. ( 제가사용한 JFET소자는 N채널이라 위와 같고, P채널의 경우는 전압이 반대일때 흐름이 방해 받습니다.)

JFET소자마다 다르지만, MPF102의 경우, G와 S사이의 전위차가 -8Volt 가 넘으면(이를 cutoff전압이라고 함),  D와S사이에 흐르는 전류가 (거의)완전 차단되게됩니다.  이소자는 주로 스위칭용으로 사용되며, G-S전압을 조절하여 D-S전류를 ON/OFF 하는 용도로 사용됩니다. 여기서는 G-S전압에 따라  LED가 켜지거나 꺼지게 되도록 회로가 구성되어있습니다.

하지만, 본 회로에서는 G단자에 아무것도 연결되지 않았기때문에 G-S전압은 공기중의 전위에 영향을 받게 되는 상태입니다.
사실 위와 같은 상황은 주변 전기장에 영향을 많이 받기때문에 일반적인 전자회로에서는 절대로 사용되지 않는 것이지만 본 회로에서는 거꾸로 전기장을 감지하는데 역이용하는 것입니다.

본래 본회로에서 LED를 완전히 끄기 위해서 필요한 G-S전압은 약 8Volt 입니다. 즉, 실험을 통해서  2미터 떨어진 곳에서 머리빗에 대전된 고전압에 의해  JFET소자의 G와 S 단자 사이에 8Volt 이상의 전압차를 발생시켰다는 얘기입니다.  전기력이 거리의 제곱에 반비례하여 감소되는것을 볼때 엄청난 전압으로 대전된것을 (정확한 값으로 계산해내지는 못하지만) 감으로나마 알수 있게 되었습니다.

참고로, JFET의 G(Gate) 다리에 안테나 전선을 메달아 뒀는데요, 사실 안테나 선이 없이 JFET 다리만 있어도 되지만 감도를 높이기 위해서 안테나(연장전선)를 부착하였습니다.  참고사이트 자료에 의하면, 안테나 선을 충분히 길게 설치하면, 매운 건조한 공간에서 5미터 이상의 거리에서도 감지를 할 수 있다고 합니다.  춥고 건조한 겨울을 기다려 봐야겠습니다 ^^

+추가사항:
보다 그럴듯한 정전기 감지기로 사용하는 방법:  시중에 1만원이 안되는 저렴한 디지탈 멀티테스터가 많습니다. 위 감지기 회로상의 LED 양다리에 디지탈 전압계를 연결하시면, 정전기력의 변화를 아날로그(LED)적으로 보는것과 동시에 디지털(전압계수치)적으로 보실수 있습니다. 이 방법을 이용하면 매우 미세한 정전기장의 변화까지도 수치로 확인하실 수 있습니다.


+추가사항 (2010.Dec.2)
본 감지기가 9V에서만 작동하는것으로 알고 있었는데요, 실험해보니 5V전원에서도 잘 작동하는 것을 확인했습니다.  요즘 9V 건전지 가격이 터무니없이 비싸고(3천원 이상) 게다가 어뎁터까지 구해야 하므로 감지기 제작가격이 상승하게 되었는데요, 이제는 5V정도의 건전지나 어뎁터로도 실험이 가능하다는것을 참고하시기 바랍니다.


참고 사이트

2. 각종 전자/과학 실험에 대한 소개글이 있는 재밌는 사이트: 

링크

 

 
MinimalComps 꽤 쓸만한데, 한글을 입력하면 아예 안보인다. 
하지만  아래와 같이 Style.as 파일을 수정하면, 한글을 사용할 수 있다.
임베디드 한글폰트도 사용할 수 있지만,  용량이 6MByte정도 불어버린다.  ;;;   포기하고 그냥 시스템 폰트를 사용해보자.


package com.bit101.components
{
    public class Style
    {
        public static var BACKGROUND:uint = 0xCCCCCC;
        public static var BUTTON_FACE:uint = 0xFFFFFF;
        public static var INPUT_TEXT:uint = 0x333333;
        public static var LABEL_TEXT:uint = 0x666666;
        public static var DROPSHADOW:uint = 0x000000;
        public static var PANEL:uint = 0xF3F3F3;
        public static var PROGRESS_BAR:uint = 0xFFFFFF;
       
        //public static var embedFonts:Boolean = true;  // 초기값 본래는 RF Rnda Seven라는 임베디드 폰트를 사용한다.
        public static var embedFonts:Boolean = false;  // 이걸 false로 해줘야함.
        public static var fontName:String = "굴림";  // 사용하려는 시스템 폰트명
        public static var fontSize:Number = 10;
    }
}
bit101의 MinimalComps  미니멀리즘?(단순깔끔) 디자인 컴포넌트 를 사용하는데  폰트가 안보이는 현상이 발견되어 자료를 찾아봤는데요, SDK버젼에 따라 Component.as 파일을 수정해서 사용해야 한다는 결론입니다.
컴파일 버전(SWC) 사용시 swc 0.9.5 버젼에선 정상작동하는것을 확인했고요,
소스 버전의 경우엔  제가 사용하는 Flex 4 SDK 에 맞게 주석을 제거한 후 정상적으로 폰트가 보입니다.
요점은 새로운 폰트 버전이 기본값으로 사용되게 되어있는 SDK4부터는  기존 버전의 폰트들을 사용시엔 별도 옵션을 지정해야하는것 이겠네요 ->    embedAsCFF="false"

    public class Component extends Sprite
    {
        // NOTE: Flex 4 introduces DefineFont4, which is used by default and does not work in native text fields.
        // Use the embedAsCFF="false" param to switch back to DefineFont4. In earlier Flex 4 SDKs this was cff="false".
        // So if you are using the Flex 3.x sdk compiler, switch the embed statment below to expose the correct version.
       
        // Flex 4.x sdk:
    [Embed(source="/assets/pf_ronda_seven.ttf", embedAsCFF="false", fontName="PF Ronda Seven", mimeType="application/x-font")]
        // Flex 3.x sdk:
//        [Embed(source="/assets/pf_ronda_seven.ttf", fontName="PF Ronda Seven", mimeType="application/x-font")]



참고URL: http://www.bit-101.com/blog/?p=2555
다른 글에서 전자칠판과 적외선펜을 소개해드렸는데요, 생각해보니 Wiimote로 할 수 있는게 전자칠판뿐이 아닙니다.  더 쉽게 응용가능한 용도가 한가지 더 있는데요,,,  Wiimote를 무선 포인터(마우스)로 사용하는 겁니다.  

종종 프리젠테이션 할때 페이지를 넘기거나 화면상의 특정지점을 지적하는데 사용되는 전용 기기들이 판매되고 있습니다. 가격이 십만원정도 했던것 같은데요  Wiimote로 이걸 대신할 수 있습니다.   영화를 보거나 할때도 리모컨으로 이용이 가능합니다.

그런데, 이때 Wii 센서바 라는게 필요합니다. 
그런데 이름은 Sensor Bar인데 센서같은건 들어있지 않고 적외선 LED 몇개 달려있는겁니다. 
움직이는 Wiimote가 기준위치를 참고할 수 있도록, 가만히 앉아서 적외선 빛만 발생시켜주고 자기 역활은 끝입니다.
일종의 등대같은 녀석입니다.

쇼핑몰에서 1만원 이내에 판매되고 있더군요, 구입해서 사용하시거나  IRED를 가지고 계시다면 직접 자작하시면 더 저렴하고요 포터블하게 들고다니며 사용할 수 도 있어서 좋습니다.
( 제게서 IRED 구입하신 분들은 적외선펜 만들고 남은 IRED로 센서바 하나 만들어 두시면 좋을듯합니다. )

어떻게 만드는지 이번에도 초간단 버전을 보여드리오니 참고하시기 바랍니다.  회로는 적외선 펜과 동일합니다.   건전지 한개에 저항없이 직결하면 됩니다.  관련내용은 적외선펜 만들기 글을 참고하시기 바랍니다.

저는 스위치가 장착된 2Cell짜리 건전지 케이스를 개조해서 On/Off 되게 만들었는데 두고두고 편리하게 사용하고 있습니다.
건전지 자리 하나 비우고 그곳에 IRED를 납땜해 버리는 방법입니다. 
한가지 더 가운데쯤엔 IRED 얼굴내밀 구멍도 뚤어줘야 하는군요... 

헉,,, 납땜과 드릴작업까지 ,,,  그리 간단하지 않네요;;  그래도 마음을 비우고 한번 해보시죠 ^^


자작 센서바 내부구조

[ 사진1. 자작 센서바 내부구조 ]


작동중인 센서바


[사진2. 작동중인 센서바 ]



※ 소프트웨어는 전자칠판을 지원하는 SW에서 선택만 하면 사용할 수 있습니다.



1000원짜리 비밀펜을 개조한 적외선펜

[사진1. 1000원짜리 비밀펜을 개조한 적외선펜]


한 1년전부터 적외선펜으로 손쉽게 개조할 필기구를 찾아왔는데요, 전동 지우개, 마커펜, 현광펜, 지우개펜 등등 2만원 어치 정도는 구입했던것 같네요...  이중 가장 고급스러웠던 재료는 전동 지우개 였습니다만,, 생략하고,,,  지금 말씀드리려는 녀석은 매우 저렴하고 (단돈 1000원),  준비된 IRED 장착 공간, 푸시버튼까지 완벽하게 준비된 ... 게다가 동네 문방구에서도 구할 수 있는 "비밀펜"으로 적외선펜 만들기에 대해 알려드리겠습니다.

사실 예전에 대형마트에가서 비밀펜이란걸 봤었는데요,  근데 이게 버튼방식이 아니고, 슬라이딩 버튼으로 켜고 끄는 방식이라 적외선펜과 맞지 않아 일단 패스했었습니다.


[사진2. 슬라이딩 버튼형 비밀펜 - 적외선펜용으로 사용은 거의 불가 ]


그런데, 몇일전 IRED구매자분이 옥션에서 판매중인 비밀펜을 구매하여 제게서 구매한 IRED로 적용가능하냐는 질문을 하셔서, 다시금 확인을 해보게 되었는데요.

종전에 봤던 펜과 동일하게 자외선 LED를 사용하는 펜이지만,  이 녀석은 Push버튼 형식이어서 적외선펜으로 개조하는데 적당한 것 같더군요.  그래서 기회가 있으면 구입해서 테스트 개조를 해봐야겠다고 생각하고 있었는데요,,,

혹시나 해서, 동네 문방구에 가봤습니다.  진짜 작은 문방구입니다. 찾는물건이 아무것도 없을것 같은 ㅡㅡ;

필 자: 아저씨~  혹시 비밀펜 이라고 있나요????      ( 뭐 당연히 없겠지...)
문방구 주인장: 이거 말인가요? !!!    ( 헉;;    있더군요...  )

게다가 푸시버튼 타입이었습니다.   제목은 "몰래쓰는 비밀펜" ,  제가 봤던 "나만의 비밀펜"과는 달랐습니다.
당장 구입하여 개조에 들어갔습니다.


개조법은 매우 간단합니다.

1단계. IRED장착

 머리부분의 캡을 회전하여 열면 LED+전지 모듈이 빠지게 되어있습니다.  이제,,,
1. 기존에 장착되어있던 자외선LED를 제거한다.
2. 기존에 장착되어있던 자외선LED와 동일한 모양으로 IRED 다리를 휘어준다.  [이때 다리의 방향(극성) 주의 ]
3. 기존에 장착되어있던 자외선LED자리에 동일한 모양으로 장착한다.

 즉, 5mm 표준형 LED 형태여서,  그대로 자외선LED를 적외선LED로 바꿔주시면 됩니다.

2단계. 수은전지 3개를 1개만 사용

기존에 장착되어있는 자외선LED는 4.5V(수은전지3개)를 사용하는 무서운 놈입니다.
수은전지 3개가 장착된 상태로 IRED를 작동시키면,,, ,,,,  IRED 그냥 죽습니다.
저에게서 IRED를 구입하신 분들은 별도의 저항없이 수은전지 2개를 사뿐이 빼서 보관해주시고,
 1개만 연결해서 사용하시면됩니다.  (덕분에 여분의 수은전지가 2개나 생겼습니다.)
만약 허용전압이 1.6V이하인 IRED를 사용하신다면 저항을 한개 장착해 주셔야 IRED에 무리가 없습니다.

이제 문제가 하나 남았습니다. 수은전지 2개가 없어진 공백을 어떻게 채우냐? 입니다.
저는 일단 스프링을 늘려봤는데요,,  좀 불안합니다. 
튼튼하게 사용하시려는 분들은 납땜이나 기타 고정 방식을 연구하셔야 할 듯합니다. 
(주의사항.  수은전지는 절대 절대 Never Ever Ever Never 납땜하시면 안됩니다. 폭발 위험이 있습니다. )

3단계. 작동확인 및 주의사항

적외선는 사람 눈에는 보이지 않는 빛이므로 작동확인을 맨눈으로는 할수없습니다. 하지만 웹캠이나 기타 전자식 카메라는 거의 모두 적외선 발광여부를 확인하실때 사용하실 수 있으니, 작동확인할때 사용하시면됩니다.
수은전지 고정이 잘 안되면, 작은 충격에도 접촉불량으로 작동이 안되므로 꼼꼼히 연결해주시 바랍니다.
또한 수은전지 뒷면이 (-)극과 (+)극이 거의 맞닿아 있어서 제대로 고정하지 않으면 단락으로 수은전지 파열이 있을수 있으므로 다시한번 주의를 당부드립니다.  본 제작기를 참고하여 제작중 발생하는 어떠한 문제도 저는 책임져 드릴 수 없습니다.;;
부디 안전 개조 하세요!~

4단계. 품명 :: 품질 체험 결과

일단 제대로된 펜의 형태를 갖췄고,  건전지함과 IRED장착 공간, 그리고 푸시버튼까지 적외선펜으로의 개조를 위한 거의 완벽한 준비가 된 비밀펜 인것 같습니다. 하지만 ,, 개인적인 느낌으론 키누르는 감이 좀 무겁습니다.
제가 사용한다면 수위치는 좀더 가벼운 방식으로 대체하면 좋을듯 합니다.  다른방식의 적외선펜을 제작하시는 분들이라면 아래의 사진에 보이는 버튼말고 좀더 키감이 소프트한 스위치를 이용하실 것을 권장드립니다.



[사진3. 개조 완료된 본체 모듈]



[사진4. 개조 완료된 본체 모듈 - 발광 모드]





[동영상. 적외선펜-비밀펜개조 ]



비밀펜 구매하시려는 분들은 아래의 제품 도움말 사진 참조하세요.


[사진5. 개조에 사용된 비밀펜 제품 도움말]


추가 관련글.
 IRED(적외선LED) 구입하시려는 분들은 여기를 참고하세요 :  적외선펜 제작용 IRED 판매
 이것보다 더 간단하게 뚝딱 만드는 방법도 있습니다 :  초간단 적외선펜 만들기



SymBall은 2004년 겨울 플래시를 처음 접한 후 만든 첫 작품? 입니다.
이번에 로보밥 블로그 오픈을 계기로 다시 Online에 올려봤습니다. 한번 심심풀이 심볼 해보시죠!!

본 어플의 목적:
  동그란 Ball들을 3D 공간상에 자유롭게 배치하여 3D 상징(Symbol)을 만드는 것입니다.

왜 Symball인가?
  Ball로 만들어진 상징물(Symbol)이므로  새로운 합성어로 Symball 이란 단어를 만들어 봤습니다.


3D Symball  강아지 만들어본 예

[3D Symball  강아지 만들어본 예]


사용법:

사용법은 매우 간단하여 10분이면 독파가능한 수준입니다. 
키보드 키를 눌러서 바로바로 작동하게 하는 방법을 사용하여, 불필요한 기능별 메뉴 선택작업이 없으며,
가령 A 키는  Add 를 연상시키며, D 키는 Delete키를 연상시킬 수 있도록 키를 배정하여 기억하기 쉽게 구성하였습니다.
하지만, 화면상의 키를 마우스로 눌러도 아무 작동도 안하고, 키보드로 눌러줘야 한다는점을 잊지 말아주세요!
화면상의 아이콘 키들은  본 어플 작동을 위한 모든 기능키들을 화면에 보여줘서 곧바로 모든 키를 익힐 수 있도록 하기 위함입니다.  궁굼한 기능키에 마우스를 올려보면 기능키 mini도움말이 바로 뜹니다.
화면상의 아이콘 키들의 기능만 알면, 본 어플 작동법을 마스터 하는것입니다.

일단, 아래의 글을 읽고 작동해보신다면 더 쉽게 이해가 되실 듯 합니다.


기능키 소개

------- Ball 다루기  ----------------

사이트 접속 후, 처음 뜨는 도움말 창을 보신 후, Close 버튼을 눌러서 도움말창을 닫습니다.

이제부터는 키보드 키와 마우스를 이용하여 3D 조형을 해봅니다.

1단계. Ball추가하기   -  Add key

 A(dd) 키를 눌러보세요.   ->  Ball이 하나 생성됩니다.
 주의.  키보드상의 A키를 눌러야 A 기능이 작동됩니다. A키를 마우스로 클릭하면 A키 도움말만 뜹니다.

2단계. Ball 이동하기

 생성된 Ball을 마우스로 Drag하면 이동합니다.

 이때 마우스 왼쪽 버튼대신 키보드 Space버튼을 이용할 수 도 있습니다.

 ☆ 오른손 검지손가락 휴식모드:
  본 기능은 디자인, 프로그래밍, 웹서핑, 게이밍 작업시 너무 많은 클릭으로 고생하고 있는 검지손가락을
  잠시나마 쉬게 해줄 수 있도록 특별히 개발한 기능입니다. 제가 이때쯤 손가락이 너무 아팠습니다. ㅡㅡ; )

3단계. 특정 지점에 Ball 생성하기

 Ball을 Drag중에 A 버튼을 누르면 마우스 현 위치에 Ball이 생성됩니다.
 이 기능으로 원하는 위치에 Ball들을 배치할 수 있습니다.

4단계. Ball 지우기   - Delete key

 지우려는 Ball 위에 마우스를 가져다 된 후,  D(elete) 키를 눌러줍니다.

5단계. Ball 선택하기  - Select key

 Ball을 하나 선택하려면, 원하는 Ball에 마우스를 가져간후 S(elect) Key를 눌러줍니다.
 여러번 반복하여 S 선택가능합니다.

6단계. Ball 영역 선택하기  

 여러개의 Ball을 한번에 선택하려면,  마우스로 해당영역을 Drag 해줍니다.

7단계. 다중 선택된 Ball들의 이동

 다중 선택된 Ball중의 하나를 선택후 드레그하면 전체 이동됩니다.

8단계. 다중 선택된 Ball들의 삭제

 D(elete) Key를 눌러주면 선택된 Ball들이 일괄적으로 삭제됩니다.

9단계. Ball의 복사 Copy

C(opy) key;  특정 Ball(들)이 선택된 상태에서 C키를 눌러주면 선택된 Ball들이 현재 위치에 복제됩니다.
                   선택된 Ball들을 Drag or 3D 회전 하면서 Copy를 수행하면, 손쉽게 특정 모양들을 복제해 낼 수 있습니다.
                   가령 직선을 회전하면서 copy를 반복하면 원이 됩니다.  2축회전을 하면서 복사를 하면 구가 됩니다.


---------  3D 이동 기능  X,Y,Z 평명이동 --------------

X-Y평면 드레그 모드

 X key를 눌러주면  선택된 Ball(들)을 Drag시 x,y 평면상 이동이 됩니다.  (기본상태)
 일반적인, 마우스 좌/우, 상/하 이동이 됩니다.

Z-X평명 드레그 모드

 Z key를 눌러주면 선택된 Ball(들)을 Drag시 z,x 평면상 이동이 됩니다.
 즉, 위아래 이동시 모니터 뒷쪽, 앞쪽으로 이동 (멀고,가까워지는 이동)
 일반모드로 되돌아 가려면 X key를 눌러줘야합니다.


----------  3D View 보기 및 선택 Ball 회전하기   ------------------
3D View 모드
선택된 Ball이 없는경우, 전체 Ball이 해당되고,
선택된 Ball이 있다면 선택된 Ball만 회전되게 됩니다.

V(iew) 키를 눌러주면 Z축과 Y축 회전용 핸들이 보입니다.
용도1. 작품 감상: 이 두 핸들을 조절하여 Z/Y축 회전 속도를 부여하면,  3D공간상의 회전하는 조형물을 볼 수 있습니다.
용도2. 조형 작업: 특정 Ball들만 선택하여 회전하여 3D 배치 작업에 이용합니다.
          힌트.  회전중에도 S, F, C, D키 사용이 가능합니다. 이를 통해 복잡한 3D 조형물도 손쉽게 만들 수 있습니다.

--- 저장하기 ---
PgUp key를 누르면 뜨는 폼에 제목을 적어줍니다. 
중요, 저장하려는 Ball 들은 선택된 상태여야합니다.  미선택된 Ball들은 저장되지 않습니다.

--- 불러오기 ---
PgDown key
검색어를 입력하여 찾기 기능을 지원하며, 목록에서 선택후 불러오기 하면, 저장되었던 Symball을 볼 수 있습니다.
참고로, 상단의 Sample download는 원 data가 손실되어 작동하지 않는상태입니다.

--- Ball 크기와 색상 변경 ----

F(unction) key를 누르면  마우스 스크롤 모드가 토글 되며 변경됩니다.
 모드1. Ball Size 조절 모드
 모드2. Ball 색상 조절 모드

모드에 따라 선택된 Ball(들)에 마우스 올린 후 스크롤을 해보면  크기 or 색상이 변화됩니다.


--- 기능키 숨기기 모드 ---

H(idden)키를 눌러주면, 안내키들을 숨기기/보이기 를 반복. 이미 기능키들을 충분히 익힌 후에 사용하면 좋은 기능

--- 도움말 ----

mini 도움말: 화면에 있는 기능안내키 A, S, D, F 등에 마우스를 올려놓으면 각 키들의 도움말이 화면 하단에 뜹니다.

자세한 도움말:  Q(uestion) Key를 눌러주면 도움말 창이 뜹니다.
                     본 도움말 모드에서 화면상에 떠 도는 키를 클릭해주면,  각 기능키별 상세한 도움말이 보입니다.


-- 안내. 2014년 8월 현재 --
  무료로 서버 호스팅을 지원하던 paran.com 서비스가 종료되어  제가 올렸던 서비스도 종료되게 되었습니다.  차후 재등록 되면 링크를 올리도록 하겠습니다!!




SEA는 파일 암호화와 실시간 보안통신(스트리밍)을 지원하는 매우 단순한 보안 알고리즘입니다. 2002년 경 고안 되었지만, 마땅한 기회가 없어 개인적인 프로젝트에서만 간간히 사용했던 방법입니다. 너무 간단해서 보안 알고리즘이라기보다는 보안기법 정도로 봐도 무색합니다만, 성능은 끝내줍니다.  본문에서 우선 간단한 특징을 소개드리고, 2007년도에 TinyOS + nesC 기반 센서네트워크 모트(USN Sensor Network Mote)간의 보안통신을 위해 사용했던 예제를 소개 드릴까 합니다.

(sixgen@gmail.com) 


SEA(Simple Encryption Algorithm)의 특징

• 키 길이 및 보안 강도의 유연한 조정성
 :가변 키길이 및 가변 메시지 폭을 지원하여 키길이를 가변적으로 조절할 수 있으므로 암호화 강도 및 계산비용을 필요에따라 조정할 수 있다.

• 암호화 및 복호화 연산이 동일

• 하나의 메인키로부터 파생된 서브키를 이용하여 유사 OTP를 생성하여 암호화에 이용
  (암호방식은 OTP와 동일하다.)

• 알고리즘 선택형( 특정 알고리즘에 의존하지 않음)
 :유사 OTP생성을 위해 SHA1-160 같은  Secure Hash Algorithm이나 Cipher Algorithm을 선별적으로 사용할 수 있다.

• 다양한 확장성
  :기본 원리가 매우 단순하고 파일 암호화 및 스트림 통신 등의 모든 방식으로의 응용 및 확장 개발이 용이하다.


핵심 포인트:

  • 가장 완벽한, 유일한 보안 알고리즘은 OTP(One Time Password; 일회용 패스워드) 이다.  
  • 랜덤 정보로 구성된 충분한 길이의 OTP를  키로 사용하여 암호화(DATA와  XOR 연산) 한다면 해독이 불가능하다. (수학적으로 계산 자체가 불가능)
  • 하지만, OTP는 암호화될 DATA와 동일한 크기의 키가 필요하므로 실용성이 없다.
  • SEA는  시중의 여러가지 Secure Hash Algorith 이나 Encryption Algorith들의 조합으로 pseudo OTP(유사 일회용패스워드) 생성기를 만들어 Pesudo OTP를 생성해낸다.
  • 유사 OTP는 공격 가능성이 있다.  하지만 실용적이다.
  • 유사 OTP도 충분한 키길이의 무작위 seed값을 사용하면 보안 강도가 크다.
  • SEA는 유사 OTP생성기를 정의하고 조율하여 용도에 따라 보안성과 실용성 사이의 절충점을 설정하여 이용하게된다.

실제 구현 예제는 첨부파일을 참고하세요.
응용예제는 별도의 글로 작성할 예정입니다.

첨부파일: SecureRemoBot.ppt ( 센서노드의 무선 보안통신 응용 예) 

4_SecureRemoBot_m.ppt
다운로드

+ Recent posts