找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 8549|回复: 7

两个NXT之间蓝牙通讯简单程序的疑问。

[复制链接]
发表于 2012-5-26 21:48:47 | 显示全部楼层 |阅读模式
悬赏10乐币已解决
本帖最后由 lou509 于 2012-5-26 21:59 编辑

小弟在研究两台NXT之间的蓝牙通讯,想实现以下目的。
A机为发射端,B机为接收端。
A机触感松开时,B机接的两电机直行。A机触感按下时,B机两电机左拐右拐一次。

写了第一个程序。(发射1,接收1)

接收端BC电机直行,当接收到信息时停止循环。做后面的左拐右拐动作。
但实际上,可以跳出直行循环,但后面的左右拐做了六次才会跳回到直行循环。不解。。。。
第二个程序。

改用开关去试。没收到直行,收到左右拐。但实际也是拐六次。。。。

写了第三个,勉强可以。

发射端两个状态分别发射两个信息。接收端也写两个接收开关。可以实现,但要先接一下松开,先走完左右拐,才会进入到循环里。


请教各位的是:前两种写法出了啥错,那左右拐六次(其实也换了其他去试,比如时间等待,2S就会变成12S,但声音的话不会响六下)到底是什么情况。


发射1

发射1

接收1

接收1

发射2

发射2

接收2

接收2
发射3.jpg
接收3.jpg

最佳答案

查看完整内容

发射一,当你发送了信号(例如发送了一个数字1)之后,接收那边就会接收到数字1。 但假如你不再发送一个数字2,那么接收那边读取到的信号就一直都是数字1.所以一直都会跳出循环
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2012-5-26 21:48:48 | 显示全部楼层
发射一,当你发送了信号(例如发送了一个数字1)之后,接收那边就会接收到数字1。
但假如你不再发送一个数字2,那么接收那边读取到的信号就一直都是数字1.所以一直都会跳出循环
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-5-27 09:27:58 | 显示全部楼层
你的3个发射程序,都是不停地发送数字1或2,根据NXT的运算速度,每秒发射出7-8个数字1吧。

NXT的蓝牙接收信箱,可以缓存10个信号,满了就不再记录了。当你按下A时,其实已经至少发出2-3个指令了(除非你非常快地按一下),接收机收到接收到动作指令后,开始动作,信箱里已经缓存了2-3个按A的指令了。在处理完刚才的指令后,接下来,又是一个相同的指令。

解决方法(理论上,自行测试):在接到指令进行动作的同时,不断清空收件箱。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2012-5-27 09:28:03 | 显示全部楼层
多谢晓舟大大。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2012-5-27 09:50:02 | 显示全部楼层
马上改了一个。好象可以了。
发射4.jpg
接收4.jpg
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2012-5-27 10:20:04 | 显示全部楼层
大蒜头 发表于 2012-5-27 09:27
你的3个发射程序,都是不停地发送数字1或2,根据NXT的运算速度,每秒发射出7-8个数字1吧。

NXT的蓝牙接收 ...

细读之下,有些明白。只是没找着清空信箱的指令。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-5-28 20:04:45 | 显示全部楼层
做一个循环,不停地读信箱。读一次,就会清一个。也可以做完动作后读10次信箱,如果已读空则退出。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2013-4-24 16:07:31 | 显示全部楼层
怎么读10次信箱呀?
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2025-6-21 02:53 , Processed in 5.952610 second(s), 24 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表