코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
2014-08-06 09:40:16
노크 센서(Knock Sensor) 혹은 탭 센서(Tap Sensor) 라고 불리며,
플라스틱 안의 금속이 충격 및 진동을 감지하여 이를 출력하는 센서입니다.
구체적으로 어떻게 쓰일수 있을지 프로젝트를 통해 살펴 봅시다.
이름하여 비밀 노크 감지 도어 락 프로젝트인데요 , 노크의 패턴을 만들어 조건이 충족될때 문을 열어주는 장치로
문을 열고 닫는게 지겨우신 분들은 따라해보세요.
그에 앞서 기본적인 노크 센서 사용법부터 익혀 봅시다.
NO |
부품명 |
수량 |
상세설명 |
1 |
아두이노 우노 |
1 |
아두이노 |
2 |
노크(Knock) 센서 |
1 |
Brand: Keyes - Knock sensor module - 구동 전압: 3~5V |
3 |
점퍼 케이블 |
3 |
저항 |
4 |
브레드보드 |
1 |
브레드보드 |
부품명 | 브레드보드 | 아두이노 UNO | 점퍼케이블 | 노크 센서 |
파트 | X 1 | X 1 | X 3 | X 1 |
아래의 코드를 아두이노에 업로드 합니다.
/* 출처 : www.kocoafab.cc */ int Led = 13;// 13번핀에 LED를 사용합니다. int Shock = 3;// 3번핀에 진동센서를 사용합니다. int val;// val은 입력핀에 값을 저장하기 위해 사용합니다. void setup() { pinMode(Led,OUTPUT);// LED를 출력으로 설정합니다. pinMode(Shock,INPUT);// 진동센서를 입력으로 설정합니다. } void loop() { val = digitalRead(Shock);// 진동센서의 값을 읽어들입니다. if(val == HIGH)// 만약 센서 값이 High 라면 { digitalWrite(Led,LOW); //LED가 꺼져있고 } else { digitalWrite(Led,HIGH);// 그 반대의 경우 LED를 켭니다. } }
int Shock = 3;// 3번핀에 진동센서를 사용합니다. int val;// val은 입력핀에 값을 저장하기 위해 사용합니다.
본 예제에서는 아날로그 입력이 아닌 디지털 입력값으로 센서값을 받았기 때문에 노크센서를 디지털 3번핀에 연결하였습니다.
void setup() { pinMode(Led,OUTPUT);// LED를 출력으로 설정합니다. pinMode(Shock,INPUT);// 진동센서를 입력으로 설정합니다. } void loop() { val = digitalRead(Shock);// 진동센서의 값을 읽어들입니다. if(val == HIGH);// 만약 센서 값이 High 라면 { digitalWrite(Led,LOW); //LED가 꺼져있고 } else { digitalWrite(Led,HIGH);// 그 반대의 경우 LED를 켭니다. } }
진동센서를 입력, LED를 출력으로 설정하여 진동 센서의 충격을 줍니다.
센서 안에 금속이 흔들림을 감지하여, HIGH상태가 될때(아무런 진동을 감지 하지 않을때, LED를 끄고
그 반대의 경우, LED를 켜게 됩니다.
kocoafabeditor
항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!