본문 바로가기

자바 | 버튼과 가속도 센서 사용하기

OS 윈도우

software 자바

 

 

 

 

 

버튼과 가속도 센서 사용하기

 

 

마이크로 비트에는 몇 가지의 센서가 포함되어 있습니다.

마이크로 비트의 버튼과 가속도 센서 사용 방법을 알아보겠습니다.

 

마이크로 비트에는 'A'와 'B'라는 두 개의 버튼이 있습니다.

getButton() 메소드를 사용하여 버튼을 눌렀는지 여부를 확인할 수 있습니다.

getButton() 메소드는 하나의 매개 변수 ( 'A'또는 'B')를 필요로 하며,

버튼을 누르고 있으면 True를, 그렇지 않으면 False를 반환합니다.

 

 

62.png

 

 

 

 

 

 

예를 들어, 아래 코드는 버튼 A를 누르는 동안

삼색 LED를 보라색으로 설정합니다.

버튼에서 손을 떼면 삼색 LED가 꺼집니다.

 

 

 

 

 

 

 

 

not 연산자는 부울 값을 반전시킵니다.

값이 False이면 True로 변경하며 그 반대도 마찬가지입니다.

아래 코드는 어떻게 실행될까요?

생각해 보고, 테스트 해보세요.

 

image7-1 (1).png

 

 

 

 

 

 

마이크로 비트에는 가속도 센서가 포함되어 있습니다.

이 센서는 마이크로 비트의 방향을 측정하는 데 사용할 수 있습니다.

가속도 센서는 마이크로 비트가 거꾸로 되어있는 것을 감지 하거나

스마트폰 화면을 세로에서 가로로 변경할 수 있도록 하는 데 사용되기도 합니다.

 

getOrientation() 메소드를 사용하며, 매개 변수는 필요하지 않습니다.

마이크로 비트의 방향을 나타내는 문자열을 반환합니다.

가능한 값은 'Screen up', 'Screen down', 'Tilt left', 'Tilt right',

'Logo up', 'Logo down', 'In between' 입니다.

 

'In between' 은 위치가 아닌 방향을 나타냅니다.

 

 

65.png

 

 

 

 

 

 

예를 들어 아래 코드는 마이크로 비트의 방향이 'Tilt left'와 같은지 확인합니다.

값이 true이면 서보 모터가 0 °로 이동합니다. 그렇지 않으면 90 °로 이동합니다.

두 문자열이 같은지 확인하려면 equals() 메소드를 사용합니다.

 

 

image2-9.png

 

 

 

 

 

 

로봇이 가속도 센서의 여러 방향에 반응하도록 할 수도 있습니다.

이 경우 if-else if-else 문이 필요합니다.

if-else if-else 문은 여러 부울 식을 확인합니다.

 

예를 들어, 아래 코드에서 첫 번째 if는 마이크로 비트가

왼쪽으로 기울어져 있는지 확인합니다.

만약 그렇다면, 서보 모터는 0 °로 이동합니다.

그렇지 않다면 마이크로 비트가 오른쪽으로 기울어져 있는지 확인합니다.

만약 그렇다면 서보 모터가 180 °로 이동합니다.

 

마이크로 비트가 좌우로 기울어져 있지 않으면 서보 모터가 90 °로 이동합니다.

if 문을 계속 추가하여 여러 방향을 확인할 수 있습니다.

 

마이크로 비트가 'Logo down' 위치로 기울어지면

네 번째 각도로 이동하도록 아래 코드를 수정해 보세요.

 

 

image4-8.png

 

 

 

 

 

 

마이크로 비트가 다른 방향으로 이동할 때

if-else if-else 문을 사용하여 각각 다른 음표를 연주해 보세요.

 

각 음표를 연주 할 때 삼색 LED가 다른 색으로 바뀌도록

프로그래밍에 도전해 보세요!

 

 

 

 

 

 

맨위로