【상급편】micro:bit로 탱크를 조종한다

소개



이 기사는 micro:bit로 전차를 조종하기 위한 개발 순서를 초급·중급·상급으로 나누어 소개하고 있습니다. 사용 기재나 개발 스텝은 요약 로 소개하고 있습니다.

*정리의 기사를 읽고 시작된 분은, 전차의 차체를 제작하고 나서, 이 기사를 읽으면 좋을 것입니다!

마지막까지


  • 서장
  • 초급편은 이쪽
  • 중급편은 이쪽

  • 상급편



    중급편 에서는, 버튼을 사용해 무선 통신으로 전진·후퇴시키는 프로그램을 만들었습니다. 상급편에서는, 버튼+가속도 센서를 사용해 전차를 전후 좌우 자유롭게 조종할 수 있도록 프로그램을 만들어 보고 싶습니다.

    송신측



    먼저 중급편에서 만든 프로그램을 바탕으로 가속도 센서를 어떻게 사용하는지 살펴 보겠습니다. 가속도 센서의 블록은 메뉴의 "입력"에 있습니다. 센서와 함께 메뉴의 「논리」에서 「0 < 0」이라고 적힌 블록을 내보냅니다.

    이 두 블록을 결합하여 숫자와 문자를 이렇게 변경합니다.

    이 블록은 "가속도 Y (세로 방향 기울기)가 -700보다 작아졌을 때"라는 조건이되었습니다. 가속도의 기울기는 -1023~1023 사이에서 변화하고, micro:bit를 앞으로 쓰러뜨리면 Y의 기울기는 마이너스측으로 커지고, 뒤쪽으로 쓰러뜨리면 플러스측으로 커집니다. 가로로 쓰러 뜨리면 X의 기울기가 변경됩니다.

    이 조건을 사용하여 micro : bit를 앞으로 쓰러 뜨릴 때 "forward"를 보내고 뒤로 쓰러 뜨릴 때 "back"을 보내는 프로그램을 만듭니다. 그리고 오른쪽 선회, 왼쪽 선회는 A 버튼, B 버튼을 누를 때 조건을 변경합니다.


    김에 쓰러뜨렸을 때의 표시도 덧붙여 보았습니다. 이것으로 제대로 조건식 안에 들어가 있는지 확인할 수 있습니다. "stop"을 보낼 때의 조건은 "기울기가 -700보다 크고, 기울기가 700보다 작을 때"입니다. 이와 같이 조건식 자체를 「카츠」라는 블록으로 합체시킬 수도 있습니다.
    "cw"와 "ccw"는 시계 주위, 반시계 주위의 의미입니다.

    수신측



    수신측의 프로그램도 중급편의 프로그램을 바탕으로 개량해 나갑니다.


    조금 길지만 이런 느낌으로 만들어 봅시다. 선회할 때의 타이어의 회전 방향을 생각해 보면, 타이어는 좌우로 역방향으로 회전하네요. 전진·후퇴의 때와 선회의 때로, 디지털 출력하는 단자가 다른 것을 확인할 수 있다고 생각합니다.

    도전



    그러면 마지막 챌린지입니다. 마지막으로 좌우의 선회를 좌우로 커브하도록 변경해 봅시다. 선회는, 그 자리에서 타이어를 좌우 역방향으로 회전시킴으로써 차체의 각도를 바꿀 수가 있습니다. 반대로 커브는 좌우 타이어의 회전 방향은 동일하지만 회전하는 속도를 좌우로 따로 돌리는 것으로 구부릴 수 있습니다. 회전 속도를 제어하는 ​​프로그램은 어디입니까? 또, 좌우의 스피드를 바꾸기 위해서는 회로도 조금 변경할 필요가 있군요. 회로도 이나 이전의 프로그램을 재검토해 노력해 보세요!

    참고・관련


  • 서장
  • 초급편은 이쪽
  • 중급편은 이쪽
  • 회로도는 이쪽
  • 좋은 웹페이지 즐겨찾기