터치 센서 사용

터치 센서는 센서 전면의 버튼이 안으로 눌려 있는지 감지합니다. 예를 들면, 터치 센서를 사용하여 로봇이 무언가를 향해 주행하는 때를 감지할 수 있습니다. 터치 센서를 손가락으로 눌러서도 동작을 실행할 수 있습니다.
터치 센서는 안으로 눌려 있는지 아닌지를 알려줍니다. 버튼이 얼마나 멀리 얼마나 심하게 안으로 눌려 있는지 측정하지는 못합니다. 터치 센서는 논리 데이터(참 또는 거짓)를 제공합니다. 터치 센서 버튼의 위치는 상태라고 불리며, 안으로 눌려 있으면 참이고 그러지 않으면(눌려 있지 않으면) 거짓입니다.

터치 센서는 버튼이 과거에 눌렸다가 눌리지 않았는지도 기억할 수 있습니다. 이를 접촉 후 떨어짐이라고 하며, 손가락으로 누르는 것을 감지하는 데 유용합니다. 자세한 내용은 접촉 후 떨어짐 이해를 참조하세요.
터치 센서 데이터
터치 센서는 다음과 같은 데이터를 제공할 수 있습니다.
데이터유형비고
상태 논리버튼이 안으로 눌려 있는 경우에는 참이고 그러지 않으면 거짓입니다.
눌림 논리눌려 있으면 참이고 그러지 않으면 거짓입니다(상태와 동일).
눌리지 않음 논리눌려 있으면 거짓이고 그러지 않으면 참입니다(상태와 반대).
접촉 후 떨어짐 논리버튼을 과거에 눌렀다가 놓으면 참입니다. 그 다음 번 접촉 후 떨어짐은 새로 눌렀다가 놓는 과정을 필요로 합니다.
눌림 사용의 예
터치 센서의 눌림 데이터를 어떻게 사용하는지에 대한 몇 가지 예가 아래 나와 있습니다.
예 1: 터치 센서가 눌릴 때까지 주행
프로그램에서 로봇은 터치 센서가 눌릴 때까지 똑바로 전진하다가 멈춥니다. 이 프로그램은 터치 센서 - 비교 - 터치 모드에 있는 대기 블록을 사용하여 눌림을 테스트합니다.
팁과 요령
센서의 감지를 기다리는 동안 계속 주행하고 싶다면, 조향모드 주행 블록의 켜짐 모드를 사용하는 것을 잊지 마세요.
예 2: 터치 센서가 눌려있을 때마다 모터 작동(방법 1)
프로그램에서 모터는 터치 센서가 눌려있을 때마다 작동합니다. 모터는 터치 센서가 눌리지 않을 때마다 정지됩니다. 이 프로그램은 터치 센서 - 비교 - 터치 모드에 있는 스위치 블록을 사용하여 눌림을 테스트합니다. 테스트 결과는 모터 켜기와 끄기 중에 선택하는 데 사용합니다. 테스트는 루프에서 계속 반복됩니다.
예 3: 터치 센서가 눌려있을 때마다 브릭 상태 표시등 점멸하게 만들기
프로그램을 실행하면 브릭 상태 표시등에 주황색 불이 들어오고, 터치 센서가 눌려있을 때마다 표시등이 자주색으로 됩니다. 프로그램은 측정 모드의 터치 센서 블록을 사용하여 터치 센서의 상태를 얻습니다. 그 결과는 논리 데이터 와이어와 함께 브릭 버튼 블록의 점멸 입력에 연결됩니다.
눌리지 않음 사용의 예
터치 센서의 눌리지 않음 데이터를 어떻게 사용할 수 있는지에 대한 예가 아래 나와 있습니다.
예 4: 터치 센서를 누를 때마다 경고음 발생
이 프로그램은 터치 센서가 눌릴 때마다 짧은 음을 냅니다. 누를 때마다 한 톤만 들립니다. 이 프로그램은 터치 센서 - 비교 - 터치 모드의 대기 블록을 사용하여 눌림을 테스트한 다음, 또 다른 대기 블록을 사용하여 눌리지 않음을 기다린 후 루프를 계속합니다.
팁과 요령
프로그램에서 눌리지 않음 대기를 삭제하면, 터치 센서가 눌려있는 동안 경고음이 반복됩니다. 이는 터치 센서가 이미 눌려 있는 경우 눌림 대기가 즉시 다음 번 블록을 계속하기 때문입니다. 시도해 보십시오!
예 5: 터치 센서가 눌려있을 때마다 모터 작동(방법 2)
프로그램에서 모터는 터치 센서가 눌려있을 때마다 작동합니다. 모터는 터치 센서가 눌리지 않을 때마다 정지됩니다. 이 프로그램은 터치 센서 - 비교 - 터치 모드의 대기 블록을 사용하여 눌림이 모터를 구동하기를 기다린 다음, 또 다른 대기 블록을 사용하여 눌리지 않음을 기다린 후 모터를 정지시킵니다. 루프에서 이 프로세스가 반복됩니다.
팁과 요령
이 프로그램은 방법은 다르지만 위의 예 2와 똑같은 것을 수행합니다.
접촉 후 떨어짐 이해
터치 센서 버튼이 현재 눌려 있는지 눌려 있지 않은지를 알려주는 것 외에도 터치 센서는 과거에 눌렸는지, 눌리지 않았는지도 기록하는데, 이를 접촉 후 떨어짐이라고 합니다. 그래서 터치 센서가 누름 버튼처럼 눌렸는지도 쉽게 알 수 있습니다. 터치 센서가 눌려 있는지 끊임없이 확인한 다음 눌리지 않을 때까지 기다리지 않아도 됩니다.

일단 터치 센서가 접촉 후 떨어짐이었음을 나타내면, 터치 센서는 새로 눌려서 놓일 때까지 접촉 후 떨어짐을 다시 나타내지 않습니다. 예를 들면 한 번 누름이 일회성 동작 하나와 대응된다는 것을 쉽게 확인할 수 있습니다.

아래 표는 터치 센서를 어디서 눌렀다가 놓았는지에 대한 단계를 보여줍니다. 이 표는 각 동작 후 눌림, 눌리지 않음, 접촉 후 떨어짐에 대한 프로그램 테스트의 결과를 보여줍니다.
단계동작눌림눌리지 않음접촉 후 떨어짐
1 처음에 버튼이 눌려있지 않습니다.거짓거짓
2 버튼이 눌린 상태입니다.거짓거짓
3 버튼이 눌리지 않은 상태로 돌아갑니다.거짓
4 버튼은 여전히 눌리지 않은 상태이고, 프로그램은 터치 센서를 다시 테스트합니다.거짓거짓
5 버튼은 두 번째로 눌린 상태입니다.거짓거짓
6 버튼은 눌려있는 상태이고, 프로그램은 터치 센서를 다시 테스트합니다.거짓거짓
7 버튼이 눌리지 않은 상태로 돌아갑니다.거짓
8 버튼은 여전히 눌리지 않은 상태이고, 프로그램은 터치 센서를 다시 테스트합니다.거짓거짓
버튼이 눌려있으면, 터치 센서는 프로그램이 눌림을 테스트할 때마다 눌림을 계속 나타냅니다. 하지만 일단 버튼이 눌려 있지 않으면, 센서는 프로그램이 접촉 후 떨어짐을 테스트할 때마다 접촉 후 떨어짐만 나타냅니다. 센서는 새로 눌러서 놓을 때까지 접촉 후 떨어짐을 다시 나타내지 않습니다.
접촉 후 떨어짐 사용의 예
터치 센서의 접촉 후 떨어짐 데이터를 어떻게 사용할 수 있는지에 대한 몇 가지 예가 있습니다.
예 6: 터치 센서가 눌릴 때 디스플레이 변경
프로그램에서 EV3 브릭 디스플레이는 터치 센서가 접촉 후 떨어질 때마다(눌렸다가 놓일 때마다) 디스플레이를 바꾸면서 "0", 그 다음 "1", 그 다음 "2"를 표시합니다.
팁과 요령
프로그램에서 블록에 대한 대기를 변경하여 접촉 후 떨어짐 대신 눌림을 테스트하면, 디스플레이는 "0"에서 "1"을 건너뛰어서 곧장 "2"로 이동합니다. 시도해 보십시오! 이는 눌림 테스트에 대한 두 번째 대기가 진행될 때 손가락이 처음 누를 때부터 계속 버튼을 누르고 있어서 두 번째 대기가 즉시 종료될 정도로 디스플레이 블록이 빠르게 실행되기 때문입니다. 접촉 후 떨어짐을 테스트하면, 각각의 누름에 대해 한 테스트만 성공합니다.
예 7: 터치 센서가 눌릴 때까지 패턴으로 주행
이 프로그램에서 로봇은 "정지" 버튼 역할을 하는 터치 센서가 눌릴 때까지 직선 주행하다가 회전하는 패턴을 반복합니다. 터치 센서가 눌린 후, 로봇은 다음 번 회전 후에 멈춥니다. 이 프로그램은 터치 센서 모드의 루프를 사용하여 터치 센서가 접촉 후 떨어질 때까지(눌렸다가 놓일 때까지) 주행을 반복합니다.
팁과 요령
접촉 후 떨어짐 대신 눌림을 사용하여 이 프로그램을 시도하면, 터치 센서를 눌러도 보통 로봇은 멈추지 않음을 알게 될 것입니다. 시도해 보십시오! 두 개의 주행 블록을 완료한 후 일시적으로 루프가 센서를 테스트하기 때문입니다. 두 개의 주행 블록이 실행되는 동안 센서를 누르고 놓는 경우, 눌림 상태는 보이지 않게 됩니다. 접촉 후 떨어짐을 사용하면, 터치 센서는 센서가 과거에 눌렸다가 놓인 것을 기억합니다.
터치 센서 블록과 모드
표는 터치 센서로 사용할 수 있는 모든 프로그래밍 블록과 모드를 보여줍니다.
블록모드사용법
대기터치 센서 - 비교터치 센서가 눌리거나 눌리지 않거나 접촉 후 떨어지기를 기다립니다.
대기터치 센서 - 변경터치 센서 상태가 바뀌기를 기다립니다.
루프터치 센서터치 센서가 눌리거나 눌리지 않거나 접촉 후 떨어질 때까지 블록 시퀀스를 반복합니다.
스위치 블록터치 센서터치 센서가 눌려 있는지, 눌리지 않았는지, 접촉 후 떨어졌는지에 따라 두 개의 블록 시퀀스 중에 선택합니다.
터치 센서측정논리 데이터 와이어에서 현재의 터치 센서 상태(눌려 있는지 아닌지)를 얻습니다.
터치 센서비교터치 센서에 대한 눌림, 눌리지 않음 또는 접촉 떨어짐을 테스트하고, 논리 데이터 와이어에서 결과를 얻습니다.
데이터 로깅데이터 로깅을 참조하세요.
터치
빠른 연결