Arduino学习笔记 TB6612FNG模块

TB6612FNG图片
在这里插入图片描述
没错,第一眼看到这个小片片儿心态就崩了,哪来的这么多接口?小小的东西有多大的能耐?多大?大得很,他是一台小车的核心之一。那么接下来就抛开他的原理(因为原理我也不清楚,哈哈)具体的讲一下如何使用这个心脏。

咱们先来讲一下6612上面的接口都是干嘛的

名称作用
AINl/AIN2、BIN1/BIN2、PWMA/PWMB控制信号输入端
AO1/AO2、BO1/BO2电机控制输出端
STBY正常工作/待机状态控制引脚;
VM:12V和VCC:5 V电机驱动电压输入和逻辑电平输入端
GND接地

18个口看似多的让人头疼,其实可以分为上面表格的五部分
1.输入端
2.输出端
3.STBY
4.电源
5.接地
接下来咱们在具体分块讲解

输入端

AINl/AIN2、BIN1/BIN2

一般情况下6612控制两个电机,也就是电机A和B,从名字也可以直观的看AIN,BIN是控制A和B的不同接口,就拿A举例子吧,AIN1,AIN2是通过杜邦线接到开发板上的,用来控制电机的正传和反转,如AIN1:1,AIN2:0正转,相应的0,1就是反转,0,0和1,1都是停转,BIN1,2与AIN1,2一样,就是控制的电机不同罢了。

PWMA/PWMB

同样,这个接口也是要接到开发板上的,以此来控制电机。
A\B电机信号输入端,控制A\B电机转速。

输出端

AO1/AO2、BO1/BO2

相对应AINl/AIN2、BIN1/BIN2,有输入就要有输出,你可以理解为AO1就是A电机的1号OUTPUT,AIN1就是A电机的一号INPUT,INPUT与开发板链接,那么OUTPUT就是要和电机连接了啊。

STBY

正常工作/待机状态控制引脚,接3.3V就OK了

*电源

这玩意可要老命了,接错了6612就被烧了
所以千万注意一定要接对
VCC:5V (给开发板供电)
VM :12V(给电机供电)
划重点啊,这可记准了!

GND

这个就不多讲了,接地就对了

模块的接口也就讲完了,再给一个个人小建议,在编码的时候,可以直接把这些个接口的名字当做变量名,这样不管是在编码,代码的可读性,和再具体界限的时候都十分方便,例:

int AIN1=2;
int AIN2=3;
int BIN1=4;
int BIN2=7;
int PWMA =5;
int PWNB=6;

把输入端的名字设置为变量,这样代码虽然会比较难写,但是一目了然!

  • 25
    点赞
  • 122
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
循迹小车是一种常见的机器人,它可以通过传感器检测地面上的黑线来进行行进和控制。而在循迹小车控制上,TB6612FNG是一个比较常用的H桥驱动器,它可以控制电机的转向和速度。以下是TB6612FNGArduino循迹小车代码。 首先需要引入TB6612FNG库,然后定义左右电机的引脚和电机转速变量,以及定义两个传感器引脚。 #include <TB6612FNG.h> TB6612FNG motor(6, 5, 4, 10, 9, 8); //IN2, IN1, PWM1, IN4, IN3, PWM2 int Lspeed = 80; //左轮电机速度变量 int Rspeed = 80; //右轮电机速度变量 int LSensor = A0; //左侧传感器 int RSensor = A1; //右侧传感器 接下来是小车的初始化设置,包括电机的初始方向和速度。 void setup() { motor.begin(); motor.stop(); motor.setDriveMode(TB6612FNG::PHASE_STANDBY); } 两个传感器的数据采集需要通过模拟输入的analogRead函数实现。当左侧传感器检测到黑线时,控制小车左侧电机停止运转,右侧电机以Lspeed的速度正向运转,使小车向左转。同理,当右侧传感器检测到黑线时,控制小车右侧电机停止运转,左侧电机以Rspeed的速度正向运转,使小车向右转。当两个传感器都没有检测到黑线时,两个电机均以Lspeed的速度正向运转,保持小车直行。 void loop() { int valueL = analogRead(LSensor); int valueR = analogRead(RSensor); if (valueL > 500 && valueR < 500) //左侧传感器检测到黑线 { motor.stopMotorA(); motor.runMotorB(Rspeed, TB6612FNG::FORWARD); } else if (valueR > 500 && valueL < 500) //右侧传感器检测到黑线 { motor.stopMotorB(); motor.runMotorA(Lspeed, TB6612FNG::FORWARD); } else //两侧传感器都没有检测到黑线 { motor.run(Lspeed, TB6612FNG::FORWARD, Rspeed, TB6612FNG::FORWARD); } } 以上就是TB6612FNGArduino循迹小车代码,通过传感器检测黑线,控制左右电机的运转,实现小车的转向和直行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值