【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();
            }       
        }
 }
AI 代码解读

 

 

 

小车上的代码其实和上几篇的文章类似,不过需要提醒的是,蓝牙模块要求的通信波特率为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

相关文章
一款基于 .NET + Blazor 开发的智能访客管理系统
一款基于 .NET + Blazor 开发的智能访客管理系统
|
6月前
stm32学习 3-2 LED流水灯
stm32学习 3-2 LED流水灯
107 4
|
6月前
stm32学习3-1 LED闪烁
stm32学习3-1 LED闪烁
60 4
【专栏】.NET 技术:开启智能开发的新纪元
【4月更文挑战第29天】本文介绍了.NET技术的起源、核心特性和应用场景。始于2002年,.NET旨在解决开发效率和兼容性问题,发展至今已实现跨平台,包括.NET Core和.NET 5。其核心特性包括跨平台、面向对象、安全可靠、高效性能和易用性。在智能开发领域,.NET应用于人工智能、物联网和智能家居,提供便捷的开发工具和集成其他框架的能力。随着技术演进,.NET将持续在智能开发中发挥关键作用。
55 0
【专栏】.NET 开发:构建智能应用的关键
【4月更文挑战第29天】本文探讨了.NET开发在构建智能应用中的关键作用,强调了其强大的框架、工具集、高效性能和跨平台支持。通过实例展示了.NET在人工智能、物联网及企业级应用中的应用。同时,指出了.NET开发面临的挑战,如技术更新的学习成本、性能优化、资源管理和安全隐私保护,并提出了应对策略。随着技术进步,.NET将在智能应用领域发挥更大作用,推动创新与便利。
67 0
|
11月前
stm32f4外设学习篇(代码集合)(三)
stm32f4外设学习篇(代码集合)
158 0
|
11月前
stm32f4外设学习篇(代码集合)(二)
stm32f4外设学习篇(代码集合)
109 0
|
11月前
|
stm32f4外设学习篇(代码集合)(一)
stm32f4外设学习篇(代码集合)
240 0
C/C++ stm32基础知识超详细讲解(系统性学习day14)
C/C++ stm32基础知识超详细讲解(系统性学习day14)
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
105 5

热门文章

最新文章

  • 1
    阿里云无影云手机怎么用?非常简单,云手机创建、价格及连接使用图文教程
    25
  • 2
    什么是阿里云无影云手机?看完秒懂,云手机价格、创建及连接教程
    44
  • 3
    TaoAvatar:手机拍出电影级虚拟人!阿里3D高斯黑科技让动捕设备下岗
    156
  • 4
    SpatialLM:手机视频秒建3D场景!开源空间认知模型颠覆机器人训练
    107
  • 5
    算法系统协同优化,vivo与港中文推出BlueLM-V-3B,手机秒变多模态AI专家
    59
  • 6
    【02】整体试验思路,在这之前我们发现sec_uid,sec_uid是什么和uid的关系又是什么?相互如何转换?python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
    99
  • 7
    【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
    72
  • 8
    【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
    254
  • 9
    美团面试:手机扫描PC二维码登录,底层原理和完整流程是什么?
    175
  • 10
    MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
    2129