이 센서는 스위치입니다. 범퍼가 눌려졌는지(센서 값 1) 해제되었는지(센서 값 0) 로봇에게 알려줍니다.
범퍼 스위치 작동 원리: 회로 완성
VEX IQ 범퍼 스위치는 아마도 가장 일반적으로 사용되는 전기 장치인 스위치를 기반으로 합니다. 스위치는 두 개의 터미널(와이어를 연결하는 장소)과 스위치를 눌렀을 때 연결을 '만드는' 와이어 브리지로 구성됩니다. 이 애니메이션에서 보여지듯이, 연결선을 누르면 회로가 '완성'되고, 로봇 두뇌가 이를 프로그램에 등록합니다!
기본적으로 범퍼 스위치는 연결되지 않거나 끊어진 회로의 일부입니다. 범퍼스위치를 누르면 연결이 되고, 전기가 흐르게 됩니다.
범퍼 스위치의 일반적인 용도
- 이 센서는 누르거나 놓을 때 로봇 동작을 트리거할 수 있습니다.
- 아래 애니메이션에서 볼 수 있듯이, 이 센서는 누르면 모터를 켜고 끄는 토글로 사용할 수 있습니다.
- 아래 애니메이션에서 볼 수 있듯이, 이 센서는 범퍼가 벽이나 물체에 부딪힐 때 이를 감지할 수 있습니다.
- 센서는 범퍼를 누를 때 로봇의 다른 부분(예: 팔)을 감지할 수 있습니다.
경쟁 로봇의 범퍼 스위치 사용
- 자율 모드에 있는 동안 범퍼 스위치를 사용하여 로봇이 일종의 물체에 의해 눌러질 때까지 특정 작업을 수행할 때까지 기다릴 수 있습니다.
- 범퍼 스위치는 주변 벽과 같은 표면이나 게임 조각과 같은 물체와 접촉하는 것을 감지할 수 있습니다.
- 예를 들어 로봇의 전면과 측면에 두 개의 범퍼 스위치를 사용하여 로봇이 구석에 위치할 수 있도록 할 수 있습니다. 그러면 로봇은 해당 코너에서 경기장의 다른 위치로 더 정확하게 이동할 수 있습니다.
- 범퍼 스위치를 사용하면 로봇의 팔과 같은 한 부분이 섀시와 같은 다른 부분과 접촉할 때 로봇이 이를 감지하도록 할 수 있습니다.
VEXcode IQ에서 범퍼 스위치 사용
VEXcode IQ에서 범퍼 스위치를 장치로 추가
VEXcode IQ에서 범퍼 스위치를 코딩하려면 먼저 범퍼 스위치를 구성해야 합니다. VEXcode IQ에서 센서를 구성하는 방법에 대해 자세히 알아보려면 이 기사를 확인하세요.
범퍼 스위치가 구성되면 프로젝트에서 사용할 수 있는 명령이 도구 상자에 나타납니다.
범퍼 스위치를 블록으로 코딩하기
<Pressing bumper> 블록은 조건을 참 또는 거짓으로 보고하는 부울 리포터 블록입니다. <Pressing bumper> 블록과 같은 부울 블록은 다른 블록에 대한 육각형(6면) 입력이 있는 블록 내부에 맞습니다.
<Pressing bumper> 부울 블록은 범퍼를 누른 경우 'true'를 보고하고, 범퍼를 놓거나 누르지 않은 경우 'false'를 보고합니다. 부울 블록에 대해 자세히 알아보려면 도움말 또는 블록 모양 및 의미 기사를 참조하세요.
이 예에서는 위의 비디오에서 볼 수 있듯이 범퍼 스위치를 누를 때까지 로봇이 전진하도록 하기 위해 [Wait Until] 블록과 함께 <Pressing bumper> 블록을 사용합니다.
Python으로 범퍼 스위치 코딩하기
참고:VEX IQ(1세대) 범퍼 스위치를 Python으로 코딩하려면 VEX IQ(2세대) Brain에 연결되어야 합니다. VEX IQ(1세대) Brain은 Python을 지원하지 않습니다.
범퍼_1.누르기()
범퍼.프레싱명령은 범퍼 스위치에 대한 true 또는 false 부울 값을 보고합니다.
범퍼.프레싱 명령은 범퍼가 눌려지면 'true'를 보고하고, 범퍼를 놓거나 누르지 않으면 'false'를 보고합니다.
참고:명령에 나타나는 범퍼 스위치의 이름은 구성에 지정된 이름과 일치합니다.
drivetrain.drive(FORWARD)
범퍼가 아닌 동안_1.pressing():
대기(20, MSEC)
드라이브트레인.stop()
이 예에서는 이 아닌 조건의While 루프가 범퍼와 함께 사용됩니다.명령을 누르면 위 비디오에 표시된 것처럼 범퍼 스위치를 누를 때까지 로봇이 전진하도록 합니다. .
Python에서 범퍼 스위치 코딩에 대해 자세히 알아보려면 컴퓨터 과학 레벨 1 - Python 과정의 단원 4를 확인하세요.