Welcome to L-Type Motor repository
14. Infrared sensor obstacle avoidance
Infrared sensor obstacle avoidance
Infrared sensor 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
Infrared sensor: onboard
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
- Infrared sensor + ultrasonic module

- Motor Wiring


xxxxxxxxxxFor battery pack assembly, please see [5. Smart Car Experiment: Car Line Patrol]
3. Control principle
Obtain the distance to obstacles through infrared sensors and ultrasonic modules, and control the car's motion status (rotation, forward and backward) based on the distance.
xxxxxxxxxxThis project combines infrared sensors and ultrasonic modules to achieve obstacle avoidance functions. Ultrasonic waves are used to obtain the distance directly ahead, and infrared sensors are used to obtain the distances to both sides:If the obstacles directly in front of or on both sides of the ultrasonic wave are within the set distance, we call the car control function in the function (stop first and then retreat), and then control the car to turn left or right based on the left and right distance of the infrared sensor. This way, we can The car adjusted in time;If the obstacle is not within the set distance, control the car to move forward.
- Program flow chart

| Module | Function |
|---|---|
| Ultrasonic module | External information collection: Obtain the distance to the obstacle in front |
| Infrared sensor | External information collection: Get the distance to obstacles on both sides |
| 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: Ir_Ultrasonic_avoid
| Function prototype | void Ir_Ultrasonic_avoid(uint16_t distance) |
|---|---|
| Function description | Obstacle avoidance based on infrared and ultrasonic distance |
| Input parameters | Min_distance: obstacle avoidance distance |
| Return value | None |
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:
No obstacles: Car moves forward
Obstacles: Determine the distance between the left and right infrared sensors and rotate to the side farther from the obstacle.
The experimental phenomenon can be seen [Infrared Sensor Obstacle Avoidance_Experimental Phenomenon.mp4]Note: As can be seen from the program flow chart, the distance detected by ultrasonic waves will also trigger program judgment. If the ultrasonic module is not connected, the car will run abnormally!