【STM32 .Net MF开发板学习-20】蓝牙遥控智能小车(手机模式)

简介: 无论是用WIfi还是用GPRS遥控小车,目前都离不了PC这个中转站,并且PC还得借助Zigbee通道和小车通信,这就大大地增加了此遥控平台的构建代价。

无论是用WIfi还是用GPRS遥控小车,目前都离不了PC这个中转站,并且PC还得借助Zigbee通道和小车通信,这就大大地增加了此遥控平台的构建代价。以前在研究iRobot机器人的时候,用过其配套的蓝牙模块,可以通过PC上的蓝牙连接,远程控制iRobot(相关文章《MF控制机器人》)。目前大部分手机也都支持蓝牙接口,所以基于此,我们借用iRobot的蓝牙模块,就可以用手机直接遥控智能小车了。

 

不过问题来了,原蓝牙模块是和iRobot配套的,其模块供电、串口连接等问题不用考虑,直接插入25针的接口就可以了,而我们想单独使用,必须搞明白蓝牙模块的25针的各个含义才成。很可惜,蓝牙模块本身没有更进一步的说明资料,幸好我们有iRobot25针接口资料,可以反推蓝牙模块的pin脚信息,说明书上pin1RXD,则蓝牙模块的pin1就应该是TXD,同样道理pin2RXD

最终的pin脚定义及与开发板接线如下:

序号

蓝牙模块

.NET MF开发板

1

2RX0

PA2USART2_TX

2

1TX0

PA3USART2_RX

3

25GND

GND

4

8VCC

3.3v

注:蓝牙模块要求5V供电,开发板上比较容易引出的是3.3v,实际测试发现3.3v也能使蓝牙模块正常工作,另外蓝牙模块的串口为TTL电平。

 

 

  

好了,小车这边的蓝牙模块我们已经接线完毕。下面我们开始配置手机上的蓝牙模块,下面就是手机蓝牙模块的设置步骤(注意,需保证与小车相连的蓝牙模块上电)

 

     、进入设置面板,选择蓝牙模块并进入;

     、选择添加新设备;

     、扫描周围的蓝牙设备;

     、发现蓝牙串口模块;

     、进行连接,并输入连接密码;

     、选择串口服务,单击“完成”按钮;

     、进入COM端口面板,选择新建发送端口;

     、选择新建串口的设备为蓝牙串口设备;

     、选择对应的串口,并单击“完成”按钮;

     、运行蓝牙操控程序(其实就是一个普通的串口程序);

手机的系统为Windows Mobile 6.0,相关代码如下:

 

 

 

小车上的代码其实和上几篇的文章类似,不过需要提醒的是,蓝牙模块要求的通信波特率为57600,具体代码请参见《Zigbee遥控智能小车》。

 

 

 

一切配置停当后,运行手机上的程序,我们就可以直接控制小车了,和GPRSWifi方式不同,这次我们就可以把他们带到室外,去尽情演示和控制了(前两个你也可以带到室外,不过前提是要带上那个中转站--PC)。

相关视频(这是GPRS的视频,控制方式相同,不过蓝牙控制要比GPRS控制速度快多了):

http://video.sina.com.cn/v/b/40307740-1804832611.html

 

附记:

在讨论组发表相关图片后,有网友说iRobot的蓝牙模块太大了,此外考虑到iRobot的蓝牙一是价格比较高,二是国内很难买到,所以我这边测试了一款小巧实用的蓝牙模块,效果还不错,性价比还是很高的。 

 

    注:此蓝牙模块的通信波特率为9600默认配对密码 1234采用这款模块,记得把相关波特率由57600修改为9600

    

1)、小车底盘

 http://item.taobao.com/item.htm?id=7218838776

2)、四路直流电机驱动器

http://item.taobao.com/item.htm?id=7218717808

3)、.NET Micro Framework开发板

 http://item.taobao.com/item.htm?id=7117999726

4)、蓝牙模块

 http://item.taobao.com/auction/item_detail.htm?item_num_id=8333868680

 

 

本文源码:http://www.sky-walker.com.cn/yefan/MFV40/SourceCode/WMBluetooth.rar

本文源码:http://www.sky-walker.com.cn/yefan/MFV40/SourceCode/BluetoothCar.rar

 

 

 

相关文章
|
4月前
|
数据库 开发者
.NET 异步编程之谜:async/await 模式究竟隐藏着怎样的神奇力量?
【8月更文挑战第28天】在当今注重效率和响应性的软件开发领域,.NET 的 async/await 模式如同得力助手,简化异步代码编写,使代码更易理解和维护。通过后台执行耗时操作,如网络请求和数据库查询,避免阻塞主线程,显著提升系统响应性。此模式不仅适用于网络请求,还广泛应用于数据库操作和文件读写。合理使用 async/await 可大幅优化性能,但需注意避免过度使用、正确处理调用链及异常,以确保系统稳定性和高效性。深入探索 async/await,助您构建更出色的应用程序。
59 0
|
2月前
stm32学习 3-2 LED流水灯
stm32学习 3-2 LED流水灯
79 4
|
2月前
stm32学习3-1 LED闪烁
stm32学习3-1 LED闪烁
42 4
|
2月前
|
网络协议 大数据 网络架构
桥接模式和NET模式的区别
桥接模式和NET模式的区别
49 0
|
4月前
|
敏捷开发 设计模式 开发者
【揭秘终极利器】AgileEAS.NET:服务定位器模式的魔法,如何让企业级软件开发瞬间提速?揭秘背后的技术奥秘与实战指南!
【8月更文挑战第16天】AgileEAS.NET是基于DotNet的企业级敏捷开发平台,其服务定位器模式助力构建高度解耦系统。通过全局服务目录动态查找服务,避免硬编码依赖。在AgileEAS.NET中,服务定位器以静态类形式封装服务注册与检索功能。示例展示了如何注册与获取服务实例,如在`UserController`中通过服务定位器使用`IUserService`。此模式整合到框架生命周期管理,便于各处获取服务实例,提升开发效率。然而,应适度使用并考虑依赖注入容器以增强代码可维护性和可测试性。
77 4
|
4月前
|
开发框架 监控 .NET
|
6月前
|
设计模式 存储 编译器
【.NET Core】异步编程模式
【.NET Core】异步编程模式
58 2
|
7月前
|
敏捷开发 缓存 中间件
【专栏】解读.NET 技术的高效开发模式
【4月更文挑战第29天】本文探讨了.NET技术的高效开发模式,关键要素包括面向对象编程、良好架构设计和高效代码管理。通过实例展示了在企业级应用和Web应用开发中如何运用这些原则,强调了分层架构、微服务架构以及遵循编程规范和使用版本控制的重要性。文章旨在为开发者提供.NET开发的实用指南和灵感,促进软件开发效率与质量的提升。
47 0
|
7月前
stm32f4外设学习篇(代码集合)(三)
stm32f4外设学习篇(代码集合)
134 0
|
7月前
stm32f4外设学习篇(代码集合)(二)
stm32f4外设学习篇(代码集合)