160; 160;1060;,148; 구글에서 찾1008; 회/196;도
160; 1060;,148; 1228;가 보기 쉽,172; 만든 회/196;도 1077;니다.
160;160;
보시다시피 납땜1008; 1096; 못합니다.
1064;.160;lj16; dc1064;.160;기가 1080;1648;만 꺼내기 귀찮아서 5v 12w1064; usb 1064;.160;기 사용했습니다.
160;
160;완성1089;1060;구요160;
160;기계식 Ȗ12;보드1032; 스위치를 1060;용해도 Ȧ16;씬 낫,192;1648;만
1228;가 없Ǻ12;서.. 택 스위치 4개 0149;았습니다.
iclj16; ᕬ1;시나 1453;1004;면 다시 납땜Ȣ16;기 너무 싫Ǻ12;서 소Ȓ11;1012; 달았고요
ic 옆에1080;lj16;,172; 1228;가 1200;번에 1204;ǹ17;측1221;기 만든 digispark라lj16; 아.160;1060;노1077;니다.
1200;번껀 usb 단1088;가 1080;었1648;만 1060;,148; 5핀 단1088;가 1080;lj16; 타1077;1060;에요
소스도 맨위 회/196;랑 같1060; 1080;었고 1200;lj16; 소스를 대충 뜯Ǻ12;고쳐서
야매/196; 만들었습니다.
1068;단 1060; 매크/196;1032; 최대단1216;1008; መ1;/197;Ȣ16;lj16; 0169;법1060; 귀찮다lj16;,161;니다.160;
sw를 1060;용해서 프/196;그ǖ16;1012; 1648;1221;해서 Ȣ16;lj16; 그런식1060; 아니라
cmd 관리1088;/196; 실행 시Ȗ16;다면
윈도우Ȗ12; -> c -> m-> d -> Ǽ12;1901; 컨트롤Ȗ12;, Ǽ12;1901; 쉬프트Ȗ12; 눌르lj16; 상태/196; 엔터 -> Ǽ12;1901; 화살표 -> 엔터
1060;런 아1452; 무식한 0169;법1004;/196; .104;1080;습니다.
0169;법1012; 찾1004;면 1080;기야 할텐데... 1221;보도 없Ǻ12;서 1060;,163;도 겨우 한,161;니다.
#include160;
#include "DigiKeyboard.h" 160;// Include Library for Keyboard Emulation / Before verifying the code , change the board to Digispark default .
#define MOD_SHIFT_LEFT 160; 160; 160;(1<<1) 160;//00000010
#define MOD_GUI_LEFT 160; 160; 160; 160;(1<<3) 160;//00001000
#define MOD_CONTROL_LEFT 160; 160;1
#define KEY_LEFT_ARROW 160; 160; 160; 0X50
#define KEY_ENTER 160; 160; 160; 40
#define KEY_TAB 160; 160; 160; 179
#define KEY_A 160; 160; 160; 4
#define KEY_B 160; 160; 160; 5
#define KEY_C 160; 160; 160; 6
#define KEY_D 160; 160; 160; 7
#define KEY_E 160; 160; 160; 8
#define KEY_F 160; 160; 160; 9
#define KEY_G 160; 160; 160; 10
#define KEY_H 160; 160; 160; 11
#define KEY_I 160; 160; 160; 12
#define KEY_J 160; 160; 160; 13
#define KEY_K 160; 160; 160; 14
#define KEY_L 160; 160; 160; 15
#define KEY_M 160; 160; 160; 16
#define KEY_N 160; 160; 160; 17
#define KEY_O 160; 160; 160; 18
#define KEY_P 160; 160; 160; 19
#define KEY_Q 160; 160; 160; 20
#define KEY_R 160; 160; 160; 21
#define KEY_S 160; 160; 160; 22
#define KEY_T 160; 160; 160; 23
#define KEY_U 160; 160; 160; 24
#define KEY_V 160; 160; 160; 25
#define KEY_W 160; 160; 160; 26
#define KEY_X 160; 160; 160; 27
#define KEY_Y 160; 160; 160; 28
#define KEY_Z 160; 160; 160; 29
#define KEY_1 160; 160; 160; 30
#define KEY_2 160; 160; 160; 31
#define KEY_3 160; 160; 160; 32
#define KEY_4 160; 160; 160; 33
#define KEY_5 160; 160; 160; 34
#define KEY_6 160; 160; 160; 35
#define KEY_7 160; 160; 160; 36
#define KEY_8 160; 160; 160; 37
#define KEY_9 160; 160; 160; 38
#define KEY_0 160; 160; 160; 39
int dataPin = 0; 160;160;
int clockPin = 1; 160;// digispark pins to cd4021 pins
int latchPin = 2; 160;
//Define variable
byte RegisterValue = 0; 160;// Used to hold data from DC4021
void setup() {
//define pins used to connect to the CD4021 Shift Register
160; pinMode(dataPin, INPUT);
160; pinMode(latchPin, OUTPUT);
160; pinMode(clockPin, OUTPUT);160;
}
void loop() {
160; //Set latch pin to 1 to get recent data into the CD4021
160; digitalWrite(latchPin,1);
160;160;
160; delayMicroseconds(20);
160;160;
160; //Set latch pin to 0 to get data from the CD4021
160; digitalWrite(latchPin,0);
160; //Get CD4021 register data in byte variable
160; RegisterValue = shiftIn(dataPin, clockPin, MSBFIRST);
160; if (RegisterValue == B10000) {
160; 160; DigiKeyboard.print("Button 1 pressed 160;-->");
160; 160; DigiKeyboard.println(RegisterValue, BIN);
160; }
160; if (RegisterValue == B1000) {
160; 160; DigiKeyboard.print("Button 2 pressed 160;-->");
160; 160; DigiKeyboard.println(RegisterValue, BIN);
160; }
160; //3번 버튼, SnippingTool 실행
160; if (RegisterValue == B100) {
160; DigiKeyboard.update();
160; DigiKeyboard.sendKeyStroke(0);
160; DigiKeyboard.sendKeyStroke(0, MOD_GUI_LEFT);
160; DigiKeyboard.delay(100);
160; DigiKeyboard.sendKeyStroke(KEY_S);
160; DigiKeyboard.sendKeyStroke(KEY_N);
160; DigiKeyboard.sendKeyStroke(KEY_I);
160; DigiKeyboard.sendKeyStroke(KEY_P);
160; DigiKeyboard.sendKeyStroke(KEY_P);
160; DigiKeyboard.sendKeyStroke(KEY_I);
160; DigiKeyboard.sendKeyStroke(KEY_N);
160; DigiKeyboard.sendKeyStroke(KEY_G);
160; DigiKeyboard.sendKeyStroke(KEY_T);
160; DigiKeyboard.sendKeyStroke(KEY_O);
160; DigiKeyboard.sendKeyStroke(KEY_O);
160; DigiKeyboard.sendKeyStroke(KEY_L);
160; DigiKeyboard.delay(100);
160; DigiKeyboard.sendKeyStroke(KEY_ENTER);
160; DigiKeyboard.delay(100);
160; }
160;160;
160; //4번 버튼, 관리1088; CMD 실행
160; if (RegisterValue == B10) {
160; DigiKeyboard.update();
160; DigiKeyboard.sendKeyStroke(0);
160; DigiKeyboard.sendKeyStroke(0, MOD_GUI_LEFT);
160; DigiKeyboard.delay(100);
160; DigiKeyboard.sendKeyStroke(KEY_C);
160; DigiKeyboard.sendKeyStroke(KEY_M);
160; DigiKeyboard.sendKeyStroke(KEY_D);
160; DigiKeyboard.delay(300);
160; DigiKeyboard.sendKeyStroke(KEY_ENTER, MOD_CONTROL_LEFT + MOD_SHIFT_LEFT);
160; DigiKeyboard.delay(300);
160; DigiKeyboard.sendKeyStroke(KEY_LEFT_ARROW);
160; DigiKeyboard.delay(300);
160; DigiKeyboard.sendKeyStroke(KEY_ENTER);
160; DigiKeyboard.delay(300);
160; } 160;
160;160;
// if (RegisterValue == B100000) {
// 160; 160;DigiKeyboard.print("Button 5 pressed 160;-->");
// 160; 160;DigiKeyboard.println(RegisterValue, BIN);
// 160;}
160;160;
// 160;if (RegisterValue == B1000000) {
// 160; 160;DigiKeyboard.print("Button 6 pressed 160;-->");
// 160; 160;DigiKeyboard.println(RegisterValue, BIN);
// 160;}
// 160; if (RegisterValue == B10000000) {
// 160; 160;DigiKeyboard.print("Button 7 pressed 160;-->");
// 160; 160;DigiKeyboard.println(RegisterValue, BIN);
// }
delay(10);
}
Àúµµ ¿¾³¯¿¡ UNO¿Í CP2102¸¦ ¿¬°áÇÏ°í
UNO Å°º¸µå·Î ÀνÄÇÏ°ÔÇÏ°í
CP2102·Î ¸ÞÅ©·Î ½ºÄÉÁìÀ» ¾÷·Îµå½Ãų¼ö ÀÖ°Ô ÄÚµùÇÏ¿©
°ÔÀÓ¿ë ¸ÞÅ©·Î¸¦ Á¦ÀÛÇغ»ÀûÀÖ½À´Ï´Ù ÇÏÇÏ..