English โข ะ ัััะบะธะน
ะะฒัะพะฝะพะผะฝัะน ัะพะฑะพั-ะฑะฐะปะฐะฝัะธั ะฝะฐ ะดะฒัั ะบะพะปััะฐั ั ะปะธะฝะธะตะน, ะฟัะตะฟััััะฒะธัะผะธ ะธ ัะฟัะฐะฒะปะตะฝะธะตะผ ัะตัะตะท ะฒะตะฑ-ะธะฝัะตััะตะนั.
- esp32_robot_main.ino - ะพัะฝะพะฒะฝะฐั ะฟัะพะณัะฐะผะผะฐ ัะพะฑะพัะฐ
- web_interface.h - ะฒะตะฑ-ะธะฝัะตััะตะนั ั ะดะถะพะนััะธะบะพะผ
- test_line_sensor.ino - ัะตัั ะดะฐััะธะบะฐ ะปะธะฝะธะธ (5 ะดะฐััะธะบะพะฒ)
- test_distance_sensor.ino - ัะตัั ะดะฐััะธะบะฐ ัะฐัััะพัะฝะธั (VL53L0X)
- test_motors.ino - ัะตัั ะผะพัะพัะพะฒ (ัะบะพัะพััั ะธ ัะธะฝั ัะพะฝะธะทะฐัะธั)
- test_servo_gripper.ino - ัะตัั ัะตัะฒะพะผะพัะพัะพะฒ ะทะฐั ะฒะฐัะฐ (ะดะฒะต ัะตัะฒะพ)
- test_gyro.ino - ัะตัั ะณะธัะพัะบะพะฟะฐ/ะฐะบัะตะปะตัะพะผะตััะฐ (MPU6050)
- LineFollower.h/.cpp
- Control.h/.cpp
- MPU6050.h/.cpp
- Motors.h/.cpp
- defines.h, globals.h/.cpp
ะ esp32_robot_main.ino:
String sta_ssid = "YourWiFiSSID";
String sta_password = "YourWiFiPassword";ะะธะฑะปะธะพัะตะบะธ ะฝัะถะฝั:
- AsyncTCP
- ESPAsyncWebServer
- VL53L0X
http://192.168.X.X
- ะะฒะตัั -ะฒะฝะธะท = Throttle (ัะบะพัะพััั)
- ะะปะตะฒะพ-ะฒะฟัะฐะฒะพ = Steering (ะฟะพะฒะพัะพั)
- โถ ะััะผะพ - ะตั ะฐัั 2 ัะตะบ, ะฟะพัะพะผ ะปะธะฝะธั
- ใฐ ะะธะฝะธั - ัะปะตะดะธัั ะทะฐ ะปะธะฝะธะตะน
- โน ะกัะพะฟ - ะพััะฐะฝะพะฒะบะฐ
- ะ ะฐัััะพัะฝะธะต ะดะพ ะฟัะตะฟััััะฒะธั (ะผะผ)
- 5 ะดะฐััะธะบะพะฒ ะปะธะฝะธะธ (ะณัะฐัะธะบ)
- ะฃะณะพะป ะฝะฐะบะปะพะฝะฐ
- ะกัะฐััั ัะบะปะพะฝะฐ
1. IDLE (ะถะดัั ะบะพะผะฐะฝะดั)
โโ ะะฝะพะฟะบะฐ "ะััะผะพ" โ STRAIGHT
โโ ะะฝะพะฟะบะฐ "ะะธะฝะธั" โ LINE_FOLLOW
โโ ะะฝะพะฟะบะฐ ะะฐั
ะฒะฐัะฐ โ ะัะบัััั/ะะฐะบัััั (ะฝะตะทะฐะฒะธัะธะผะพ)
2. STRAIGHT (2 ัะตะบ ะดะฒะธะถะตะฝะธะต ะฒะฟะตััะด)
โโ ะะฒัะพะผะฐัะธัะตัะบะธะน ะฟะตัะตั
ะพะด โ LINE_FOLLOW
3. LINE_FOLLOW (ัะปะตะดะธั ะทะฐ ะปะธะฝะธะตะน)
โโ ะัะปะธ ะฒะธะดะธั ะฟัะตะฟััััะฒะธะต โ STOPPED
โโ ะัะปะธ ัะบะปะพะฝ โ ะทะฐะผะตะดะปะตะฝะธะต (ร0.5)
โโ ะะฐั
ะฒะฐั ัะฟัะฐะฒะปัะตััั ะพัะดะตะปัะฝะพ
4. STOPPED (ะฟัะตะฟััััะฒะธะต ะพะฑะฝะฐััะถะตะฝะพ)
โโ ะะพัะพัั ะพััะฐะฝะพะฒะปะตะฝั
โโ ะะฝะพะฟะบะฐ "ะกัะพะฟ" โ IDLE
ะะฐั
ะฒะฐั (ะฝะตะทะฐะฒะธัะธะผัะน):
- ะัะบัััั: 180ยฐ (ะผะพะถะฝะพ ะฒ ะปัะฑะพะน ะผะพะผะตะฝั)
- ะะฐะบัััั: 90ยฐ (ะผะพะถะฝะพ ะฒ ะปัะฑะพะน ะผะพะผะตะฝั)
// ะะฐะณััะทะธัั: test_line_sensor.ino
// Serial Monitor: 115200 baud
// ะัะฒะพะดะธั: Raw values, Calibrated, ASCII ะณัะฐัะธะบ// ะะฐะณััะทะธัั: test_distance_sensor.ino
// Serial Monitor: 115200 baud
// ะัะฒะพะดะธั: ะ ะฐัััะพัะฝะธะต ะฒ ะผะผ, ััะฐััั, ASCII ะณัะฐัะธะบ
// ะัะพะฒะตััะตั: 0-200mm (ะพัะตะฝั ะฑะปะธะทะบะพ) ะดะพ >1000mm (ะดะฐะปะตะบะพ)// ะะฐะณััะทะธัั: test_motors.ino
// Serial Monitor: 115200 baud
// ะขะตััั:
// 1. ะะฑะฐ ะผะตะดะปะตะฝะฝะพ ะฒะฟะตััะด
// 2. ะะฑะฐ ะฑััััะพ ะฒะฟะตััะด
// 3. ะะฑะฐ ะฝะฐะทะฐะด
// 4. ะ ะฐะทะฝัะต ัะบะพัะพััะธ (ัะธะฝั
ัะพะฝะธะทะฐัะธั)
// ะัะฒะพะดะธั: ะะพะปะธัะตััะฒะพ ัะฐะณะพะฒ, ัะพะพัะฝะพัะตะฝะธะต ัะบะพัะพััะตะน// ะะฐะณััะทะธัั: test_servo_gripper.ino
// Serial Monitor: 115200 baud
// ะขะตััั:
// 1. ะะตะฒะฐั ัะตัะฒะพ: 0ยฐ โ 180ยฐ โ 0ยฐ
// 2. ะัะฐะฒะฐั ัะตัะฒะพ: 0ยฐ โ 180ยฐ โ 0ยฐ
// 3. ะะฑะต ะฒะผะตััะต (ะัะบัััั 180ยฐ โ ะะฐะบัััั 90ยฐ โ ะกะฑัะพั 0ยฐ)
// ะะธะฝั: GPIO 13 (ะปะตะฒะฐั), GPIO 33 (ะฟัะฐะฒะฐั)
// ะัะฒะพะดะธั: ASCII ะณัะฐัะธะบ ัะณะปะพะฒ ะฟะพะฒะพัะพัะฐ// ะะฐะณััะทะธัั: test_gyro.ino
// Serial Monitor: 115200 baud
// ะัะพะฒะตััะตั: WHO_AM_I (0x68), ะทะฐัะตะผ ัะธัะฐะตั ะดะฐะฝะฝัะต
// ะัะฒะพะดะธั:
// - ะะธัะพัะบะพะฟ X/Y/Z (ยฐ/ัะตะบ)
// - ะะบัะตะปะตัะพะผะตัั X/Y/Z (g)
// - ะฃะณะปั Pitch / Roll
// - ะขะตะผะฟะตัะฐัััั (ยฐC)
// ะะธะฝั I2C: SDA=GPIO 21, SCL=GPIO 22#define DISTANCE_THRESHOLD 300 // ะกัะพะฟ < 300ะผะผ
#define STRAIGHT_TIME 2000 // 2 ัะตะบ ะฟััะผะพ
#define SLOPE_ACCEL_THRESHOLD 2000 // ะะพัะพะณ ัะบะปะพะฝะฐ
#define MAX_THROTTLE 550 // ะะฐะบั ัะบะพัะพััั
#define MAX_STEERING 140 // ะะฐะบั ะฟะพะฒะพัะพัI2C (ะดะปั ะดะฐััะธะบะพะฒ):
GPIO 21 (SDA) โ MPU6050, VL53L0X
GPIO 22 (SCL) โ MPU6050, VL53L0X
ะะพัะพัั (ะดะฒะธะถะตะฝะธะต):
GPIO 27 โ Motor1 DIR (ะฝะฐะฟัะฐะฒะปะตะฝะธะต)
GPIO 14 โ Motor1 STEP (ัะฐะณะธ)
GPIO 25 โ Motor2 DIR (ะฝะฐะฟัะฐะฒะปะตะฝะธะต)
GPIO 26 โ Motor2 STEP (ัะฐะณะธ)
GPIO 12 โ Enable (ะฒะบะปััะตะฝะธะต)
ะะฐั
ะฒะฐั (ะดะฒะต ัะตัะฒะพ):
GPIO 13 โ Servo Left (ะปะตะฒะฐั ััะบะฐ)
GPIO 33 โ Servo Right (ะฟัะฐะฒะฐั ััะบะฐ)
ะะฐััะธะบ ะปะธะฝะธะธ:
GPIO 34 โ S1 (ะปะตะฒัะน ะบัะฐะน)
GPIO 35 โ S2 (ะปะตะฒะฐั ัะตัะฒะตััั)
GPIO 36 โ S3 (ัะตะฝัั)
GPIO 39 โ S4 (ะฟัะฐะฒะฐั ัะตัะฒะตััั)
GPIO 32 โ S5 (ะฟัะฐะฒัะน ะบัะฐะน)
ะ ะพะฑะพั ะฝะต ะฟะพะดะบะปััะฐะตััั:
- ะัะพะฒะตัะธัั SSID/ะฟะฐัะพะปั WiFi
- ะกะผะพััะตัั Serial Monitor (115200)
ะะต ะฑะฐะปะฐะฝัะธััะตั:
- ะัะพะฒะตัะธัั I2C (MPU6050)
- ะัะพะฒะตัะธัั ะผะพัะพัั (test_motors.ino)
ะะต ัะปะตะดะธั ะทะฐ ะปะธะฝะธะตะน:
- ะะฐะปะธะฑัะพะฒะฐัั ะดะฐััะธะบ (test_line_sensor.ino)
- ะัะพะฒะตัะธัั ะบะพะฝััะฐััะฝะพััั ะปะธะฝะธะธ
ะะต ะฒะธะดะธั ะฟัะตะฟััััะฒะธะต:
- ะขะตัั ะดะฐััะธะบะฐ (test_distance_sensor.ino)
- ะััะตะณัะปะธัะพะฒะฐัั DISTANCE_THRESHOLD
- ESP32 ะฟะพะดะบะปััะตะฝะฐ
- ะัะต ะดะฐััะธะบะธ ะฟะพะดะบะปััะตะฝั
- WiFi SSID/ะฟะฐัะพะปั ะฒะฒะตะดะตะฝั
- test_motors.ino ะฟัะพั ะพะดะธั
- test_line_sensor.ino ัะฐะฑะพัะฐะตั
- test_distance_sensor.ino ัะฐะฑะพัะฐะตั
- ะะตะฑ-ะธะฝัะตััะตะนั ะพัะบััะฒะฐะตััั
ะะตััะธั: 3.0 (ั ะฒะตะฑ-ะธะฝัะตััะตะนัะพะผ)
ะกัะฐััั: โ
Production Ready
โโโโโโโโโโโโโโโโโโโโโโโ
โ ESP32-30 โ
GND โ โฌค โฌค โฌค โฌค โฌค โฌค โฌค โฌค โ 3.3V
GND โ โฌค โฌค โ VUSB
3.3V โ โฌค โฌค โ GND
RST โ โฌค โฌค โ EN
12 โ โฌค ENABLE MOTORS โฌค โ 27 (MOTOR1_DIR)
13 โ โฌค SERVO โฌค โ 25 (MOTOR2_DIR)
14 โ โฌค MOTOR1_STEP โฌค โ 32 (LINE_S5)
26 โ โฌ โฌ โ 33 (BUZZER)
35 โ โฌ LINE_S2 โฌ โ 34 (LINE_S1)
39 โ โฌ LINE_S4 โฌ โ 36 (LINE_S3)
GND โ โฌ โฌ โ GND
GND โ โฌ โฌ โ 15
23 โ โฌ VSPI_MOSI โฌ โ 2 (WIFI_LED)
22 โ โฌ SCL (I2C) โฌ โ 4
21 โ โฌ SDA (I2C) โฌ โ 5
19 โ โฌ VSPI_MISO โฌ โ 18 (VSPI_CLK)
GND โ โฌ โฌ โ GND
GND โ โฌ โฌ โ 17
16 โ โฌ RX2 โฌ โ GND
โโโโโโโโโโโโโโโโโโโโโโโ
Motor 1:
โโโโโโโโโโโโโโโโโโโโ
โ NEMA17 Motor โ
โโโโโโโโโโโโโโโโโโโโค
โ DIR โโโโโโ GPIO 27
โ STEP โโโโโ GPIO 14
โ GND โโโโโโ GND
โ +12V โโโโโ 12V (ัะตัะตะท ะดัะฐะนะฒะตั)
โโโโโโโโโโโโโโโโโโโโ
Motor 2:
โโโโโโโโโโโโโโโโโโโโ
โ NEMA17 Motor โ
โโโโโโโโโโโโโโโโโโโโค
โ DIR โโโโโโ GPIO 25
โ STEP โโโโโ GPIO 26
โ GND โโโโโโ GND
โ +12V โโโโโ 12V (ัะตัะตะท ะดัะฐะนะฒะตั)
โโโโโโโโโโโโโโโโโโโโ
Motor Enable:
GPIO 12 โ Motor Driver Enable
GND โโโโโ GND
โโโโโโโโโโโโโโโโโโโโ
โ MPU6050 โ
โโโโโโโโโโโโโโโโโโโโค
โ SDA โโโโโโ GPIO 21 (I2C)
โ SCL โโโโโโ GPIO 22 (I2C)
โ GND โโโโโโ GND
โ VCC โโโโโโ 3.3V
โ INT โโโโโโ ะฝะต ะฟะพะดะบะปััะฐัั (ะพะฟัะธะพะฝะฐะปัะฝะพ)
โโโโโโโโโโโโโโโโโโโโ
I2C ะฐะดัะตั: 0x68
โโโโโโโโโโโโโโโโโโโโ
โ VL53L0X โ
โโโโโโโโโโโโโโโโโโโโค
โ SDA โโโโโโ GPIO 21 (I2C)
โ SCL โโโโโโ GPIO 22 (I2C)
โ GND โโโโโโ GND
โ VCC โโโโโโ 3.3V
โ XSHUT โโโโ ะฝะต ะฟะพะดะบะปััะฐัั (ะพะฟัะธะพะฝะฐะปัะฝะพ)
โโโโโโโโโโโโโโโโโโโโ
I2C ะฐะดัะตั: 0x29
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Ldabrye Line Sensor Array โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ S1 (ะะตะฒัะน) โโ GPIO 34 (ADC)
โ S2 โโ GPIO 35 (ADC)
โ S3 (ะฆะตะฝัั) โโ GPIO 36 (ADC)
โ S4 โโ GPIO 39 (ADC)
โ S5 (ะัะฐะฒัะน) โโ GPIO 32 (ADC)
โ GND โโ GND
โ VCC โโ 5V
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Servo Left (MG996R) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Signal โโโโโ GPIO 13 (PWM)
โ GND โโโโโโโโ GND
โ VCC โโโโโโโโ 5V
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Servo Right (MG996R) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Signal โโโโโ GPIO 33 (PWM)
โ GND โโโโโโโโ GND
โ VCC โโโโโโโโ 5V
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ะฃะณะปั:
- OPEN (180ยฐ) - ะทะฐั
ะฒะฐั ะพัะบััั
- CLOSE (90ยฐ) - ะทะฐั
ะฒะฐั ะทะฐะบััั
WiFi LED:
GPIO 2 โ LED+ โ โ โ 220ฮฉ โ GND
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Power Distribution โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Battery/PSU โ
โ โโโ 5V โโโโโ 5V ัะธะฝะฐ โ
โ โ โโโ Line Sensor VCC โ
โ โ โโโ VL53L0X VCC โ
โ โ โโโ Servo Left + Right โ
โ โ
โ โโโ 12V โโโโ Motor Driver โ
โ โ โโโ Stepper Motors โ
โ โ
โ โโโ 3.3V โโโ ESP32 (Zener) โ
โ โ โโโ MPU6050 VCC โ
โ โ
โ โโโ GND โโโโ GND ัะธะฝะฐ (ะะะฉะะฏ)โ
โ โโโ ESP32 GND โ
โ โโโ ะัะฐะนะฒะตั GND โ
โ โโโ ะะฐััะธะบะธ GND โ
โ โโโ ะกะตัะฒะพ GND โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๏ธ ะะ ะะขะะงะะ:
- ะัะต GND ะดะพะปะถะฝั ะฑััั ัะพะตะดะธะฝะตะฝั ะฒะผะตััะต!
- ะกะตัะฒะพ ััะตะฑััั ะพัะดะตะปัะฝัะน ะธััะพัะฝะธะบ ะฟะธัะฐะฝะธั (5V ะผะพัะฝัะน!)
- ะะฐัะธัะฐัั ัะธะณะฝะฐะปั ัะตัะฒะพ ะพั ะฟะพะผะตั
ะผะพัะพัะพะฒ
I2C (GPIO 21, 22):
โโ 3.3V โ Pull-up 4.7K โ GPIO 22 (SCL) โ MPU6050 SCL
โโ 3.3V โ Pull-up 4.7K โ GPIO 21 (SDA) โ MPU6050 SDA
โ โโ VL53L0X SDA/SCL
โโ GND โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ ะะฑะฐ ะดะฐััะธะบะฐ GND
ะะะฆ (Line Sensors):
GPIO 34 โ Sensor1 (ADC1_CH6)
GPIO 35 โ Sensor2 (ADC1_CH7)
GPIO 36 โ Sensor3 (ADC1_CH0)
GPIO 39 โ Sensor4 (ADC1_CH3)
GPIO 32 โ Sensor5 (ADC1_CH4)
Motor Control:
GPIO 27 โ ะัะฐะนะฒะตั DIR1 โ Motor1 DIR
GPIO 14 โ ะัะฐะนะฒะตั STEP1 โ Motor1 STEP
GPIO 25 โ ะัะฐะนะฒะตั DIR2 โ Motor2 DIR
GPIO 26 โ ะัะฐะนะฒะตั STEP2 โ Motor2 STEP
GPIO 12 โ ะัะฐะนะฒะตั ENABLE
ะัะดะธะพ/ะะธะทัะฐะปัะฝะพ:
GPIO 33 โ Buzzer
GPIO 2 โ WiFi LED
โโโโโโโโโโโโโโโโโโโโ
โ ESP32 โ
โโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโโโโ
โ Motors โ โ Sensors โ โ WiFi/Web โ
โ โโโโโโ โ โ โโโโโโโโ โ โ โโโโโโโโ โ
โ M1/M2 โ โ MPU6050 โ โ Interfaceโ
โ Driver โ โ VL53L0X โ โ Browser โ
โ 12V โ โ LineSensorโ โ Joystick โ
โโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโโโโ
โ โ โ
โโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโ
โ
[Battery]
ะะฐ ััะพะปะต:
1. GPIO 21/22 (I2C) โ ะดะฐััะธะบะธ
- SDA โ GPIO 21 (MPU6050, VL53L0X)
- SCL โ GPIO 22 (MPU6050, VL53L0X)
- 3.3V, GND
2. GPIO 34/35/36/39/32 (ADC) โ ะดะฐััะธะบ ะปะธะฝะธะธ
- S1-S5 โ GPIO 34/35/36/39/32
- 5V, GND
3. GPIO 27/14/25/26/12 (Motor) โ ะดัะฐะนะฒะตั
- DIR/STEP โ GPIO 27/14/25/26
- Enable โ GPIO 12
- GND, 12V
4. GPIO 13/33 (PWM) โ ัะตัะฒะพะผะพัะพัั ะทะฐั
ะฒะฐัะฐ
- Servo Left โ GPIO 13
- Servo Right โ GPIO 33
- GND, 5V (ะพัะดะตะปัะฝัะน ะธััะพัะฝะธะบ!)
5. ะัะพะฒะตัะธัั:
[ ] ะัะต 3.3V ัะพะตะดะธะฝะตะฝั
[ ] ะัะต GND ัะพะตะดะธะฝะตะฝั (ะะะฉะะฏ ะทะตะผะปั!)
[ ] MPU6050 + VL53L0X ะฝะฐ I2C (GPIO 21/22)
[ ] I2C Pull-up ัะตะทะธััะพัั (4.7K)
[ ] ะะฐััะธะบ ะปะธะฝะธะธ ะฝะฐ GPIO 34/35/36/39/32
[ ] ะะพัะพัั ะฝะฐ GPIO 27/14/25/26/12
[ ] ะกะตัะฒะพะผะพัะพัั ะฝะฐ GPIO 13 ะธ GPIO 33
[ ] ะะธัะฐะฝะธะต ัะตัะฒ ะพัะดะตะปัะฝะพะต ะธ ะผะพัะฝะพะต!
[ ] ะะธัะฐะฝะธะต ะผะพัะพัะพะฒ 12V ะพัะดะตะปัะฝะพะต
ะัะปะธ ะดะฐััะธะบะธ ะฝะต ะพัะฒะตัะฐัั, ะดะพะฑะฐะฒะธัั:
GPIO 22 (SCL):
3.3V โโ[4.7K]โโโฌโโ GPIO 22
โ
MPU6050 SCL
VL53L0X SCL
GPIO 21 (SDA):
3.3V โโ[4.7K]โโโฌโโ GPIO 21
โ
MPU6050 SDA
VL53L0X SDA
ะะตััะธั ัั
ะตะผั: 1.0
ะะพัะปะตะดะฝะตะต ะพะฑะฝะพะฒะปะตะฝะธะต: 2026-06-07