치즈 스틱과 조이스틱, 서보 모터를 활용해 성을 지키는 고무줄 총을 만들어요.
조이스틱의 PID 버튼2를 누르면 총에서 고무줄 2발이 발사돼요.
부품을 준비해 주세요.
필요 재료 | 수량 |
---|---|
치즈 스틱 본체 | 1개 |
조이스틱 | 1개 |
서보 모터 | 3개 |
USB 동글 | 1개 |
컴퓨터 | 1대(로봇 코딩 소프트웨어 설치 필요) |
요새 도안 | 가위 | 풀 |
양면 테이프 | 글루건 | 칼 |
드라이버 | 박스 | 골판지 |
예제에서 사용된 박스 사러 가기 : 160x120x70mm 박스 (클릭)
예제에서 사용된 골판지 사러 가기 : 390 X 290 X 3mm : 포장용 골판지 패드 (클릭)
하드웨어를 준비해요.
1. 요새 도안을 인쇄해 모양대로 오려줍니다. 도안은 우측 상단의 활동 도안 다운로드 버튼을 클릭해 다운로드 받으세요.
도안에는 1~14번 사이의 번호가 기재되어 있습니다.
2. 오려낸 도안들을 골판지에 붙여줍니다. 3번과 14번 도안은 제외하고 붙입니다.
3. 도안을 따라 골판지를 오려줍니다. 두께가 있어 잘 오려지지 않으니 조심해서 천천히 잘라주세요.
가위로 잘 오려지지 않는 부분은 칼을 이용해 오려줍니다. 이때 특히 주의하시기 바랍니다.
4. 박스를 접고 한쪽 부분을 테이프로 붙입니다.
5. 테이프를 붙이지 않은 쪽의 날개 4개를 모두 잘라줍니다.
6. 테이프를 붙여준 면에 성벽 모양의 14번 도안을 붙입니다.
7. 상자의 윗면에 박스 외관용인 3번 도안을 붙여준 뒤 가운데 자르는 선을 따라 오립니다.
8. 여러분만의 요새 이름을 적어주세요.
9. 총의 지지대 역할을 할 7, 8, 9, 10번 도안을 같은 모양끼리 글루건으로 붙입니다.
10. 13번 도안에 서보 모터를 꽂고 혼과 서보 모터를 나사로 연결해 줍니다.
11. 11번 도안 바닥에 글루건을 쏘고 12번 도안과 붙입니다.
12. 겹쳐서 붙인 11번, 12번 도안을 서보 모터를 꽂은 13번 도안 위에 글루건으로 붙여줍니다.
13. 글루건으로 이전 단계에서 만들어 놓은 지지대를 11번 도안의 십자 부분에 맞춰 붙입니다.
14. 지지대를 상자의 위쪽 부분 홈에 끼워 고정합니다.
15. 지지대가 잘 고정되어 있을 수 있도록 1번 도안에 글루건을 발라 박스의 바닥과 서보 모터 사이에 붙여줍니다.
16. 더 단단히 고정되도록 2번 도안도 글루건으로 1번 도안 밑에 붙여줍니다.
17. 4번 도안의 구멍을 펀치로 뚫습니다.
18. 총의 구멍에 서보 모터를 꽂고 반대편에 혼을 꽂은 뒤 나사를 조입니다.
19. 5번, 6번 도안에 글루건을 쏘아 포개어 붙입니다.
20. 19번에서 붙인 총을 4번 도안에 글루건으로 붙입니다.
21. 4, 5번 도안의 홈에 서보 모터를 꽂습니다. 서보 모터의 바닥이 닿는 부분에 글루건을 쏘아 고정합니다.
22. 4번 도안에 끼워 고정한 서보 모터를 지지대의 서보 모터 자리에 꽂습니다.
23. 이제 치즈 스틱과 서보 모터를 연결해 보겠습니다. 가장 위의 서보 모터는 Sa, 가운데 서보 모터는 Sb포트, 아래 서보 모터는 Sc포트에 연결합니다.
24. S포트의 반대쪽 L/M포트에 조이스틱을 연결합니다.
25. 로봇 코딩 소프트웨어를 실행한 후 프로그래밍 할 프로그램을 선택해 주세요.
26. 자, 이제 프로그램을 시작합니다!
코딩을 해요.
부품 알기
코딩을 시작하기 전 서보 모터와 조이스틱에 대해 알아봐요!
서보 모터에는 3개의 단자가 있습니다. 각각의 단자는 별도의 핀을 알리는 문구가 쓰여 있는 대신 케이블의 색으로 역할을 구분합니다.
일반적으로 3개의 케이블은 검은색(또는 갈색), 붉은색, 황색(또는 주황색, 흰색)으로 표시되어 있으며,
붉은색 선은 +전원, 검은색 선은 -전원에 연결되어 서보 모터에 전기를 공급하는 역할을 하며, 노란색 선은 서보 모터의 동작을 제어하는 신호선입니다.
조이스틱은 상하좌우로 방향을 조종할 수 있는 스틱과 버튼 입력이 가능한 빨간 버튼으로 이루어져 있습니다.
1. 코드에 사용할 속성을 추가합니다.
신호 추가하기
서보 모터의 움직임을 조절하는 코드로 신호를 보내는 신호를 추가합니다.
2. 동작을 지시하는 코드를 작성합니다.
* 아래의 블록들은 연결해서 작성해야 하지만 설명을 위해 분리해 놓았어요.
서보 모터 각도 초기화하기
프로그램 실행 시 서보 모터 3개의 각도를 모두 90도로 맞추는 코드입니다.
조이스틱 x1, y1 범위 설정하기
조이스틱을 사용하기 위해 ‘PID-13 조이스틱과 버튼 시작하기’ 블록을 가져옵니다.
레버의 현재 값은 프로그램을 실행할 때마다 매번 바뀌기 때문에 아래 코드를 활용하여 현재 레버가 가지는 중앙값과 최댓값을 확인한 후 값을 입력합니다.
바로 아래의 코드는 조이스틱 레버의 값 확인 후 삭제해도 무방합니다.
말하기 블록을 통해 찾은 값을 바탕으로 x1, y1의 값을 입력합니다.
x1, y1값의 변화를 쉽게 확인하고자 범위를 양수와 음수로 나눠 -10~10으로 정했습니다.
신호 보내기
코드를 실행하고 ‘서보 모터 움직임’ 신호를 보내면 신호를 받아 움직임을 감지하는 루프 안의 코드들을 계속 실행합니다.
고무줄 발사 코드 작성하기
조이스틱의 PID 버튼2(빨간 버튼)를 클릭하면 고무줄을 발사하는 코드입니다.
저는 2개의 고무줄을 발사하기 위해 왼쪽, 오른쪽 날개에만 고무줄을 걸어주었습니다.
3개를 연속으로 발사하고 싶은 경우 고무줄을 걸 때 오른쪽->가운데->왼쪽 순서로 걸어주면 0도 일 때 가운데 고무줄이 발사됩니다.
발사가 끝나면 초기값인 90도로 돌아오도록 작성했습니다.
3. 완성된 코드는 아래와 같습니다.
4. 조이스틱 레버로 포탑을 움직여 조준하는 코드를 작성합니다.
위아래 움직임
조이스틱을 위아래로 움직이면 고무줄을 발사하는 서보 모터가 고정된 총이 위아래로 움직이도록 조종하는 코드입니다.
레버를 위나 아래로 끝까지 밀 때마다 y1의 값을 감지하여 서보 모터의 각도를 0~180도 범위에서 5도씩 변경합니다.
오른쪽 왼쪽 움직임
총을 연결한 지지대가 오른쪽과 왼쪽으로 움직이도록 조종하는 코드입니다.
위아래 움직임을 감지하는 코드와 같은 구조로 x1 값의 변화를 활용합니다.
응용하기
조이스틱으로 포탑을 조종하여 다양한 거리의 목표물들을 맞혀 보세요.