【 레오나르도활용#3】어두워 지면 PC화면 잠그기 (Leonardo)
아두이노 레오나르도(Leonardo)를 이용하여 밝기에 따라 PC화면을 잠금 모드로 전환 시켜보자 !
원리는, 레오나르도 보드는 키보드(마우스)와 같은 장치로 인식되며, <Keyboard.h> 함수를 활용하여, 키보드 키값을 PC로 입력할 수 있다. 이에 따라 '윈도우 화면 잠금' 단축키 ( '윈도우키' + 'L') 를 입력시켜 화면 잠금을 제어할 수 있는데, 광도전셀(cds) 소자를 이용해 어두울 때 화면 잠금이 되도록 구현 할 수 있다.
Let's get it~!
▶ 선수 학습 :
1. [레오나르도 활용#1] 레오나르도 보드 사용법(보드 스팩& 설치-연결 참조) ☜ (클릭)
2. [아두이노 기초#3] 포토레지스터(CDS)제어 (cds 광센서 참조) ☜ (클릭)
▶ 실습 목표 :
1. [ 레오나르도 보드에 광센서(cds)를 연결하여 제어할 수 있다. ]
2. [ 키보드 키 값 제어 함수에 대해 이해할 수 있다. ]
3. [ 레오나르도 보드를 이용해 PC를 제어할 수 있다. ]
▶ 실습 회로도면 :
(이미지 클릭하면 확대 가능)
▶ 프로그램 코드 및 설명 1 :
/* 어두울 때 자동 PC 잠금모드 시키기 */
#include <Keyboard.h>
const int CDS = 0; //cds 센서를 A0 포트에 연결
const int PC_Hold = 30;
void setup ( ) {
Keyboard.begin(); //키보드 컨트롤 관련 함수 선언
Serial.begin(9600);
}
void loop ( ) {
int Brightness = analogRead(CDS); //조도값을 읽음
Serial.println(Brightness);
// PC_Hold 값 이하가 되면 잠금모드 키 실행
if(Brightness < PC_Hold) {
Keyboard.press(KEY_LEFT_GUI); // '왼쪽 윈도우 키'
Keyboard.press('l'); //소문자'l', ASCII값 (108)도 가능
delay(100); // 일정시간 값이 입력 되도록 시간지연
Keyboard.releaseAll(); // 키를 계속 누르지 있지 않도록 함
}
}
※ ASCII 코드 값 참고
※ Arduino 제공 레퍼런스 참조 (키보드 관련 함수 등)
https://www.arduino.cc/reference/en/language/functions/usb/keyboard/
Functions
Keyboard.begin()
Keyboard.end()
Keyboard.press()
Keyboard.print()
Keyboard.println()
Keyboard.release()
Keyboard.releaseAll()
Keyboard.write()
▶ 아두이노 파일다운 :
(다운받아서 압축을 풀어 사용하세요)
▶ 영상강좌 :
(아래는 유튜브로 시청하기)
(전체화면 보기로 보세요)
'아두이노 > 5. 아두이노-프렌즈' 카테고리의 다른 글
【 레오나르도활용#5】 조이스틱 마우스 만들기! (Leonardo) (4) | 2019.06.12 |
---|---|
【 레오나르도활용#4】밤이되면 PC 강제 종료 시키기! (Leonardo) (0) | 2019.06.11 |
【 Leonardo #3】 Visualize Temperature& Brightness Data on your PC with Leonardo (0) | 2019.05.28 |
【 레오나르도활용#3】 온도& 밝기값 PC로 비주얼화 하기 (Leonardo) (0) | 2019.05.24 |
【 Leonardo #1】 Let's collect Temperature & Brightness data to PC! (0) | 2019.05.15 |