2015년 6월 1일 월요일

터치스크린


터치스크린
말 그대로 스크린 즉 모니터를 접촉함으로써 컴퓨터와 교신할 수 있는 방법. 터치스크린은 사람이 컴퓨터와 상호 대화하는 가장 단순하고 가장 직접적인 방식이다. 터치스크린은 누구나 어떠한 훈련을 받지 않더라도 컴퓨터를 사용할 수 있고, 사용자가 명확히 한정된 메뉴에서 선정하므로 사용자의 오류를 제거한다는 장점이 있다.
터치스크린에 필요한 기본 기능
터치 입력의 유무 판단 기능(Touch Sensor)
터치 입력이 있을 때의 좌표 검지 기능
컴퓨터와의 인터페이스
 
터치스크린하드웨어
4선 아날로그 저항막 방식
4선 아날로그 저항막 방식 터치패널은 상부전극과 하부전극, 연결배선으로 구성되고, 하부전극 위에 Dot Spacer를 상부전극에 대항하도록 형성된 구조이다.










동작원리
표시 면을 누르면 상부전극이 하부전극에 접촉하여 On 상태로 되고, 누르지 않으면 상부전극이 복원되어 Off 상태로 된다. 하부전극은 투명한 저항막의 양변에 평행한 전극을 설치하여 전압을 인가하면 전극 간에 전위분포가 발생하게 된다.
저항막의 저항 값은 균일하여 전위 분포는 직선으로 되고 거리와 전위의 관계는 직선 식으로 표시할 수 있다. 하부전극에 전압을 입력하고, 접촉된 점의 전압을 상부전극에서 검출하여 이것을 A/D 변환기를 통해 Digital 값으로 변환시켜 X축의 위치를 산출한다. , 상부전극에 전압을 입력하고, 하부전극에서 전압을 감지하여 같은 방법으로 Digital 값으로 변환시켜 Y축의 위치를 산출하면, 최종적으로 접촉한 점의 위치 좌료(X, Y)를 결정할 수 있다.
 
TOUCH 좌표 출력
좌표 저장을 위한 구조체
struct ts_event{
    unsigned short pressure;
    unsigned short x;
    unsigned short y;
    unsigned short pad;
}
좌표 값 받아오기 및 출력
for( ;; )
{
    if( (count = read( ts_fd, &event, sizeof( struct ts_event ) )) < 0 )
    {
        return 0;
    }
 
    if (event.pressure > 90)
    {
        event.x = event.x * ((double)fbvar.xres / (double)4000);
        event.y = event.y * ((double)fbvar.yres / (double)4000);
        printf("x : %d, y : %d \n", event.x, event.y);
        usleep(10000);
    }
}

댓글 없음:

댓글 쓰기