在线时间37 小时
UID1371415
注册时间2016-6-13
NXP金币0
TA的每日心情 | 开心 2017-3-1 08:21 |
---|
签到天数: 94 天 连续签到: 1 天 [LV.6]常住居民II
高级会员

- 积分
- 526
- 最后登录
- 2017-8-17
|
经过两个星期的忙碌,终于基本搞定这个蓝牙控制小车了(原谅我一个纯硬件工程师刚开始搞单片机)。
主要分为两个部分:
1.APP:
好吧,不会弄,从网上直接下载了现成的.
链接如下:http://www.liqucn.com/rj/427366.shtml
就是图片这个样子。
2.硬件部分:
除了开发板,我自己从某宝买了两个蓝牙模块(HC-06)和四块电机驱动模块(L9110),目前已经烧了两个驱动模块,感觉还是LN298比较靠谱一点。
蓝牙模块连接如下:https://item.taobao.com/item.htm ... &_u=j3v3a9684fb
L9110电机驱动模块如下:https://item.taobao.com/item.htm ... &_u=j3v3a961dd0
3.单片机程序开发部分:
原谅我把代码贴上来,
如下:
#include "clock_config.h"
#include "led.h"
#include "usart.h"
#include "fsl_uart.h"
#include "moto.h"
uint8_t g_tipString[] =
"Uart functional API interrupt example\r\nBoard receives characters then sends them out\r\nNow please input:\r\n";
/*********************************************
* 基于SDK的UART4测试工程,重新梳理软件架构
* FIFO查询输出
* 2016-03-27
*********************************************/
/************************************************************
* 函数名称:delay()
* 函数功能:简易软件延时函数
* 入口参数:
* 出口参数:
* 函数说明:
************************************************************/
void delay(void)
{
volatile uint32_t i = 0;
for (i = 0; i < 8000000; ++i)
{
__asm("NOP"); /* delay */
}
}
extern uint8_t USART4_RevTab[4];
extern uint8_t USART4_RevCount;
extern uint8_t USART4_RevFlag;
int main(void)//主函数
{
uint8_t commond;
BOARD_BootClockRUN();//时钟初始化为运行模式
LED_Config ();
UART4_Config ();
Moto_Config();
while(1)
{
// LED_ON;
// delay();
// LED_OF;
// delay();
if(USART4_RevFlag == 0xff)
{
commond = USART4_RevTab[0];
switch(commond)
{
case CarLI_Cmd:
{
LED_TO;
Car_li();
delay();
}break;
case CarBa_Cmd:
{
LED_TO;
Car_Back();
delay();
}break;
case CarLe_Cmd:
{
LED_TO;
Car_Left();
delay();
}break;
case CarRi_Cmd:
{
LED_TO;
Car_Right();
delay();
}break;
case CarSp_Cmd:
{
Car_Stop();
}break;
default:break;
}
// USART4_RevCount=0;
USART4_RevFlag = 0x00;
}
}
return 0;
}
附件是整个项目的代码,小车功能基本实现,明天我再调整下,拍点清晰的图片。
感谢飞思卡尔举办的这次活动,后续我也要往这个小车上加其他模块,哈哈
|
|