타이머 사용

타이머는 시간 간격을 측정하는 데 사용할 수 있습니다. 타이머는 센서와 사용법이 비슷하지만, EV3 브릭의 내부에 달려 있으며 센서 포트가 필요 없습니다. 타이머를 사용하면 가령 로봇이 일정 거리를 이동하는 데 시간이 얼마나 걸리는지 측정할 수 있습니다.

EV3에는 타이머가 8개 있으므로, 동시에 최대 8개까지 시간을 측정할 수 있습니다. 프로그램 내 어떤 지점에서든 타이머를 0으로 초기할 수 있으며, 그 지점에서 시간 측정을 시작합니다.
팁과 요령
그냥 일정 시간 동안 기다리기를 원하는 경우, 대기 시간 모드의 대기 블록을 사용하면 됩니다. 타이머를 사용하면 타이머를 초기화하고 프로그램 내 다양한 장소에서 테스트할 수 있습니다.
타이머 데이터
타이머는 다음과 같은 데이터를 제공합니다.
데이터유형비고
경과 시간 숫자타이머를 마지막으로 초기화한 이후 경과한 시간(초).
팁과 요령
팁: 시간은 소수점 이하 숫자를 사용하여 초 단위로 측정합니다. 10분의 1초의 간격을 사용하면 경과 시간이 0.1초가 됩니다.
타이머 초기화
초기화 모드의 타이머 블록을 사용하면, 프로그램 내 어떤 지점에서든 타이머를 0(0.0초)으로 초기화할 수 있습니다. 타이머는 초기화 직후 0부터 다시 시간을 측정하기 시작합니다. 프로그램 처음에 타이머 8개 모두 자동으로 초기화되며 항상 실행 중입니다.
팁과 요령
한 번도 초기화되지 않은 타이머를 측정하면, 프로그램이 시작한 이후 경과한 시간을 얻을 수 있습니다.
타이머 사용의 예
프로그램에서 타이머를 어떻게 사용할 수 있는지에 대한 예가 아래 나와 있습니다.
예 1: 1초에 한 번씩 모터 움직이게 하기
이 프로그램에서 모터는 똑딱거리는 시계처럼 정확하게 1초에 한 번씩 45도 회전합니다. 이 프로그램은 미디엄 모터 블록을 사용하여 모터를 45도씩 회전시킵니다. 45도 회전하는 데는 1초도 걸리지 않습니다. 그런 다음 프로그램은 1초 간격의 나머지 시간이 끝나 모터가 다시 움직이기를 기다려야 합니다. 이를 위해 프로그램은 초기화 모드의 타이머 블록을 사용하여 모터를 구동하기 전에 타이머 1을 구동합니다. 그런 다음 모터가 정지한 후, 타이머 - 비교 - 시간 모드의 대기 블록은 타이머 1이 1초에 도달하기를 기다립니다. 그러므로 모터가 움직이는 시간과 정지되는 시간을 포함하여 총 1초의 간격이 필요하게 됩니다.
예 2: 터치 센서가 얼마나 오래 눌려 있는지 측정
이 프로그램은 터치 센서를 누를 때마다 터치 센서가 얼마나 오래 눌려 있는지 측정하며, 초 단위 결과는 EV3 디스플레이에 표시됩니다. 이 프로그램은 대기 블록을 사용하여 터치 센서가 눌리기를 기다린 다음 다시 풀리기를 기다립니다. 터치 센서를 누른 다음, 초기화 모드의 타이머 블록을 사용하여 타이머 1을 초기화합니다. 터치 센서가 풀린 후, 측정 - 시간 모드의 타이머 블록을 사용하여 타이머 1의 경과 시간을 측정합니다. 그 결과로 나온 숫자는 디스플레이 블록에 연결되어 초 단위로 숫자를 표시합니다.
타이머 블록과 모드
아래 표는 타이머로 사용할 수 있는 모든 프로그래밍 블록과 모드를 보여줍니다.
블록모드사용법
대기 타이머 - 비교 - 시간타이머가 일정한 값에 도달하기를 기다립니다.
대기타이머 - 변경 - 시간타이머가 일정량만큼 바뀌기를 기다립니다.
루프 타이머타이머가 일정한 값에 도달할 때까지 블록 시퀀스를 반복합니다.
스위치 블록 타이머타이머에 따라 두 개의 블록 시퀀스 중에 선택합니다.
타이머측정타이머를 읽고, 숫자 데이터 와이어에서 초 단위의 결과를 얻습니다.
타이머비교타이머를 경계값과 비교하고, 논리 데이터 와이어에서 결과를 얻습니다.
타이머초기화타이머를 0으로 초기화합니다. 타이머는 즉시 다시 시간을 측정하기 시작합니다.
팁과 요령
간단한 쓰임새의 타이머로 다음 블록과 모드도 사용할 수 있습니다.
블록모드사용법
대기시간일정 시간을 기다립니다.
루프시간일정 시간 동안 블록 시퀀스를 반복합니다.
타이머
빠른 연결