2009년 4월 24일 금요일

Arduino에 카드리더기 연결 (Use magnetic card reader with Arduino)

Arduino에 Magtek의 magnetic strip reader를 연결하여 보았다.


현재 가지고 있는 리더기는 TTL 인터페이스를 가지고 있는 single track reader이다. 5핀 커넥터를 가지고 있고 Vcc, GND, Card present, Clock(Strobe), Data 신호를 제공해 준다.


신호 타이밍은 아래와 같다.


Arduino의 D2, D3, D5를 각각 리더기의 Data, Clock, Card present에 연결해 주면 된다.

코드는 다음과 같다.


View source code

카드를 리더기에 긁어주면 아래와 같이 카드의 데이터가 시리얼포트로 출력된다.

문제점은 위의 코드로는 디코딩 루틴이 카드를 정방향인 경우에만 동작하고 반대 방향으로 긁어주는 경우에는 데이터를 정상적으로 디코딩 해 주지 못한다. 역방향인 경우도 정상적으로 디코딩이 가능하도록 코드를 수정 할 예정이다.

댓글 없음:

댓글 쓰기