Welcome to Building:bit Superkit repository
1.Cannonball shooting
Cannonball shooting
Cannonball shooting1. Learning objectives2. Building blocks3. Motor wiring4. Code analysis5. Write and download the program6. Experimental phenomenon
1. Learning objectives
In this course, we mainly learn how to use Python programming to achieve that when the A button on the micro:bit motherboard is pressed, the catapult launches the "cannonball"; when the B button on the micro:bit motherboard is pressed, the catapult cannonball launch rod is reset.
2. Building blocks
For the building blocks steps, please refer to the installation drawings of [Assembly course]-[Mobile shooter] in the materials or the building blocks installation album.
3. Motor wiring
The motor wiring on the left side of the car is inserted into the M1 interface of the Super:bit expansion board, and the black wire is close to the battery side;
The motor wiring on the right side of the car is inserted into the M3 interface of the Super:bit expansion board, and the black wire is close to the battery side;
The building blocks servo wiring is inserted into the S1 interface of the Super:bit expansion board, and the orange servo wiring is inserted into the yellow pin of S1.
As shown below:

! Notes:
When conducting a course related to the building block servo for the first time, we need to remove the large gear installed on the servo and upload the program of this course to the micro:bit; then turn on the power switch of the Super:bit expansion board and wait for the building block servo to turn to the initial position; then, we can turn off the power, adjust the angle of the car's projection rod to be parallel to the ground, and then install the servo gear. (If you have used the catapult and servo-related programs before, you can skip this step).

4. Code analysis
For the program of this course, please see the Cannonball shooting.py file.
from microbit import *import superbitFirst, import the libraries needed for this lesson from microbit: the superbit library is compatible with the superbit expansion board;
xxxxxxxxxxdisplay.show(Image.HAPPY)superbit.servo270(superbit.S1, 105)display.show(Image.HAPPY): Display a smiley face pattern on the microbit dot matrix;
superbit.servo270(superbit.S1, 105): Initialize the building block servo to rotate to about 105°;
xxxxxxxxxxwhile True:if button_a.is_pressed():superbit.servo270(superbit.S1, 135)elif button_b.is_pressed():superbit.servo270(superbit.S1, 105)In an infinite loop, determine whether the A and B buttons on the microbit motherboard are pressed. If the A button is pressed, the servo rotates to 135° (fires the "cannonball"); if the B button is pressed, the servo rotates to 105° (the projection rod is reset).
5. Write and download the program
- Open the Mu software and enter the code in the editing window. Note! All English and symbols should be entered in English mode, use the Tab key for indentation, and the last line ends with a blank program.
- Click the thumb 'Check' button to check if there are any errors in our code. If a cursor or underline appears in a line, it means a syntax error. Please check and modify it. If there is no error, the lower left corner will prompt that there is no problem with the detection.

- Click the ‘REPL’ button to check whether the Superbit library has been downloaded. If not, please refer to [Preparation before class] --> [2.4 Python Programming Guide].

- After the program is written, connect the computer and the microbit mainboard with a microUSB data cable, and click the ‘Flash’ button to download the program to the micro:bit mainboard. (You need to click the ‘REPL’ button again to turn off the import library file function before you can download the program normally).

- If the download fails, please confirm whether the microbit is properly connected to the computer via the microUSB data cable and the Superbit Python library has been imported.
6. Experimental phenomenon
After the program is successfully downloaded, the micro:bit dot matrix will display a smiley face, as shown in the figure below. Turn on the power switch, and the servo will be initialized to 105° (projection rod reset). When we press the micro:bit A button, the car projection rod fires "cannonballs"; when we press the B button, the car projection rod resets.

If you need to restart, please press the reset button on the back of the micro:bit motherboard.