Welcome to 310 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 |