제조사 | OEM |
---|---|
브랜드 | 에듀이노 |
판매가 | 5,500원 |
적립금 | 50원 |
자체상품코드 | C-84 |
상품요약정보 | 16키 디지털 터치 센서 TTP229 모듈 |
국내·해외배송 | 국내배송 |
배송방법 | 택배 |
수량 |
COMMENT |
(최소주문수량 1개 이상 / 최대주문수량 0개 이하)
사이즈 가이드현재 상품과 관련된 상품들입니다. 함께 구매해보세요^^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80 |
#define scl_pin 8
#define sdo_pin 9
#define correct_led 2
#define wrong_led 3
#define number 4
int key[number]; // 키패드에서 입력받는 번호 저장
int password[number] = {13, 14, 15, 16}; // 비밀번호 설정
int correct = 0; // 비밀번호가 맞는 횟수를 세는 변수
int count = 0; // 번호를 몇개 입력했는지 세는 변수
void setup() {
Serial.begin(9600); // 시리얼 통신 시작 속도는 9600
pinMode(scl_pin, OUTPUT); // scl_pin 출력으로 설정
pinMode(sdo_pin, INPUT); // sdo_pin 입력으로 설정
pinMode(correct_led, OUTPUT); // correct_led를 출력으로 설정
pinMode(wrong_led, OUTPUT); // wrong_led를 출력으로 설정
}
void loop() {
int a = getnumber(); // 키 패드에서 숫자 입력 받기
if (a != 0){ // 키패드에서 입력 받는 숫자가 0이 아닐 때
key[count] = a; // key변수에 입력 받는 숫자 저장
Serial.print("PUSH : ");
Serial.println(key[count]); // 입력 받은 숫자 출력
count ++; // 비밀번호를 몇 개 입력했는지 세어줌
delay(500); // 한번에 여러 개의 숫자가 막 입력되지 않도록 delay 설정
if(count == number){ // 입력한 숫자의 개수가 비밀번호 개수와 같을 경우
for(int j=0; j<number; j++){ // 입력한 숫자와 비밀번호의 숫자 비교
if(password[j] == key[j])
correct++; // 입력한 숫자와 비밀번호의 숫자를 비교하여 숫자가 맞으면 correct변수를 1씩 추가해줌
}
if(correct == number){ // correct변수가 설정한 비밀번호의 개수와 같을 경우. (비밀번호가 맞을경우)
correct = 0; // correct 변수 0으로 초기화
Serial.println("Correct Password !!! "); // 비밀번호가 맞았다고 시리얼 모니터에 출력
Serial.println();
for(int i=0; i< 4; i++){ // 맞았을 경우 노란색 led 껐다 켰다 4번
digitalWrite(correct_led, HIGH);
delay(500);
digitalWrite(correct_led, LOW);
delay(500);
}
}
else{ // 비밀번호가 틀렸을 경우
correct = 0; // correct 변수 0으로 초기화
Serial.println("Wrong Password !!! "); // 비밀번호가 틀렸다고 시리얼 모니터에 출력
Serial.println();
for(int i=0; i< 4; i++){ // 틀렸을 경우 붉은색 led 껐다 켰다 4번
digitalWrite(wrong_led, HIGH);
delay(500);
digitalWrite(wrong_led, LOW);
delay(500);
}
}
count = 0; // 비밀번호를 몇 개를 썼는지 세주는 변수 0으로 초기화
}
}
}
byte getnumber(void){
byte count;
byte num = 0;
for(count = 1; count <= 16; count++) { // 번호를 1~16까지 비교해줌
digitalWrite(scl_pin, LOW); // 동기용 클럭 신호 low(Serial Clock)
if (digitalRead(sdo_pin) == 0) // 입력 받는 수와 1~16까지 비교하는 숫자가 맞을경우
num = count; // num에 count를 대입해줌
digitalWrite(scl_pin, HIGH); // 동기용 클럭 신호 high(Serial Clock)
}
return num; // num반환
}
|
cs |