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

简介: 目前大部分手机也都支持蓝牙接口,所以基于此,我们借用iRobot的蓝牙模块,就可以用手机直接遥控智能小车了。

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

 

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

最终的pin脚定义及与开发板接线如下:
1.png
注:蓝牙模块要求5V供电,开发板上比较容易引出的是3.3v,实际测试发现3.3v也能使蓝牙模块正常工作,另外蓝牙模块的串口为TTL电平。
image.png

 

 

  

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

 

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

②     、选择添加新设备;

③     、扫描周围的蓝牙设备;

④     、发现蓝牙串口模块;

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

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

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

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

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

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

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

namespace WMBluetooth
    {
        public partial class frmMain : Form
        {
            //串口
            SerialPort serial = null;
            public frmMain()
            {
                InitializeComponent();   
                serial = new SerialPort("COM7", 57600, Parity.None, 8, StopBits.One);
                serial.Open();
            }
            private void btnForward_Click(object sender, EventArgs e)
            {
                serial.Write("0");
                serial.DiscardInBuffer();
            }
            private void btnLeft_Click(object sender, EventArgs e)
            {
                serial.Write("1");
                serial.DiscardInBuffer();
            }
            private void btnRight_Click(object sender, EventArgs e)
            {
                serial.Write("2");
                serial.DiscardInBuffer();
            }
            private void btnBack_Click(object sender, EventArgs e)
            {
                serial.Write("3");
                serial.DiscardInBuffer();
            }
            private void btnStop_Click(object sender, EventArgs e)
            {
                serial.Write("4");
                serial.DiscardInBuffer();
            }
            private void frmMain_Closed(object sender, EventArgs e)
            {
                serial.Close();
            }       
        }
 }

 

 

 

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

 

 

 

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

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

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

 

附记:

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

 

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

 image.png
   

(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

相关文章
|
7月前
|
传感器 数据采集 人工智能
基于STM32单片机的智能晾衣架设计与实现【开源免费】
随着智能家居的发展,传统晾衣架已经难以满足现代家庭对便捷、智能化的需求。基于STM32单片机的智能晾衣架能够实现自动升降、光照检测、风干控制、远程控制等功能,为家庭用户提供更智能、更舒适的晾晒体验。本项目以STM32F103C8T6为核心控制器,通过电机驱动模块、光照传感器、温湿度传感器、蓝牙/Wi-Fi通信模块,实现晾衣架的自动化与远程控制。
基于STM32单片机的智能晾衣架设计与实现【开源免费】
|
7月前
|
传感器 机器人 物联网
【免费开源】基于STM32的蓝牙小车/智能小车项目详解(附源码)
通过本项目,你可以系统掌握STM32外设控制、蓝牙通信、电机驱动和传感器数据处理技术,实现一辆可远程控制并具备避障功能的智能小车。该项目具有高度可扩展性,后续可增加循迹、自动寻路、摄像头等高级功能。
1693 43
【免费开源】基于STM32的蓝牙小车/智能小车项目详解(附源码)
|
7月前
|
传感器 人工智能 监控
【免费开源】基于STM32的智能宠物喂食系统设计与实现(全流程技术详解)附源码
本项目基于STM32F103C8T6设计实现智能宠物喂食系统,支持定时喂食、远程控制、余粮检测、语音提示等功能,结合传感器与物联网技术,提升宠物喂养智能化水平,适用于家庭及嵌入式课程实践。源码开源,具备良好扩展性。
【免费开源】基于STM32的智能宠物喂食系统设计与实现(全流程技术详解)附源码
|
7月前
|
传感器 数据采集 安全
STM32与传感器技术结合打造智能行李箱 | 自动跟随与报警系统【免费开源】
本项目成功实现了基于STM32的智慧行李箱设计,采用了超声波测距、重力传感器和报警系统等技术,打造了一款智能且安全的行李箱。通过超声波测距模块,行李箱能够实时跟随主人并根据距离变化调整电机的速度与方向,确保小车始终保持与主人的相对位置。此外,重力测量模块能够检测行李箱内物品的重量,若超重则及时通过LED和蜂鸣器提醒主人,避免物品过重对行李箱造成损害或不便。
STM32与传感器技术结合打造智能行李箱 | 自动跟随与报警系统【免费开源】
|
传感器 数据采集 移动开发
基于STM32的智能手环wifi连接手机APP(下)
基于STM32的智能手环wifi连接手机APP(下)
1079 0
|
传感器 数据采集 监控
基于阿里云MQTT服务,设计一个STM32的智能光伏控制系统
这篇文章详细介绍了利用STM32F103C8T6单片机实现光伏发电系统的关键技术。全文分为四章:第一章阐述了光伏发电的背景、意义及应用场景,强调其在绿色能源领域的重要性。第二章介绍了如何通过STM32F103C8T6及光敏电阻和伺服电机实现光线追踪系统,详细描述了硬件选择、连接及使用HAL库编写的单片机程序。第三章讲解了最大功率点追踪(MPPT)的原理,并展示了如何利用STM32F103C8T6和相关传感器、DC-DC转换器实现MPPT功能。第四章描述了如何通过STM32F103C8T6与SIM7600CE 4G模块连接到阿里云MQTT服务,实现设备状态数据的远程传输和控制。本文提供了全面的硬
18325 5
stm32学习 3-2 LED流水灯
stm32学习 3-2 LED流水灯
229 4
stm32学习3-1 LED闪烁
stm32学习3-1 LED闪烁
162 4
|
传感器 存储 编解码
基于STM32的智能手环wifi连接手机APP(上)
基于STM32的智能手环wifi连接手机APP(上)
706 0
|
物联网 程序员 语音技术
STM32智能小车(循迹、跟随、避障、测速、蓝牙、wife、4g、语音识别)总结-3
STM32智能小车(循迹、跟随、避障、测速、蓝牙、wife、4g、语音识别)总结
STM32智能小车(循迹、跟随、避障、测速、蓝牙、wife、4g、语音识别)总结-3