# 2. Basic Lesson ## 2.1 Go Forward ### 2.1.1 Preparation The motor ports on Qtruck are shown in the picture below. Please connect the motor cable to the motor port on the same side. ### 2.1.2 Learning Objective (1) Learn how to use motor block coding. (2) Program Qtruck to go forward. ### 2.1.3 Project Logic The Qtruck robot is equipped with two geared motors, which can be controlled through programming to drive the motors and achieve forward movement. ### 2.1.4 Program Writing * **Extension Package adding method** Online programming: click [https://makecode.microbit.org/](https://makecode.microbit.org) to enter the programming interface. After creating a new project, click **Extensions** to add the Hiwonder software package for programming. Add [https://github.com/Hiwonder/Startbit](https://github.com/Hiwonder/Startbit) for micor:bit V1.5. Add [https://github.com/Hiwonder/StartbitV2](https://github.com/Hiwonder/StartbitV2) for micro:bit V2.0. :::{Note} Please select the expansion package corresponding to the version of micro:bit. The version of micro:bit can be viewed at the lower right corner of the board. ::: * **Block Coding Learning**
Block Coding Class Function
Preparation for hardware device
Set PWM servo rotation and angle, and carry out central position calibration.
Set the speed of motor 1 and motor 2. The value ranges -100 to 100. When it is 0, motor stop working.
Delay coding block. Program will execute a specific program at setting time.
* **Block Coding Combination** The value setting method is as follows: The program is as follows: ### 2.1.5 Project Outcome Connect the micro:bit board only to your computer. After the program is transferred to micro:bit, insert it into the expansion board. Turn on micro:bit, and you will see Qtruck going forward. ## 2.2 Turning ### 2.2.1 Preparation The motor ports on Qtruck are shown in the picture below. Please connect the motor cable to the motor port on the same side. ### 2.2.2 Learning Objective (1) Learn about the logic of this feature and related block coding. (2) Program Qtruck to turn. ### 2.2.3 Project Logic There are two geared motors on Qtruck. Set the value of one of the servos to a negative value to implement turning. For example, set the motor 2 speed to a negative number, Qtruck turns right. ### 2.2.4 Program Writing * **Extension Package adding method** Online programming: click [https://makecode.microbit.org/](https://makecode.microbit.org/) to enter the programming interface. After creating a new project, click **Extensions** to add the Hiwonder software package for programming. Add [https://github.com/Hiwonder/Startbit](https://github.com/Hiwonder/Startbit) for micor:bit V1.5. Add [https://github.com/Hiwonder/StartbitV2](https://github.com/Hiwonder/StartbitV2) for micro:bit V2.0. :::{Note} Please select the expansion package corresponding to the version of micro:bit. The version of micro:bit can be viewed at the lower right corner of the board. ::: * **Block Coding Learning**
Coding Block Class Function
Preparation for hardware device
Set the speed of motor 1 and motor 2. The value ranges -100 to 100. When it is 0, motor stop working.
Delay coding block. Program will execute a specific program at setting time.
* **Block Coding Combination** The program is as follows: ### 2.2.5 Project Outcome Connect the micro:bit board only to your computer. After the program is transferred to micro:bit, insert it into the expansion board. When you place Qtruck on a flat surface and turn it on, Qtruck will turn right. ## 2.3 Driving ### 2.3.1 Preparation The motor ports on Qtruck are shown in the picture below. Please connect the motor cable to the motor port on the same side. ### 2.3.2 Learning Objective (1) Learn about the logic of this game and related block coding. (2) Program Qtruck to realize driving. ### 2.3.3 Project Logic By combining the motor's forward motion and turning, and setting pause durations, you can achieve a **"square path"** driving pattern. ### 2.3.4 Program Writing * **Extension Package adding method** Online programming: click [https://makecode.microbit.org/](https://makecode.microbit.org) to enter the programming interface. After creating a new project, click **Extensions** to add the Hiwonder software package for programming. Add [https://github.com/Hiwonder/Startbit](https://github.com/Hiwonder/Startbit) for micor:bit V1.5. Add [https://github.com/Hiwonder/StartbitV2](https://github.com/Hiwonder/StartbitV2) for micro:bit V2.0. :::{Note} Please select the expansion package corresponding to the version of micro:bit. The version of micro:bit can be viewed at the lower right corner of the board. ::: * **Block Coding Learning**
Coding Block Class Function
Set the speed of motor 1 and motor 2. The value ranges -100 to 100, which can control Qtruck's movement.
If two inputs are True, the result is True.
Create a variable and assign it as 0.
* **Block Coding** The value setting method is as follows: ### 2.3.5 Project Outcome Connect the micro:bit board only to your computer. After the program is transferred to micro:bit, insert it into the expansion board. Turn on Qtruck, it will go forward first, then turn left, and repeat this action four times. ## 2.4 Speed Adjustment ### 2.4.1 Preparation The motor ports on Qtruck are shown in the picture below. Please connect the motor cable to the motor port on the same side. ### 2.4.2 Learning Objective (1) Learn how to create variable. (2) Program Qtruck to automatically adjust speed while driving. ### 2.4.3 Project Logic There are two geared motors on Qtruck, you can control motor rotation by programming. ### 2.4.4 Program Writing * **Extension Package adding method** Online programming: click [https://makecode.microbit.org/](https://makecode.microbit.org) to enter the programming interface. After creating a new project, click **Extensions** to add the Hiwonder software package for programming. Add [https://github.com/Hiwonder/Startbit](https://github.com/Hiwonder/Startbit) for micor:bit V1.5. Add [https://github.com/Hiwonder/StartbitV2](https://github.com/Hiwonder/StartbitV2) for micro:bit V2.0. :::{Note} Please select the expansion package corresponding to the version of micro:bit. The version of micro:bit can be viewed at the lower right corner of the board. ::: * **Block Coding Learning**
Coding Block Class Function
Preparation for hardware device
Set the speed of motor 1 and motor 2. The value ranges -100 to 100. When it is 0, motor stop working.
Delay coding block. Program will execute a specific program at setting time.
* **Block Coding Combination** Create variables: The program is as follows: ### 2.4.5 Project Outcome Connect the micro:bit board to your computer. After the program is transferred to micro:bit, insert it into the expansion board. Turn on Qtruck, it will go forward at different speeds and go backward at different speeds, then stop moving.