여기에서는 터치센서를 이용하여 디지털 입력 값을 받는 실험을 진행해보도록 하겠다. 시중에서 구할 수 있는 터치센서 모듈의 외형은 다음 그림과 같다.
[그림 1] 터치센서 모듈
터치센서의 금속판을 터치할 때 출력 신호가 바뀐다. 즉, 터치시에 HIGH를 아닐 때는 LOW 신호를 내보낸다.
이 모듈은 선이 세 가닥이 있다. 두 가닥은 전원선이고 나머지 하나는 신호선이다. 이 신호선을 아두이노의 디지털 핀에 연결하면 되는데 예를 들어서 3번 핀에 연결한다면 다음과 같다.
[그림 2] 터치센서 모듈을 우노의 3번 핀에 에 연결한 모양
이 모듈의 동작은 간단하다. 터치가 안 되어 있다면 신호선으로 LOW 신호가 나오고 터치가 되었다면 HIGH 신호가 나온다. 따라서 이 디지털 신호를 읽으면 터치 패널에 터치가 되었는지 아닌 지를 판별할 수 있다.
단순하게 터치가 된 상태라면 LED가 켜진 상태를 유지하고 아니라면 LED도 꺼진 상태를 유지하는 매우 간단한 프로그램을 작성해 보도록 하겠다.
#define TS 3 // 터치센서에 연결된 핀 번호void setup() {pinMode(LED_BUILTIN, OUTPUT);pinMode(TS, INPUT);}void loop() {int iTouched = digitalRead(TS);digitalWrite(LED_BUILTIN, iTouched);} |
이것을 더 간단하게 줄이면 다음과 같이 iTouched 변수를 생략할 수 있다.
#define TS 3 // 터치센서에 연결된 핀 번호void setup() {pinMode(LED_BUILTIN, OUTPUT);pinMode(TS, INPUT);}void loop() {digitalWrite(LED_BUILTIN, digitalRead(TS));} |
이 프로그램이 실행되면 터치 상태를 계속 읽어들여서 터치되었다면 LED를 켠다.
댓글 없음:
댓글 쓰기