一、电机A接线说明
元件 | TB6612FNG 引脚 | 功能 | 接线说明 |
---|
ESP32 | GPIO 25 | PWMA(PWM) | 控制转速 |
ESP32 | GPIO 26 | AIN1 | 控制方向 |
ESP32 | GPIO 27 | AIN2 | 控制方向 |
ESP32 | GPIO 33 | STBY | 芯片使能 |
电机 A | A01 / A02 | 电机输出 | 接到电机两端(无正负,反转调换) |
电源 | VM | 电机供电 | 接 5V 或电机需要的电压 |
电源 | VCC | 逻辑电压 | 接 ESP32 的 3.3V |
共地 | GND | 地 | ESP32、TB6612FNG、电源共地 |
TB6612FNG 的输出引脚:
TB6612FNG 引脚 | 对应电机 | 接电机端子 |
---|
A01 | 电机 A | 电机 A 的一个极 |
A02 | 电机 A | 电机 A 的另一个极 |
B01 | 电机 B | 电机 B 的一个极 |
B02 | 电机 B | 电机 B 的另一个极 |
二、示例代码:控制一个电机前进 → 停止 → 反转
点击查看代码
#include <Arduino.h>
#define AIN1 26 // 电机方向控制1
#define AIN2 27 // 电机方向控制2
#define PWMA 25 // 电机 PWM 控速
#define STBY 33 // 芯片使能
void setup() {
pinMode(AIN1, OUTPUT);
pinMode(AIN2, OUTPUT);
pinMode(STBY, OUTPUT);
// 设置 PWM 通道0: 频率1kHz,分辨率8位(0~255)
ledcSetup(0, 1000, 8);
ledcAttachPin(PWMA, 0);
/*ledcSetup(1, 1000, 8); // 通道1
ledcAttachPin(PWMB, 1);*/
digitalWrite(STBY, HIGH); // 激活 TB6612FNG
}
void loop() {
// 正转
digitalWrite(AIN1, HIGH);
digitalWrite(AIN2, LOW);
ledcWrite(0, 200); // 占空比调节速度(0~255)
delay(3000); // 转3秒
// 停止
ledcWrite(0, 0);
delay(2000);
// 反转
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, HIGH);
ledcWrite(0, 200);
delay(3000);
// 停止
ledcWrite(0, 0);
delay(2000);
}