Welcome to L-Type Motor repository
12. Ultrasonic obstacle avoidance
Ultrasonic obstacle avoidance
Ultrasonic obstacle avoidance1. Software-Hardware2. Brief principle1. Hardware schematic diagram2. Physical connection diagram3. Control principle3. Main functions4. Experimental Phenomenon
This tutorial is a comprehensive experiment combining multiple peripherals. You can first understand a single peripheral before performing this experiment.
1. Software-Hardware
STM32F103CubeIDE
STM32 Robot Development Board
Ultrasonic module, 310 motor*4: external
Type-C data cable or ST-Link
Download programs or simulate the development board
2. Brief principle
1. Hardware schematic diagram

2. Physical connection diagram
- Ultrasonic Installation

- Motor Wiring


xxxxxxxxxxFor battery pack assembly, please see [5. Smart Car Experiment: Car Line Patrol]
3. Control principle
The distance of the object in front is obtained through the ultrasonic module, and the car is controlled to move forward, backward, turn left, and stop based on the distance.
xxxxxxxxxxThe ultrasonic module can obtain the distance of the obstacle in front, and we use this distance to determine the position of the obstacle on the car:If the obstacle is within the distance range set by the car, we call the car's stop, retreat and left turn functions in the corresponding judgment function;If the obstacle is not within the distance range set by the car, control the car to move forward.
- Program flow chart

| Module | Function |
|---|---|
| Ultrasonic module | External information collection: Obtaining the distance to obstacles |
| Motor | Motion Control |
3. Main functions
This tutorial does not use PID to control the movement of the car
xxxxxxxxxxThe functions introduced before will not be introduced again!
Function: Ultrasonic_avoidance
| Function prototype | void Ultrasonic_avoidance(uint16_t distance) |
|---|---|
| Function description | Ultrasonic following |
| Input parameters | distance: maximum obstacle avoidance distance |
| Return value | None |
xxxxxxxxxxFor the underlying driver, you can refer to the tutorials in Chapter 3 and Chapter 4.For the application layer, you can read the source code in the project file yourself
4. Experimental Phenomenon
After successfully downloading the program, press the RESET button on the development board to observe the effect of the car!
xxxxxxxxxxFor program download, please refer to [2. Development environment construction and use: program download and simulation]
Phenomenon:
Obstacle: The car backs up and then turns left
No obstacles: Car moves forward
For experimental phenomena, you can see [Ultrasonic Obstacle Avoidance_Experimental Phenomenon.mp4]