arduino小车,准备(一):TB6612FNG电机驱动器

对于6612我脑子里只有组里前辈说过的一句话:“别把线接错了,接错就烧了?”

arduino小车,准备(一):TB6612FNG电机驱动器_第1张图片
6612就是整个小车的心脏arduino板发送信息给6612然后6612驱动马达转动,于是小车就转起来了。
在驱动器的VM接口要接12V电源为电机供电,而VCC要接5V电源为芯片供电并于微控制器通信。这两个如果接反了?,6612就废了。
以下为每个引脚的功能:

  1. VM:电机电压,负责为电机供电,接12V电压;
  2. VCC:逻辑电压,为芯片供电并与微控制器通信,接5V电压;
  3. GND:电机电压与逻辑电压的公共接地;
  4. STBY:正常工作待机状态的工作引脚接3.3V电压;
  5. AO1/AO2:A电机的两个输出端口;
  6. BO1/BO2:B电机的两个输出端口;
  7. AIN1/AIN2:A电机的两个输入端口,控制A电机转向;
  8. BIN1/BIN2:B点击的两个输入端口,控制B电机转向 ;
  9. PWMA:A电机信号输入端,控制A电机转速;
  10. PWMB:B电机信号输入端,控制B电机转速;
    arduino小车,准备(一):TB6612FNG电机驱动器_第2张图片

示例代码:

int PWMA=3;
int PWMB=5;
int AIN1=8;
int AIN2=9;
int STBY=10;
int BIN1=11;
int BIN2=12;
void setup()
{
	pinMode(PWMA,OUTPUT);
	pinMode(AIN1,OUTPUT);
	pinMode(AIN2,OUTPUT);
	
	pinMode(PWMB,OUTPUT);
	pinMode(BIN1,OUTPUT);
	pinMode(BIN2,OUTPUT);
	
	pinMode(STBY,OUTPUT);
}
void loop()
{
	move(1,255,1);
	move(2,255,1);
}
void move(int motor,int  pwm,int mode)
{
	boolean pin1=HIGH;
	boolean pin2=LOW;
	if(mode!=1)
	{
		pin1=LOW;
		pin2=HIGH;
	}
	digitalWrite(STBY,HIGH);
	if(motor==1)
	{
		digitalWrite(AIN1,pin1);
		digitalWrite(AIN2,pin2);
		analogWrite(PWMA,pwm);
	}
	else
	{
		digitalWrite(BIN1,pin1);
		digitalWrite(BIN2,pin2);
		analogWrite(PWMB,pwm);
	}
}

你可能感兴趣的:(arduino,小车项目)