0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

蓝牙控制遥控车制作教程

454398 来源:wv 2019-09-26 09:50 次阅读

步骤1:为Android设备编写应用程序,以将数据发送到蓝牙模块。

蓝牙控制遥控车制作教程

我们使用MIT应用程序发明家2网站来编写应用程序。在此网站上,您无需编程知识即可轻松创建带有编程块的应用程序。

汽车的基本行驶方向是左,右,前进和后退。要指定4个不同的动作,2位就足够了。指定汽车的方向移动之后,让我们设置汽车的速度。我们可以将速度调整为4种不同的设置,而2个二进制位就足够了。数据以8位数据包的形式发送到Bluetooth模块,而5位数据对我们来说就足够了。

现在,我们可以创建有关这些计算的应用程序。 4个用于定义旋转的按钮,一个用于设备和速度控制的列表选择器以及一个用于连接的按钮就足够了。另外,我们必须添加蓝牙客户端和蓝牙服务器模块以建立蓝牙连接。要查看方向按钮是否对齐,请使用表格排列。

在设计之后,我们通过单击块部分来通过编程。使用Mix Application Inverter 2进行编程非常容易。您可以通过单击左侧的组件来添加所需的块。在这一部分中,我们填写列表选择器的内容,然后将蓝牙设备排成一行,以便前者与设备匹配,因此,为了提高速度,我们将数字排列为“ 1、2、3、4”。您可以在此处找到此Android应用程序的项目。

步骤2:从蓝牙模块获取数据

《用于蓝牙通信的p》 HC06模块使用UART作为通信协议。 HC06默认发送1个起始位,8个数据位和1个停止位,并且波特率为9600。 Silego GreenPAK具有SPI模块。我们将对SPI模块进行一些补充,以允许从HC06模块获取数据。最初,SPI协议需要一个外部时钟。但是,在UART协议下,数据以恒定速率传输。另一个区别是SPI通信中没有启动或停止位。我们将使用一个起始位来获取SPI时钟。 UART协议在空闲时处于高功率状态,在开始通信时(进入低位)进入低功率状态。

我们可以使用下降沿检测器来识别通信的开始。我们将此信号连接到DFF的时钟引脚,将VDD连接到数据引脚,以使连接在连接期间保持活动状态。因此,PDLY0块将在通信开始时通过捕捉下降沿来设置连接标志。 UART协议具有9600波特率,这意味着它能够每秒传输9600位。要找到一个周期的时间,您必须将1秒除以9600。如果立即开始运行时钟,则数据和时钟信号将同时更改,这可能会导致数据丢失。因此,时钟信号必须延迟半个周期。我们使用CNT6/DLY6块应用了此延迟。通过将OSC模块中的RC OSC频率设置为2000 kHz,我们获得了更高的频率。从中获得较高频率的周期具有较短的周期,并且计数器的绝对定时分辨率提高。因此,我们降低了计数器的错误率。

CNT6块设置为延迟半个周期(0,1042/2 = 0,0520 ms)。我们使用另一个计数器(CNT2)获得一个周期的持续时间(0,142 ms)。我们将此计数器的时钟设置为External Clock0。通过应用逻辑和处理,我们将来自OSC的OUT1信号和CLK BEGIN信号连接到OSC的外部Clock0输入。因此,CNT2仅在连接开始时才开始计数。为了提供更多细节,计数器模块对时钟信号的边沿进行计数。如果计数器不断向CLK引脚发送高电平或低电平信号,则计数器停止计数。在这里,我们将CLK Begin信号与OUT1信号进行“与”运算,并将它们连接到外部CLK0输入。这样,在没有连接的时刻,ANDing CLK Begin信号和OUT1信号将始终等于0,并且CNT2将停止计数。

但是,当提供连接时,CLK Begin信号将为“ 1“,逻辑和运算的结果将是OUT1信号,并将使CNT2继续计数。我们将CNT2计数器的输出(其周期持续时间已预先计算)连接到SPI模块的SCLK引脚。因此,我们为来自HC06的每个字节数据生成了一个时钟周期。

最后,我们设置延迟以计算连接的到期时间并将连接清零。连接开始后,该计数器将开始测量持续时间,并在数据传送完成后结束连接。在测量9个字节的持续时间后,我们将连接归零。在停止字节期间将连接清零可使SPI模块在形成新连接之前准备就绪。否则,如果打算在10个字节的持续时间结束时将其清零,则可能无法捕获新连接的起始字节。我们将来自PLY5模块的SPI引脚的输出引脚,计算出的1个周期持续时间的计数器以及用作连接标志的DFF0复位。但是,与其他信号不同,我们在复位DFF0之前将信号延迟了一段时间。如果您重置SLG46620V芯片的反延迟模块,则该模块的输出芯片将保持高电平1个周期。如果您同时重置CNT2和DFF0,则CLK Begin信号将保持低电平,从而停止CNT2的时钟停止。由于CNT2将保持高电平1个周期,并且时钟将不断变为低电平状态,因此CNT2将无法完成1个周期,而是将稳定地保持在高电平状态。因此,我们首先重置CNT2块,然后在几个周期后重置DFF0。

步骤3:电动机/汽车的控制

在此阶段,我们通过更改直流电动机的输出来更改汽车的速度和方向。通过蓝牙接收汽车的方向和速度信息。当我们通过SPI模块接收到来自UART协议的数据时,将在这里使用SPI并行输出模块。

UART和SPI通信之间的区别之一是发送字节的顺序。当最初使用SPI协议发送MSB(最高有效位)时,最后使用UART协议发送它。因此,我们将以相反的顺序接收数据的字节。我们将S1和S0字节字节链接到PWM0块。如上所示应用了PWM0的设置后,就配置了CNT8/DLY8模块。 。 SLG46620V CMIC无法直接驱动直流电动机。因此,我们将使用电源电机驱动器来控制它们。直流电动机驱动器通过根据通常称为M1-A,M1-B,M2-A和M2-B的控制销向电动机的销通电来运行电动机。我们在设计中建立了连接,如表6所示。

LUT为电机驱动器输入提供适当的逻辑信号。因此,当开合信号处于低电平状态时,电机输出引脚将保持低电平,并且电机将不会旋转。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Android
    +关注

    关注

    12

    文章

    3851

    浏览量

    125637
  • 蓝牙
    +关注

    关注

    112

    文章

    5428

    浏览量

    165647
收藏 人收藏

    评论

    相关推荐

    红外遥控蓝牙遥控的区别

    红外遥控蓝牙遥控的区别  红外遥控蓝牙遥控是我们日常生活中常见的两种
    的头像 发表于 01-25 16:23 1119次阅读

    制作一个蓝牙遥控小车

    本周我们来制作一个蓝牙遥控小车,不得不说bluno nano的蓝牙交互功能还是让人眼前一亮,毕竟是首款集成蓝牙4.0的arduino板。
    发表于 10-13 06:01

    MPU6050姿态参数如何通过HC05蓝牙模块出来?

    我现在用手机通过HC05蓝牙模块实现了对遥控车控制,现在要在这个基础上增加一个MPU6050模块,我想把这个MPU6050模块的姿态数据通过HC05蓝牙模块在手机上显示出来,我用的野
    发表于 10-07 08:02

    儿童电动遥控车玩具,基于2.4G合封芯片开发

    和复杂程度方面涵盖了广泛的范围。 遥控车玩具由两部分组成:遥控器和遥控车遥控器上的五个控制键控制遥控
    的头像 发表于 07-26 11:42 797次阅读

    Arduino遥控车 物联网控制遥控车方案

      摘要:主要讨论了如何使用Arduino制作一个遥控车,并通过WiFi和MQTT或者蓝牙等不同的方式实现遥控车控制。其中,WiFi和MQ
    发表于 07-18 17:07 4次下载

    物联网遥控车开源分享

    电子发烧友网站提供《物联网遥控车开源分享.zip》资料免费下载
    发表于 07-11 11:09 2次下载
    物联网<b class='flag-5'>遥控车</b>开源分享

    遥控车遥控器的连接

    电子发烧友网站提供《遥控车遥控器的连接.zip》资料免费下载
    发表于 07-10 14:57 4次下载
    <b class='flag-5'>遥控车</b>和<b class='flag-5'>遥控</b>器的连接

    Arduino新型蓝牙遥控车

    电子发烧友网站提供《Arduino新型蓝牙遥控车.zip》资料免费下载
    发表于 07-06 11:18 0次下载
    Arduino新型<b class='flag-5'>蓝牙</b><b class='flag-5'>遥控车</b>

    使用Android和Arduino进行遥控车破解

    电子发烧友网站提供《使用Android和Arduino进行遥控车破解.zip》资料免费下载
    发表于 06-30 11:17 0次下载
    使用Android和Arduino进行<b class='flag-5'>遥控车</b>破解

    通过电脑游戏控制遥控车

    电子发烧友网站提供《通过电脑游戏控制遥控车.zip》资料免费下载
    发表于 06-29 14:58 1次下载
    通过电脑游戏<b class='flag-5'>控制</b><b class='flag-5'>遥控车</b>

    带Arduino的Rain1遥控车

    电子发烧友网站提供《带Arduino的Rain1遥控车.zip》资料免费下载
    发表于 06-26 10:23 0次下载
    带Arduino的Rain1<b class='flag-5'>遥控车</b>

    如何制作Arduino蓝牙控制的汽车

    电子发烧友网站提供《如何制作Arduino蓝牙控制的汽车.zip》资料免费下载
    发表于 06-26 10:21 0次下载
    如何<b class='flag-5'>制作</b>Arduino<b class='flag-5'>蓝牙</b><b class='flag-5'>控制</b>的汽车

    自制远程遥控车的难度?

    遥控车
    YS YYDS
    发布于 :2023年06月20日 13:49:30

    如何使用NodeMCU Lilin v3制作遥控车

    我正在尝试使用 NodeMCU Lilin v3 制作遥控车。现在我已经能够使用网络服务器功能来实现它。我什至使用 DDNS 服务器 (DuckDNS) 能够通过蜂窝路由器(创建 WiFi 热点
    发表于 06-06 10:10