15. Case 13: Remote Control with Joystick:bit

15.1. Purpose


  • Use the joystick:bit to control the Cutebot.

15.2. Materials


15.3. Software Platform


MicroSoft makecode

15.4. Programming


Step 1

  • Click the “Advanced” to see more choices in the MakeCode drawer.

https://raw.githubusercontent.com/elecfreaks/learn-cn/master/microbitKit/smart_cutebot/images/cutebot-pk-1.png

  • A codebase is required for Cutebot programming, click “Add Package” at the bottom of the drawer, search Cutebot in the dialogue box and download it.

https://raw.githubusercontent.com/elecfreaks/learn-cn/master/microbitKit/smart_cutebot/images/cutebot-pk-11.png

  • A codebase is required for Cutebot programming, click “Add Package” at the bottom of the drawer, search joystic in the dialogue box and download it.

https://raw.githubusercontent.com/elecfreaks/learn-cn/master/microbitKit/smart_cutebot/images/case_13_01.png

Note: If you met a tip indicating incompatibility of the codebase, you can continue with the tips or build a new project there.

Step 2: Joystick:bit Programming

  • Set “radio set group” to 1 in the On start brick.

  • The scope for X and Y is 0~1023, the theoretical value is 512 if the rocker is in the middle place , in this way we need to make 0~1023 map map in the scope of -100~100.

  • Set x whose value is given by “acceleration (mg) x” exactly divides 10 to the radio value in forever brick.

  • Set y whose value is given by “acceleration (mg) y” exactly divides 10 to the radio value in forever brick.

  • The scope of the acceleration value is 0~1024 , which can be regarded roughly as the speed value in 0~100 after dividing 10.

https://raw.githubusercontent.com/elecfreaks/learn-cn/master/microbitKit/smart_cutebot/images/case_13_02.png

Programming

Links: https://makecode.microbit.org/_ag2g2sc22hUp

You can also download it directly below:

Step 3: Cutebot Programming

  • Set the “radio set group” to 1 in the On start brick. Items must be the same with the remote control for the correct match.

  • Drag two “if” bricks into the on radio received brick and judge if the radio revived value name is x or y

  • If the radio received value name is x, it is the data for X and then save the value in the variable xValue.

  • If the radio received value name is y, it is the data for y and then save the value in the variable yValue.

  • In forever brick, set the left wheel speed to yValue+xValue and right wheel speed to yValue-xValue.

https://raw.githubusercontent.com/elecfreaks/learn-cn/master/microbitKit/smart_cutebot/images/case_12_02.png

Programming

Links: https://makecode.microbit.org/_6ExC8oRz3i6U

You can also download it directly below:

15.5. Result


  • The rocker controls the movement of the Cutebot.

15.6. Exploration


15.7. FAQ


15.8. Relevant Files