利用MSP430G2553搭建蓝牙小车
1. 小车硬件
1.1 机械部分
1).直流电机(黄色DC3V-6V)2个;
2).亚克力板;
3).万向轮;
4).用于装配的螺钉与支撑若干。
1.2 电气部分
1).主控MSP430G2553
2).蓝牙模块HC05
3).DC转DC;
4).电机驱动模块TB6612;
5).手机端的蓝牙调试器。
因为电气连接没有画图,所以对于具体的连接说明,也就不再说明了。这部分也确实比较简单。
2. 小车软件
2.1车体上软件
电机驱动头文件:
#include"msp430G2553.h"
#define uint unsigned int
#define CPU_F ((double)8000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
/***********************函数***********************/
void IOInit(); //IO初始化
void TimeAInit(); //定时器A初始化
void ForwordMotor(uint speed); //车体前移
void LeftMotor(uint speed); //车体左转
void RightMotor(uint speed); //车体右转
void BackMotor(uint speed); //=车体后移
void SpinMotor(uint speed); //车体旋转
void StopMotor(); //电机停止转动
void PWMA_Delay(uint speed); //PWM利用简单延时
void delay(uint time); //定义延迟函数,单位为ms
/***********************全局变量***********************/
extern uint JudgeRecv; //判断当前蓝牙是否有信息发来
extern unsigned char RX_Buffer; //定义全局变量RX_Buffer,接收字符
extern unsigned char TX_Buffer; //定义全局变量TX_Buffer,发送字符
电机驱动源文件:
#include"MotorDrive.h"
/*****************************IO初始化**************************************/
void IOInit()
{
P1DIR|=BIT7+BIT6+BIT5+BIT4; //P1.7、P1.6、P1.5、P1.4 设置为双输出口,其中P1.4为PWM输出
P2DIR|=BIT2+BIT1+BIT0; //P2.0、P2.1、P2.2设置为输出口,其中P2.2为PWM输出
P1OUT&=0x0f; //P1.7、P1.6、P1.5、P1.4 设置为低电平
P2OUT&=0xf8;