모터 회전 센서 사용



모터 회전 센서는 모터가 어디까지 회전했는지 측정하는 데 사용됩니다. 회전 센서는 미디엄 모터, 라지 모터, NXT 모터에 내장됩니다. 모터 안에 있는 이들 센서는 각도 단위의 회전량을 감지할 수 있습니다. 모터가 완전히 한 바퀴 도는 것은 360도 회전입니다.

모터 회전 센서를 사용하면 현재 작동 중인 모터의 파워 레벨이 얼마인지도 알아낼 수 있습니다.
팁과 요령
모터 회전 센서는 EV3 브릭의 모터 포트(A, B, C, D)에 연결된 모터와 함께 사용됩니다. 모터 회전 센서는 EV3 센서 포트(1, 2, 3, 4)와는 함께 사용할 수 없습니다.
모터 회전 데이터
모터 회전 센서는 다음과 같은 데이터를 제공할 수 있습니다.
데이터유형비고
각도 숫자각도 단위의 회전량.
회전 숫자회전수로 표시하는 회전량(각도/360, 소수점 이하 숫자).
현재 모터 파워 숫자모터가 작동 중인 경우 모터의 현재 파워 레벨(1~100), 또는 모터가 정지된 경우 0
모터 회전 센서 초기화
모터 회전 센서는 프로그램 내 어떤 지점에서든 0으로 초기화할 수 있습니다. 그런 다음 센서는 초기화된 지점과 비교하여 총 회전량을 측정합니다. 모터 회전 센서를 초기화하려면, 초기화 모드 모터 회전 블록을 사용하세요.
팁과 요령
한 번도 초기화한 적 없는 모터 회전 센서를 측정하면, 프로그램이 시작된 이래 모터가 돌아간 총 회전량을 얻게 됩니다.
모터 회전 방향과 총 회전수
모터의 순방향 회전은 양수의 각도 또는 회전수로 나타나고, 역방향 회전은 음수로 나타납니다. 회전은 언제나 센서를 마지막으로 초기화한 이후 순방향 회전의 총량으로 측정합니다. 누적된 순방향 회전에서 역방향 회전을 차감합니다.

아래 표는 여러 단계로 일어나는 모터 동작의 예와 각 단계 후 모터 회전을 측정한 결과를 보여줍니다.
단계동작모터 회전 결과
1프로그램이 시작되고, 모터가 아직 돌지 않았습니다.0도
2모터가 앞으로 완전히 한 바퀴 돕니다(360도).360도
3모터가 앞으로 완전히 한 바퀴 다시 돕니다.720도
4모터가 앞으로 60도 돕니다.780도
5모터가 뒤로 30도 돕니다.750도
6모터 회전이 초기화됩니다.0도
7모터가 뒤로 100도 돕니다.-100도
8모터가 뒤로 60도 돕니다.-160도
9모터가 앞으로 360도 돕니다.200도
모터 회전 센서 사용의 예
프로그램에서 모터 회전 센서를 어떻게 사용할 수 있는지에 대한 몇 가지 예가 아래 나와 있습니다.
예 1: 밀면 소리 내는 로봇
프로그램에서 로봇은 바퀴가 약간만 움직일 수 있도록 사람 손으로 밀면 소리를 냅니다. 이 프로그램은 모터 회전 - 변경 - 각도 모드의 대기 블록을 사용하여 모터 C의 회전 센서가 어느 쪽 방향으로든 5도만큼 바뀌기를 기다립니다. 이러면 사운드 블록이 소리를 냅니다.
예 2: 일정한 거리를 한 패턴으로 주행
프로그램에서 로봇은 2회전 동안 직진한 다음 총 6.5회전 동안 지그재그 패턴으로 주행합니다. 로봇은 바퀴 하나를 먼저 움직인 다음 다른 바퀴를 움직이는 지그재그 패턴으로 주행합니다. 지그재그 패턴은 모터 B가 총 6.5회전을 주행할 때까지 루프 에서 반복됩니다. 이 프로그램은 모터 회전 - 회전 모드의 루프를 사용하여 모터 B의 회전 센서가 총 6.5회전을 측정하면 루프를 정지시킵니다. 처음 두 번의 일직선 회전을 제외하고 6.5회전 동안 지그재그 패턴으로만 주행하기 위해, 지그재그 주행에 앞서 초기화 모드의 모터 회전 블록을 사용하여 회전 센서를 0으로 초기화합니다.
예 3: 속도 제어 다이얼
프로그램에서 포트 C와 연결된 모터는 포트 B와 연결된 모터의 속도 제어 다이얼처럼 동작합니다. C 모터를 손으로 앞, 뒤로 회전하면 B 모터의 속도를 제어할 수 있습니다. 이 프로그램은 측정 - 각도 모드의 모터 회전 블록을 사용하여 모터 C에 의해 회전한 각도를 측정합니다. 이 결과는 라지 모터 블록의 파워 입력에 사용되며, 디스플레이 블록을 사용하여 표시하기도 합니다. 속도가 계속 업데이트될 수 있도록 이 프로세스가 루프에서 반복됩니다.
팁과 요령
라지 모터 블록의 파워 입력이 100보다 크면, 100%의 파워를 사용하게 됩니다.
모터 회전 블록과 모드
아래 표는 모터 회전 센서로 사용할 수 있는 모든 프로그래밍 블록과 모드를 보여줍니다.
블록모드사용법
대기 모터 회전 - 비교회전 센서가 일정한 값(각도, 회전 또는 현재 모터 파워)에 도달하기를 기다립니다.
대기모터 회전 - 변경회전 센서가 일정한 양(각도, 회전 또는 현재 모터 파워)만큼 바뀌기를 기다립니다.
루프 모터 회전회전 센서가 일정한 값(각도, 회전 또는 현재 모터 파워)에 도달할 때까지 블록 시퀀스를 반복합니다.
스위치 블록 모터 회전회전 센서(각도, 회전 또는 현재 모터 파워)에 따라 두 개의 블록 시퀀스 중에 선택합니다.
모터 회전측정회전 센서(각도, 회전 또는 현재 모터 파워)를 읽고, 숫자 데이터 와이어에서 결과를 얻습니다.
모터 회전비교회전 센서(각도, 회전 또는 현재 모터 파워)를 경계값과 비교하고, 숫자 데이터 와이어에서 결과를 얻습니다.
모터 회전초기화회전 센서를 0으로 초기화합니다.
데이터 로깅데이터 로깅을 참조하세요.
팁과 요령
모터 회전 센서는 내부에서 다음의 동작 블록과 모드로도 사용됩니다.
블록모드사용법
미디엄 모터,
라지 모터
각도로 동작,
회전수로 동작
모터를 일정한 각도 또는 회전수만큼 회전합니다.
조향모드 주행,
탱크모드 주행
각도로 동작,
회전수로 동작
두 개의 라지 모터를 사용하여 일정한 각도 또는 회전수와 일치할 때까지 주행합니다.
모터 회전
빠른 연결