로그인회원등록 내글장바구니주문조회현재접속자
 상품 검색








 게시판 검색





 
 
회원등록 비번분실


온라인 입금계좌
ㆍ기업은행
ㆍ219-043192-01-028
ㆍ이건영

      거래은행 바로가기
 
 Arduino Open Source
아듀이노 함수의 상세설명
작성자 avrtools™        
작성일 2008/09/10
첨부#1 PS2Keyboard002.zip (5KB) (Down:869)
Link#1 PS2Keyboard (Down:332)
ㆍ추천: 0  ㆍ조회: 4149   
  아듀이노 PS2 키보드 읽기
참조 : http://www.arduino.cc/playground/Main/PS2Keyboard
제목 : PS2Keyboard library

목적
PC용 키보드의 인터페이스는 PS2입니다. 크기는 조금 크지만 가격도 저렴합니다.
만일 키보드 읽기가 스위치를 읽는 것 처럼 쉽다면, 문자를 입력하는 장치로는 최고입니다.
 

PC 키보드 입력으로, 아듀이노의 외부 가로채기 포트입력을 반응시켜, PS2Keyboard용 라이브러리를 사용합니다.
키보드의 입력이 카로채기 포트에서 한번 수신되면, 읽혀진 다음 버퍼에 1 바이트를 저장합니다.

M18-USB 기판 : http://www.avrtools.co.kr/technote7/board.php?board=tnshoppublic&command=body&no=44
 
아듀이노 기판과 PS2 키보드 연결방법 (D3 혹은 D4를 사용)
 

사용방법
아래의 소스는 라이브러리를 사용하는 방법입니다.
상세한 키보드의 정의는 PS2Keyboard.h 파일을 보십시요.
 
IBM PC용 KEYBOARD의 16진 출력값
 

키보드 읽기 소스
#include <PS2Keyboard.h>  // 라이브러리 폴더에 들은 PS2Keyboard.h를 소스에 추가한다. (편집창에는 안보임)
#define DATA_PIN 4            // D4 핀을 DATA_PIN으로 이름을 바꿈 
PS2Keyboard keyboard;      // 지금부터는 keyboard 함수는  라이브러리의 PS2Keyboard를 사용합니다.
 
void setup()                       // 기판의 초기설정 
{
  keyboard.begin(DATA_PIN);   // D4를 keyboard로 연결하여, 키보드 읽기를 시작
  Serial.begin(9600);                 // 직렬포트 통신속도를 9600으로 시작
  Serial.println("hi");                  // 인삿말 "hi"를 PC로 보낸다.  
  delay(1000);                          // 1초를 기다린다. 
}

void loop()                              // 무한반복 본문 시작
{
  if(keyboard.available())         // 보조함수 keyboard()를 읽고, 무엇인가 들어 있으면 {,,,,,,}를 실행 
 {
   byte dat = keyboard.read();  // 조건부 실행, 키보드를 읽어서 버퍼  dat에 저장 (변수선언을 겸함) 
   byte val = dat - '0';              // ASCII 값에서 0x30을 빼면 2진수가 된다.

   if(val >= 0 && val <= 9) Serial.print(val, DEC);           // 만일 읽은 값이 0~9 이면, 10진으로 바꾸어 PC로 송신 
   else if(dat == PS2_KC_ENTER) Serial.println();          // 만일 ENTER 키가 들어오면, 줄바꾸기(0x13)을 PC로송신
   else if(dat == PS2_KC_ESC) Serial.println("[ESC]");   // 만일 ESC 키가 들어오면, ESC 값을 PC로 송신,
  }                                        // 조건부 실행문 끝
}                                          // 무한반복 주함수 끝 (반복시작의 처음으로 복귀)

라이브러리 설치방법
첨부된 PS2Keyboard002.zip을 내려받고, 압축을 풀어서 그안을 보면 2개의 폴더가 있습니다.
arduino-0011 폴더 아래의 > Libreries 안에 PS2Keyboard 폴더만 통째로 복사해 넣습니다.
만일 Apple을 사용한다면, MAXOSX는 압축을 폴더안의 _MACOSX 폴더를 사용합니다.

소스 저장하기
아듀이노는 위의 소스를 복사해서, 스케치 창에 붙혀넣고, 컴파일해 보고 이상이 없으면,
File > Sketchbook > Save as에서 새로운 이름으로 자기 소스폴더에 저장해야, 다음 번에 정상적으로 편집창에 뜹니다.
규격에 안맞는 소스폴더를 복사해 넣어, 이상한 오류가 나오지 않도록, 이 방법을 사용해야 합니다.

PC용 키보드는 노트북 보다 작은 것도, 소매가격 1 만원 이하로 구입이 가능합니다.  
칼라 전광판에서 입력장치로 PC 키보드를 PS2 인터페이스로 많이 사용합니다.
PC 키보드를 읽어서 처리하는 것이 쉽네요, 아듀이노의 공개 소프트웨어의 능력은 강력합니다.  

이 프로그램은 무료 소프트웨어로, 신체와 재산 상의 어떤 위험과 손해를 보상하지 않습니다.
이 프로그램은 GNU 무료 소프트웨어 배포규정을 따릅니다.
Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
  
 AVRTOOLS™
   
  0
9999
윗글 아듀이노 논리연산
아래글 아듀이노 가로채기 함수
    N         제목    글쓴이 작성일 조회 추천
판매상품의 사용설명서는 다른 자료실에,,, avrtools™ 2011/08/30 (화) 1496 0
23 LCD 문자표시 (신형) avrtools™ 2012/04/12 (목) 2156 0
22 아듀이노 멜로디 연주 avrtools™ 2008/08/22 (금) 3494 0
21 아듀이노 4비트 LCD (구형) avrtools™ 2008/09/02 (화) 4371 0
20 아듀이노 가변저항 avrtools™ 2008/08/26 (화) 3114 0
19 직렬 데이터 이동(shift) 출력 avrtools™ 2012/04/10 (화) 1748 0
18 디지털 신호의 펄스폭을 측정하는 함수 avrtools™ 2012/04/10 (화) 2007 0
17 EEPROM 읽기, 쓰기 함수 avrtools™ 2012/04/10 (화) 2346 0
16 변수의 크기 avrtools™ 2012/04/10 (화) 1658 0
15 플레시 메모리에 상수를 저장하고 읽는 함수 avrtools™ 2012/04/10 (화) 1965 0
14 소프트웨어 Serial 함수 avrtools™ 2012/04/10 (화) 1847 0
13 아듀이노 터치스위치 [3] avrtools™ 2008/08/11 (월) 4157 0
12 아듀이노 shiftOut avrtools™ 2008/09/10 (수) 3412 0
11 아듀이노 스위치와 LED점등 avrtools™ 2008/08/13 (수) 4730 0
10 아듀이노의 주파수 출력 함수 avrtools™ 2009/10/20 (화) 2798 0
9 One Button Switch Library avrtools™ 2012/03/09 (금) 1882 0
8 아듀이노 논리연산 avrtools™ 2008/08/26 (화) 3053 0
7 아듀이노 PS2 키보드 읽기 avrtools™ 2008/09/10 (수) 4149 0
6 아듀이노 가로채기 함수 avrtools™ 2008/08/23 (토) 3254 0
5 아듀이노 전용명령 avrtools™ 2008/09/16 (화) 3959 0
4 아듀이노 PWM 출력과 타이머1 전용명령 avrtools™ 2008/08/19 (화) 3608 0
3 8비트 포트의 단일비트 조작방법 avrtools™ 2010/10/30 (토) 2406 0
2 직렬포트에서 문자를 받아 숫자 int로 저장 avrtools™ 2012/04/08 (일) 1722 0
1 직렬통신포트의 초기화 avrtools™ 2012/04/06 (금) 1500 0
1

바구니 : 0
 보관함 : 0
오늘뷰 : 0
HOME   |   회사소개   |   제휴안내   |   회사위치   |   서비스이용 약관   |   개인정보 보호정책   |   사이트맵
17015 경기도 용인시 기흥구 동백중앙로16번길 16-25, 508호. 전화 : 031-282-3310
사업자 등록번호 : 697-47-00075 / 대표 : 이건영 / 업태 : 제조업 / 종목 : LED조명, LED전원, 제어장치.
개인정보 관리책임자 : 홈페이지 관리자 . Copyright ⓒ2016 아크레즈 (ACLEDS INC.)
HOME TOP PREVNEXT 0 0 0