코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
2014-08-01 02:28:04
Leonardo는 아두이노 보드의 일종으로 일반적으로 많이 쓰이는 Uno R3와는 달리
Micro B USB를 사용하여 SMD 형태의 ATMEGA32u4 마이크로 칩이 장착되어 있습니다.
가장 큰 특징은 컴퓨터에 연결하면 기본적으로 가상 CDC(연결 장치 클래스) 시리얼/COM포트 이외에,
마우스와 키보드 장치(HID)로 인식이 됩니다. 그래서 UNO에서 구현하기 어려운 마우스/키보드 에뮬레이션을 쉽게 구현 할 수 있습니다.
출처 : 마이크로 소프트 CTRL + ALT + DEL 전용 키보드 - cheesebrother.com
누군가 재미있는 발상으로 마이크로 소프트 키보드를 해킹하여 만든 시스템 종료 전용 키보드 입니다.
버튼 3개를 동시에 입력하는것도 귀찮아, 손가락 하나로 로그아웃을 하고싶은 분들을 위해
레오나르도와 푸시 버튼 한개로 로그아웃이나 시스템종료를 수행하는 단축키를 만들어 보겠습니다.
NO |
부품명 | 수량 | 상세설명 |
1 | 아두이노 레오나르도 R3 | 1 | 아두이노 |
2 | 푸시 버튼 | 1 | 입력버튼 |
3 | 브레드보드 | 1 | 브레드보드 |
4 | 점퍼 케이블 | 2 | 점퍼 케이블 |
레오나르도 | 브레드보드 | 점퍼케이블 | 푸시 버튼 | |
P A R T S |
X 1 |
X 1 | X 2 | X 1 |
아래의 코드를 아두이노에 업로드 합니다.
*도구 > 보드 > 레오나르도로 보드 설정이 되어 있는지 확인합니다.
/* 출처 : www. arduino.cc 한글 주석 : www.kocoafab.cc 키보드 로그아웃 이 스케치는 키보드 라이브러리를 보여줍니다. 2번핀이 그라운드에 연결되면, 로그아웃을 수행합니다. 이것은 다음과 같이 키보드 조합을 사용하여 수행합니다.: On Windows, CTRL-ALT-DEL followed by ALT-l On Ubuntu, CTRL-ALT-DEL, and ENTER On OSX, CMD-SHIFT-q created 6 Mar 2012 modified 27 Mar 2012 by Tom Igoe This example is in the public domain http://www.arduino.cc/en/Tutorial/KeyboardLogout */ #define OSX 0 // OSX가 나타나면 0로 바꾸어라.: #define WINDOWS 1 // WINODWS 가 나타나면 1로 바꾸어라.: #define UBUNTU 2 // UBUNTU 가 나타나면 2로 바꾸어라.: // 사용자 운영체제에 맞게 설정해주세요 ( 기본 WINDOWS): int platform = WINDOWS; void setup() { // 핀2를 입력하고 활성화 합니다. pinMode(2, INPUT_PULLUP); Keyboard.begin(); } void loop() { while (digitalRead(2) == HIGH) { //핀2가 로우가 될때까지 아무것도 수행하지 않습니다. delay(500); } delay(1000); switch (platform) { case OSX: Keyboard.press(KEY_LEFT_GUI); // Shift-Q 의 조합으로 로그아웃을 수행합니다. : Keyboard.press(KEY_LEFT_SHIFT); Keyboard.press('Q'); delay(100); Keyboard.releaseAll(); // 엔터키를 입력합니다.: Keyboard.write(KEY_RETURN); break; case WINDOWS: // CTRL-ALT-DEL 키의 조합으로 로그아웃을 수행합니다.: Keyboard.press(KEY_LEFT_CTRL); Keyboard.press(KEY_LEFT_ALT); Keyboard.press(KEY_DELETE); delay(100); Keyboard.releaseAll(); //ALT-s 키를 입력합니다.: delay(2000); Keyboard.press(KEY_LEFT_ALT); Keyboard.press('l'); Keyboard.releaseAll(); break; case UBUNTU: // CTRL-ALT-DEL키의 조합으로 로그아웃을 수행합니다.: Keyboard.press(KEY_LEFT_CTRL); Keyboard.press(KEY_LEFT_ALT); Keyboard.press(KEY_DELETE); delay(1000); Keyboard.releaseAll(); //로그아웃을 확인하기위해 엔터키를 입력을 수행합니다.: Keyboard.write(KEY_RETURN); break; } while(true); }
#define OSX 0 // OSX가 나타나면 0로 바꾸어라.: #define WINDOWS 1 // WINODWS 가 나타나면 1로 바꾸어라.: #define UBUNTU 2 // UBUNTU 가 나타나면 2로 바꾸어라.:
#define 문은 코드에서 해당 조건을 찾아서 자동으로 바꾸어 주는 역할을 합니다.
여기서는 OSX 라는 단어가 나타나면 모두 숫자 0으로 바꾸라는 뜻입니다.
kocoafabeditor
항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!