• USB 连接
  • 无线连接
  • 其它

在特殊场合的 ev3 模型中, 可能会用到不止一个 brick
(官方将之称为程序块).
程序块之间可以通过两种方式连接: 有线和无线. 有线是指
USB 线, 无线是指 wifi 或 蓝牙. 这两种试是相互排斥的.

USB 连接

通过 USB 线将多个程序块连接在一起的方式, 官方称为 “菊链”, 最多可以将
4 个程序块连接在一起. 在官方文档中, 对 “菊链” 的描述如下:

通过菊链可以使用 EV3 USB 电缆将 EV3
程序块连接在一起. 随后可以使用链中的第一个 EV3 程序块控制电机, 并读取菊链 EV3
程序块的传感器. 可以有多达四个 EV3 程序块形成菊链.

在使用方式上, 一般将第一个程序块当作主控器, 其它程序块作为被控制一方

比如一个当作有线遥控器, 控制其它程序块的运行. 这种情况下,
只要在作为主控器的程序块上布置软件即可, 被控制的主控器不需要布置程序,
也就不需要启动任何程序. 在操控时, 启动主控器上的程序, 对主控器进行操作,
从而给受控制的程序块发指令, 由受控制方具体驱动电机和传感器.

通过 “菊链” 模式将多个程序块连接在一起时, 比如连接方式为

A-->B-->C-->D

每个程序块在连接体系具有 “层” 级的概念. 在上述连接中,
总共分为 4 层. A 为第一层, B 为第二层, C 为第三层, D 为第四层. 运行于
A 的程序通过指定 “层”, 可以控制 B, C, D.

在编写程序时, 打开 “菊链” 模式, 传感器和电机的图标上的标题栏将出现层级的编辑框,
从而允许选择控制哪一层的电机或获取哪一层的传感器的输入.

无线连接

这里只描述蓝牙连接方式.

通过蓝牙方式连接在一起的程序块, 各程序块之间没有主从关系, 也没有 “层” 的概念,
各程序块之间通过 “消息” 进行通信. 在官方文档中, 对消息的描述为

消息传递模块用于在 EV3 程序块之间发送蓝牙消息. 要发送或接收消息,
必须先通过程序块蓝牙菜单或通过蓝牙连接模块连接 EV3 程序块.

消息以三个组件为特征

  1. 在其之间传递消息的程序块
  2. 标识消息的消息标题
  3. “消息”值. 这可能是文本, 数字或逻辑

通过指定程序块, 可以指定消息的接收方 (由哪个程序块接收); 通过标题,
可以将消息限定在某个消息组; 最后才是消息值,
不同标题具有相同消息值的消息属于两条不同的消息.

通过蓝牙方式连接, 最多可以连接 7 个程序块. 通过消息机制,
可以搭建非常复杂的模型, 可以编写非常复杂的程序.

其它

通过使用发线, 通过 USB 连接时, 受控的程序块对指令的执行感觉不到延迟;
而通过蓝牙连接时, 消息在传递时会有较大的延迟, 对于对电机进行精细控制时,
会出现断断续续的现象, 也许是我的使用方式有问题吧 (-^-).

由于会看本文的都是用过 EV3 的人, 就不贴图了!

ev3 编程中各程序块之间的关联相关推荐

  1. 【面向对象编程】(3) 类之间的交互,依赖关系,关联关系

    各位同学好,今天和大家分享一下面向对象编程中,类之间的交互,类之间的依赖关系和关联关系.有不明白的可见前一章节:https://blog.csdn.net/dgvv4/article/details/ ...

  2. java当中有关循环的代码_有关Java循环的内容,编程中还是比较常用的,下面分享给大家几个循环的示例代码,练习一下。1、循环输出1到100之间所有能被3或能被4整除的数。pack...

    有关Java循环的内容,编程中还是比较常用的,下面分享给大家几个循环的示例代码,练习一下. 1.循环输出1到100之间所有能被3或能被4整除的数. package com.hz.loop02; /** ...

  3. 【DB笔试面试592】在Oracle中,表和表之间的关联方式有哪几种?

    ♣题目 部分 在Oracle中,表和表之间的关联方式有哪几种? ♣答案部分 目前为止,无论连接操作符如何,典型的连接类型共有3种: ① 排序合并连接(Sort Merge Join,简称SMJ),Or ...

  4. 编程中,循环、迭代、遍历和递归之间的区别

    表示"重复"这个含义的词有很多, 比如循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate). 循环算是最基础的概念, 凡是重复执行 ...

  5. Java并发编程中的若干核心技术,向高手进阶

    来源:http://www.jianshu.com/p/5f499f8212e7 引言 本文试图从一个更高的视角来总结Java语言中的并发编程内容,希望阅读完本文之后,可以收获一些内容,至少应该知道在 ...

  6. 服务器文件描述,服务器编程中的文件描述符

    Linux系统下一切皆文件,通过虚拟文件系统(VFS)的机制将所有底层屏蔽掉,用户可以通过统一的接口来实现对不同驱动的操作,对于每一个文件需要一个引用来指示,此时文件描述符应用而生,文件描述符类似于W ...

  7. shell编程中特殊字符的问题总结

    shell编程中特殊字符的问题总结 --同事王怡春的总结: 近日在编写shell脚本的遇到的一些问题,然后上网搜搜学习后,以下是总结后的版本,给大家分享,如有问题,错误,欢迎指正 一 通配符( * ) ...

  8. 【转】游戏编程中的人工智能技术--神经网络

    原文:http://blog.csdn.net/ecitnet/article/details/1799444 游戏编程中的人工智能技术 . > .  (连载之一) 用平常语言介绍神经网络(Ne ...

  9. synchronized 异常_由浅入深,Java 并发编程中的 Synchronized

    synchronized 作用 synchronized 关键字是 Java 并发编程中线程同步的常用手段之一. 1.1 作用: 确保线程互斥的访问同步代,锁自动释放,多个线程操作同个代码块或函数必须 ...

最新文章

  1. 业界首个实时多目标跟踪系统开源
  2. 操作系统期末复习重点题型归纳
  3. linux gdb#039;查找寄存器地址,【Linux跟踪和调试】gdb
  4. Python正则表达式介绍 re.findall(pattern, str, flag=0)/re.I re.L re.M
  5. Framework中网络定位服务简介
  6. 【CF1311E】Construct the Binary Tree【增量构造】【复杂度证明】
  7. 第十二天--Property List和NSUserDefaults
  8. mysql云上迁移_自建mysql 迁移到云上-问答-阿里云开发者社区-阿里云
  9. 如何在win10系统的开始菜单中添加“设备和打印机”
  10. 优化算法进阶;word2vec;词嵌入进阶
  11. android手机无法开机自动启动,安卓手机无法开机的6种解决方法
  12. 大脑的终极秘密——从狮子也有意识谈起
  13. 如何管理计算机软件,驱动人生怎么管理软件 让你轻松管理电脑中的程序
  14. tpc-c 测试结果 tpc-c
  15. 在运行里输入打开WIN工具。
  16. html文本框如何固定不动,css如何让div固定不动?
  17. 和平精英微信登录服务器连接失败,和平精英微信登录不了怎么办
  18. Google Pixel7 解锁安装32bit应用权限 教程
  19. Ubantu错误汇总
  20. Html制作抖音网红时钟罗盘【含源码免费下载】

热门文章

  1. 在安卓手机上安装Linux子系统
  2. 无人机监控交通流量实时传输路况智慧交通系统说明
  3. java路径是什么_什么是java路径?
  4. 总结:min-height:100px; height:auto;的用法(新浪博客 )
  5. Lect3 最优化Optimization
  6. R语言画相关系数矩阵图
  7. Lect5_Model_free_Control
  8. java如何将mp4写入光盘_iOS - 读取/写入mp4视频的XMP元数据
  9. 电脑或U盘文件夹变为后缀为.exe文件,解决办法。
  10. 关于解决主机和虚拟机ping不通的问题