치즈 스틱 조이스틱이 리모컨이 되었어요!
깜찍한 햄스터 로봇을 이리저리 움직이도록 조종해요.
치즈 스틱과 햄스터를 블루투스로 연결해 움직이도록 하는 예제입니다.
조이스틱의 움직임에 따라 햄스터가 이동하게 하려면 어떻게 해야 하는지 알아봅니다.
로보메이션의 터틀 로봇도 같은 방법으로 활용 가능합니다.
부품을 준비해 주세요.
필요 재료 | 수량 |
---|---|
치즈 스틱 본체 | 1개 |
조이스틱 | 1개 |
햄스터 S (햄스터도 가능합니다.) | 1개 |
USB 동글 | 2개 (치즈 스틱과 햄스터 S를 USB 동글과 각각 연결해야 합니다.) |
컴퓨터 (로봇 코딩 소프트웨어 설치 필요) | 1대 |
하드웨어를 준비해 주세요.
- 치즈 스틱의 L, M 포트에 조이스틱을 연결합니다.
- 치즈 스틱, 햄스터 S와 USB 동글을 각각 1:1로 페어링 합니다.
- 로봇 코딩 소프트웨어를 실행해 로봇 찾기 버튼을 누르면 페어링 된 로봇이 화면에 나타납니다. (나타나지 않는다면, 페어링을 재 시도해 주세요)
- 사용할 프로그램에서 ‘여러 로봇’을 선택한 후 프로그램을 실행해 주세요.
코딩을 해요.
알고 가기
조이스틱은 막대처럼 생긴 레버를 위, 아래, 왼쪽, 오른쪽으로 밀거나 당겨서 방향을 조작하는 입력장치입니다.
우리는 주로 게임에 사용되는 것을 자주 보지만 산업현장에서 장비를 조종하는 데 쓰이기도 합니다.
항공기 등의 조종간으로도 사용된답니다.
순서도 그려보기
코드 작성 전 순서도를 만들면 앞으로 작업할 내용을 정리하고 전체 과정을 파악하는 데 도움이 됩니다.
순서도를 간략히 살펴보면 작동 시작 전 변수들의 값을 초기화 하는 과정을 거칩니다.
다음으로 조이스틱으로부터 버튼 혹은 레버 입력이 있는지 확인합니다.
입력이 확인되었다면 입력 값을 햄스터가 나아갈 바퀴 값으로 보내주는 과정을 거칩니다.
코딩 하기
1. 코딩에 활용할 속성을 추가합니다.
신호 추가하기
햄스터 동작을 지시할 신호를 추가합니다.
변수 추가하기
코드에 활용할 변수를 추가합니다.
2. 시작하기를 클릭하면 작동하는 코드를 작성합니다.
* 아래의 블록들은 연결해서 작성해야 하지만 설명을 위해 분리해 놓았어요.
초기값 설정 코드 작성하기
시작, 왼쪽 바퀴, 오른쪽 바퀴의 변수들의 초기값을 정합니다.
조이 스틱 레버의 기본값은 이론상 0~127~255이지만 이 값들은 실행할 때마다 조금씩 변화가 있을 수 있으니 직접 값을 확인해 본 후 조정해도 됩니다.
개념 짚어보기
이어서 코드를 작성하기 전 조이 스틱 레버의 값과 햄스터 진행 방향에 대해 알아봅니다.
먼저 레버의 기본값과 새로 정한 값을 비교해 보겠습니다.
다음으로 조이스틱의 움직임에 따라 변하는 X, Y값을 연산해 햄스터가 움직이는 속도를 변경합니다.
코드 작성 전 아래 그림을 통해 조이스틱과 햄스터의 움직임 사이의 연관성을 이해합니다.
왼쪽 바퀴, 오른쪽 바퀴 값 정하기
앞서 알아본 내용을 바탕으로 왼쪽 바퀴와 오른쪽 바퀴의 값을 정하는 코드를 작성해 봅시다.
먼저 변화하는 값을 실시간으로 반영하기 위해 ‘계속 반복하기’ 블록 내에 작성합니다.
‘만약 ~이라면 아니면~’ 블록을 활용해 시작 변수의 값이 ‘1’이면 바퀴가 움직이고 아니면 멈추도록 작성합니다.
3. 완성된 코드는 아래와 같습니다.
4. 움직임, 멈춤 동작을 정하는 코드를 작성합니다.
버튼2를 눌렀는지 실시간으로 감지하기 위해 ‘계속 반복하기’ 블록을 사용합니다.
버튼2로 움직임, 움직이지 않음 두 가지 동작을 수행해야 하므로 값이 2가 되면 다시 0이 되도록 코드를 작성합니다.
5. 햄스터 동작 코드를 작성합니다.
햄스터 동작 신호를 받은 뒤 햄스터가 동작하도록 하는 코드를 햄스터(s) 탭의 블록을 사용해 아래와 같이 코딩합니다.
세 가지 코드를 완성했다면 치즈 스틱 조이스틱을 가지고 햄스터를 원하는 방향으로 자유롭게 움직여 보세요!
응용 하기
치즈 스틱 조이 스틱으로 햄스터 외에 터틀과 같은 다른 로봇들도 움직여 보아요.