Skip to content
← Rush Mog

Project files

6 KB

Machine-translated by Robotheca from the original in Chinese (opens in a new tab). License: Apache-2.0 (opens in a new tab).

Overall Design

Picture: integrate_archetecture.png

Other notes: The Raspberry Pi's USB port is connected to the camera.

Hardware Modules and Tools List

ModuleDescriptionPrice (CNY)
STM32f103C8T6Control board, serving as the central control unit.15
Car ChassisMetal chassis with JGB37520 motors featuring Hall-effect encoders and Mecanum omni-directional wheels350
L298N Quad DriverL298N motor driver for four-wheel drive28
Voice Control ModuleASR PRO voice control board25
Power and Conversion Board12V power supply with DC interface. Includes 12V to 5V and 3.3V conversion board.40
CameraOV2640 camera module10
Robotic ArmRobotic arm components with servos. Uses standard MG996 servos; serial bus servos or servo motors can be used for better performance, though they are more expensive.200
Servo DriverPCA9685 16-channel servo driver16
JQ6500MP3 player15
OLED ScreenOLED screen for displaying debugging/monitoring information10
TOF Distance SensorOpenMV expansion module to compensate for OpenMV's limitations in distance measurement10
GyroscopeMPU6050, used for monitoring the car's direction15
ESP32-S3-CAMUsed to create a Wi-Fi network for connecting to a mobile app35

Assembly Result

Picture: AGO.png

Module Description

Voice Recognition Module

Picture: asr-pro.jpg

Use the voice recognition module for speech recognition and convert it into commands to control the robot.

Control Center - STM32 Board

Picture: stm32f103c8t6.jpg

The STM32 board serves as the central control unit, receiving voice commands, converting them into motor driver instructions, and sending them to the motor driver. At the same time, it interfaces with the Raspberry Pi. After the Raspberry Pi performs image recognition, it sends control instructions back to the STM32, which drives the robotic arm servos based on the instructions.

The IO port allocation is as follows:

GPIOInterfaceFunction DescriptionIndicator Light
PA11Motor Driver IN1Left front motor control 1
PA10Motor Driver IN2Left front motor control 2
PA9Motor Driver IN3Left rear motor control 1
PA8Motor Driver IN4Left rear motor control 2
PB15Motor Driver IN5Right front motor control 1
PA14Motor Driver IN6Right front motor control 2
PB13Motor Driver IN7Right rear motor control 1
PA12Motor Driver IN8Right rear motor control 2
PA2UART2 TX to ASR Board PA6 RXVoice board serial communication
PA3UART2 RX to ASR Board PA5 TXVoice board serial communication
PB6IIC communication to Raspberry PiRaspberry Pi communication
PB7IIC communication to Raspberry PiRaspberry Pi communication
PB8IIC communication to Servo DriverServo driver communication
PB9IIC communication to Servo DriverServo driver communication
PB10UART3 TX to ESP8266 RX0PS2 controller communication
PB11UART3 RX to ESP8266 TX0PS2 controller communication
PB0Left side motor enableMotor usage control
PB1Right side motor enableMotor usage control
ESP32-S3-CAM

esp32-s3-cam.png

Car Chassis

The car chassis is assembled using the Pinduoduo Taobao chassis, JGB37 520 motor, and caster wheels. Pinduoduo also offers complete sets, which are slightly more expensive.

Picture: board.jpg Picture: motor.jpg Picture: wheel.jpg Picture: vehicle_method.jpg

Motor Driver Module

Picture: l298n.jpg

Uses the L298N motor driver to control the four motors of the car, enabling four-wheel drive.

Input voltage: 12 V Output voltage: 5 V, used to power the control board and other modules.

Robotic Arm

The robotic arm is assembled from parts purchased from Pinduoduo. It features six 180-degree servos.

Picture: robotic-arm.jpg

PCA9685 Servo Driver

Picture: servo-driver.jpg 16-channel servo driver

Vision Module

Uses OpenMV as the vision module Picture: OpenMV4.jpg Tutorial reference: https://singtown.com/openmv/ (opens in a new tab)

6-axis gyroscope

Picture: mpu6050.jpg

OLED Display

Picture: oled.jpg

GY53L0X TOF Rangefinder

Picture: gy530.jpg

Power and Voltage Conversion Board

The car operates at three voltage levels: 12V, 5V, and 3.3V. It is recommended to use a 12V power supply and convert the voltage using a voltage conversion board.

Picture: power_module.jpg

Audio amplifier

If the volume is too low, you can further amplify the sound with this amplifier. Picture: upper.jpg

Raspberry Pi

Picture: raspberry.jpg Raspberry Pi 4B+ performs image recognition and processing using the camera.

Assembly Notes

  • 1 Plan the motor driver and IO port connections and the robot car's direction in advance to avoid incorrect connections.
  • 2 Before assembling the robotic arm, debug the servos to ensure the arm's range of motion is within the servo's control range.
  • 3 Some ASRPro boards from certain sellers are fragile; do not power them with the voltage converted from a 12V lithium battery. If this is the case, request a refund or replacement.
  • 4 When connecting ASRPRO with STM32 and STM32 with PCA9685, ensure that the ground wires are connected together.

Files by @coregiu, at commit c9d4b8e, read from GitHub in your browser. Hardware license: Apache-2.0; software license: Apache-2.0. Robotheca doesn't review code: read it before running it.