1. Webcam
사람의 손의 움직임을 감지할 만한 웹캠이 필요하고 그에 따른 트래킹 기술이 필요합니다. 간단하게 웹캠을 불러오고, 응용하는 것까지 실험해 보았습니다.
Flash Player가 릴리스되면서 웹캠에서 비디오 스트림을 캡처하여 Flash 무비에 표시할 수 있게 되었습니다. 이 기능을 수행하려면 비디오 심볼을 스테이지에 배치하고 약간의 ActionScript만 작성하면 됩니다. 이러한 작업이 복잡하게 들릴 수도 있지만 매우 간단한 작업입니다. 다음 단계를 통해 직접 실험해 볼 수 있습니다.
… 라고 분명히 적혀있었지만 아직 간단하지 않았습니다.
- 픽셀 색상 변경하는 실험을 해보았습니다.
예제) 픽셀 색상 변경setPixel() 메서드를 사용하면 BitmapData 객체의 모든 특정 픽셀의 색상을 변경할 수 있습니다. 또한 이 메서드를 사용하여 모든 픽셀이 검은색(0xFF000000)인지 확인할 수 있으며, 검은색이 아닌 경우 다음과 같은 방법으로 픽셀 색상을 녹색(0xFF00FF00)으로 변경할 수 있습니다.
w=now.width;
h=now.height;
for(x=0;x<w;++x)
{
for(y=0;y<h;++h)
{
if(now.getPixel(x,y) != 0xFF000000)
{
now.setPixel(x,y,0xFF00FF00);
}
}
}
그러나 이미지 크기가 클수록 이 코드를 더 많이 실행시켜야 하는데, 이렇게 하면 지나친 루프 반복으로 인해 Flash Player 속도가 잠재적으로 느려질 수 있습니다. 그러나 다행히도 비트맵의 색상 범위를 분리하고 바꿀 수 있는 threshold()라는 BitmapData 클래스의 다른 메서드가 있습니다. 이 메서드는 기본 메서드이기 때문에 C 코드로 작성되어 위 코드에 비해 속도가 상당히 빠릅니다.
now.threshold(now,now.rectangle,now.rectangle.topLeft,”>”,0xFF111111,0xFF00FF00,0×00FFFFFF,false);
기본적으로 위 코드 단편은 Flash Player에 now라는 비트맵의 픽셀을 now라는 비트맵에 복사하도록 지시합니다. 그 결과 검은색(0xFF111111)보다 큰 색상 값을 갖는 모든 픽셀이 녹색(0xFF00FF00)으로 변경됩니다.

그 결과, 실패하였습니다. 아직 코드를 이해하지 못한터라 어디가 틀린지 모르겠군요.

다른 예제 화면인데, 이처럼 색상이 달라져야 하지만 아직 성공하지 못했습니다.
웹캠 테스트와 센서 테스트 화면입니다.
센서 테스트에서 수치가 매우 높게 나타나고 있는데, 나중에 알고보니 오작동임을 알게 되었습니다.
2. 적외선 센서
적외선을 이용해 온도, 압력, 방사선의 세기 등의 물리량이나 화학량을 검지하여 신호처리가 가능한 전기량으로 변환하는 장치이다. 기계가 적외선을 발산하여 차단되는 것을 감지하는 것과 주변의 적외선을 검출하는 것이 있다.
스스로 적외선을 복사하여 빛이 차단됨으로써 변화를 검지하는 능동식과, 자체에는 발광기를 가지지 않고 외계로부터 받는 적외선의 변화만을 읽어내는 수동식이 있다. 적외선이란 전자기파 스펙트럼 중 가시광선의 적색광보다 길고 마이크로파보다 짧은 파장, 즉 파장 0.75μm∼1mm의 복사선을 가리킨다.
이것을 사용함으로써 종래의 온도센서·자외선센서보다 감도·정확도가 향상된다. 방범·화재검지 등에 널리 쓰이고 그 밖에 의료용 서모그래피, 동식물의 생태관찰 등 응용범위가 넓다.
적외선 센서는 발광부와 수광부로 나누어진다. 발광부에서 나온 적외선이 물체에 반사되어 수광부에 얼마나 많은 양이 들어오느냐에 따라서수광부에 들어오는 전압의 양이 변화하게 된다.(예를들어 발광부에서 흰색과 검정색에 적외선을 보냈을 경우 수광부에서는 반사량이 큰 흰색의 경우에 수광부에 전압이 높아지게 된다.) 그래서 우리는 그 값을 가지고 작업을 수행하게 된다.
적외선 센서를 이용하는 방법은 크게 두가지로 나뉠 수 있습니다. 비교기를 사용하여 수광부에 들어오는 빛에 따른 출력 전압이 기준전압보다 높은 것은HIGH로 낮은 것은 LOW로 사용하는 방법은 흰색과 검은색 검출에 유용하기 때문에 라인트레이서 제작에 많이 이용됩니다. 그리고 수광부에 들어오는 빛에 따른 출력 전압을 마이크로컨트롤러의 ADC를 통해서 아날로그 값을 디지털 값으로 변환시키는 방법은 앞의 비교기와는 틀리게 적외선이 반사되는 양이 세분화 되기 때문에 그 값을 가지고 마우스의 거리탐지로 많이 이용됩니다.
주로 사용하는 적외선 센서:
PSD센서
적외선을 이용한 거리측정센서로 적외선을 송신한 후 목표물에서 반사되어 돌아오는 적외선의 각도를 측정하여 센서와 목표물의 거리를 측정한다. 직진성을 가지고 있으며, 바른 반응송고와 정확한 값을 측정할 수 있다는 장점을 가지고 있으나 반사각을 측정하는 특성상 가까운 거리는 측정하기 힘들다는 단점이 있다.
-EL-8L : 적외선 센서의 발광부로 소자의 다리가 긴쪽은 에노드이고 다리가 짧은 쪽은 캐소드로 연결한다.
-ST-8L : 적외선 센서의 수광부로서 NPN형의 트렌지스터와 비슷한 구조를 가지며, 베이스(B)단자가 없고 수광된 빛이 베이스의 구동원이 된다. 받아들인 빛의 양에 따라서 받아 들인 빛의 양에 따라서 소자의 통과 전류를 변환시킨다. 이 때문에 컬렉터(Collector)와 이미터(Emitter) 사이에 흐르는 전류의 양이 변하게 되는데, 이러한 전류의 양의 변화를 저항을 연결하여 전압으로 변환하고 이 전압을 이용해 빛이 들어왔는지 들어오지 않았는지를 판단하게 된다. 이 소자는 리드선이 짧은 부분이 컬렉터(Collector) (+) 이고, 긴쪽이 이미터(Emitter) (–) 이다.
적외선센서의 활용은 다양하게 찾아볼 수 있는데,
리모컨, 현관자동점멸등, 시내버스 승객승하차문, 적외선 카메라, 적외선망원경, 적외선필름, 적외선을 이용한 무선마우스, 적외선 건조로, 적외선 Infrared 무선 헤드폰 ,적외선 센서, 적외선히터, 적외선 유도 미사일, 적외선 스캐너, 적외선카메라 등 활용 분야가 다양했습니다.
본격적인 실험에 들어가보겠습니다.
아날로그 연결을 하고, 시리얼 값을 제대로 받고 있는지 테스트 해보았습니다.
센서를 구입했으나, 5V가 아닌 12V에서 작동하는 것을 구입해서 제대로 작동하지 않았습니다.

그 결과, 전압이 잘 맞지 않은 결과로 아주 미세한 수치만이 감지되었습니다.
손을 아주 가까이 대면 최대 6까지 수치가 올라가는 것을 확인할 수 있었습니다.













흐르는 혈압을 재려고 합니다. 현재 쉽개 쓸수있는 a polar heart monitor와 receiver 세트를 주문한 상태입니다. 물품이 도착하는대로 연구를 통해서 업데이트를 할 예정입니다.










