![乐高机器人:EV3与Scratch机器人基础与应用实例](https://wfqqreader-1252317822.image.myqcloud.com/cover/56/36862056/b_36862056.jpg)
3.6 高级模块组件
3.6.1 文件读写
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/72_01.jpg?sign=1738888103-L6J0scLFTyZqsu63VxkrOXWLIjkBT6T2-0-83ae91357fd4332d466f3e99ff12ca6b)
文件读写模块
文件读写模块使您可以对EV3程序块上的文件读取和写入数据。
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/72_02.jpg?sign=1738888103-YLx2CLEXlncnRpElcBeesyuWcVTh6JpL-0-9c61f1f27b59ae0077d7ee7661ba448c)
写入的新数据都会按顺序排在原数据的后面,文件中的数据只能按顺序从第一个数据读取。文件关闭前请进行保存。
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/72_03.jpg?sign=1738888103-UFEIesTB5tmCEIOcmXplo0pimphFEtAd-0-43c9b04b8ff3887eb60e29b464d26f69)
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/72_04.jpg?sign=1738888103-pffbXyOQpHfwJbBvKSRPJmh0B8Pf4cx2-0-b70ca3dea87ce8c90ae0feb8dc40de20)
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/72_05.jpg?sign=1738888103-qaax3TKt1PkWIQVlxTCQbX1lcmDTNGFE-0-0b9995e5382fa82a2822217bd133cab2)
超声波测量三次距离,把三个数值写入文件读写。读出三个数值并显示在EV3屏幕上。
3.6.2 信息传递
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/73_01.jpg?sign=1738888103-thr70TkDf7RfjgxrFJLeRFKSgfJSg1yy-0-b83608ff6984e6eddae1b649e09c98d8)
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/73_02.jpg?sign=1738888103-kqdvLd8IGGOH9f7x1n1uAjTKgy64AoTA-0-3ea0f02573beba3a9582756caa594f25)
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/73_03.jpg?sign=1738888103-leU0oawfHlZDGXJ8icSy0HxXl5bFze4M-0-82b8cb393f116c0a27bb4d952e0a058b)
消息传递模块
消息传递模块用于在EV3程序块之间发送蓝牙消息。要发送或接收消息,必须先通过程序块蓝牙菜单或通过蓝牙连接模块连接EV3程序块。
用蓝牙连接好两个程序块,把发送程序、接收程序分别下载到对应的程序块里。就可以用一个EV3程序块遥控另一个EV3程序块了。
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/73_04.jpg?sign=1738888103-UoFtYPd2D8VoaQrbenlXc6SNcYOiLCe4-0-3f793158b132ad76c8d0113d43246216)
针对两个程序块选择“设置”选项卡,并打开“蓝牙”菜单。
互相搜索到对应程序块后,选择蓝牙连接。
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/73_05.jpg?sign=1738888103-MAWWvRKTH3r7SIA773uiq1R1DGEEuEP8-0-1938f592379ca606be6fa099a24ab8bd)
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/73_06.jpg?sign=1738888103-muN3s0D5mYVXJbDlb6sD33IF99XEI1mz-0-4ab9add3cfef6d291c6d5718a369fa0f)
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/73_07.jpg?sign=1738888103-awWLdV1mgv2Uvm0mSD1wuhMGoCkq1ioY-0-ac4f10fa5e8ed304a48fa9f62ea57f33)
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/73_08.jpg?sign=1738888103-VfnWwsQbq5ebaOriTZ4IhqIKBdnVlVV7-0-6e777e29b1cedb089d943c4242960855)
3.6.3 蓝牙连接
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/74_01.jpg?sign=1738888103-43CJkNQkY5FHfIAGgc7W5X59gCZ9ENp7-0-e342f34a657611d29a80256c158e934c)
使用蓝牙连接模块的前提条件是:对应的程序块必须打开蓝牙,在蓝牙搜索列表里互相都有蓝牙连接的历史记录(就是程序块之间互相都成功建立过蓝牙连接)。如果没有蓝牙连接的历史记录,蓝牙连接模块有可能会失败,导致程序错误。
一个主EV3程序块可以连接到多达7个从EV3程序块。主EV3程序块可以向每个从EV3程序块发送消息。但是从EV3程序块只能将消息发送回主EV3程序块。从EV3程序块不能直接向其他从EV3程序块发送消息。
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/74_02.jpg?sign=1738888103-X4WPdhh0Fx5rz7hwZ6fSWaZvn6JHeRDT-0-ef0a242aedd317fc13635c54951fda8e)
建立蓝牙连接的时候,请注意程序块的名字要写正确。消息传递模块的程序块名字要写正确。对应到正确的程序块和消息接收模块。
3.6.4 未校准电机
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/75_01.jpg?sign=1738888103-QIO5Dq6i5kVQRi2Q4YJJBp72HxSN3rdW-0-0c49e8353c235e7aa02f89cc7225e190)
未校准电机模块
与常规中型电机模块和大型电机模块不同,未调整电机模块不包括自动电机控制。这表示不会包括任何针对电机功率的自动调整。
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/75_02.jpg?sign=1738888103-7yAUfSuxidd29qWx3VDRB2456yUVUbux-0-22e2ab6737a9c3b96f836828e54ede40)
这是实时显示A,B电机功率的程序。
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/75_03.jpg?sign=1738888103-cLKH4msWmy9YgOEfl8u1A48ZY2xfLME7-0-282a2b3b006d2396ac495bba0cd315c8)
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/75_04.jpg?sign=1738888103-0W0E3V2Bme2BcclPIn8g7hd1NRoMAph8-0-571cc2161ce1fa97c01ca22fbb294c22)
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/75_05.jpg?sign=1738888103-LVQPLdZ63oDUC5DTEZ84Rjg8jzffggEh-0-31c85a759ff4b7af9517912c16c59424)
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/75_06.jpg?sign=1738888103-yyKhkuD79vvsruVcUWpFg5X13aXkVYf7-0-c4803ebab77f93adf49163b8b9bf26ca)
这是官方平衡小子的大型电机控制程序,使用了未校准电机模块控制平衡。
3.6.5 电机反转、停止
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/76_01.jpg?sign=1738888103-2EgwlDuUR477mVPeqVO2ChGt9Lc42G4Q-0-17b8cc5eb9675f630d0a7476cfd1800e)
反转电机模块
反转电机模块会更改电机的旋转方向。在反转电机方向时,通常使电机顺时针转动的编程模块会改为使电机逆时针转动。
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/76_02.jpg?sign=1738888103-DgA9VAEbXcsvvnq9cKB6hyH6QM70ehjv-0-a4ed4d12e968213a5222c1c315947715)
B电机正转1圈,A电机反转1圈,A电机正转一圈,循环。
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/76_03.jpg?sign=1738888103-VLyToGLgFnraVceEAZmXYmnF8H3TKrGu-0-7ee0d51ff231f1cda91089bab8830b18)
停止模块
停止模块会立即终止所有编程模块序列并结束程序。
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/76_04.jpg?sign=1738888103-8eGFrRAvoLHuPmsM7WWVE3J8cbIubkiZ-0-57cc7b80e8f829201569476532b12718)
在EV3屏幕中间显示计时器的数值,程序块的红灯闪烁。按下程序块按钮(上),停止运行整个程序。
3.6.6 数据日志、原始传感器值
在EV3屏幕上同时显示端口1、2、3、4的传感器原始数值,并使用数据日志模块保存到EV3程序块里,生成一个记录文件MyData。
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/77_01.jpg?sign=1738888103-nZsGvHGLhobcW9wawrd7j8XfpZZntcf0-0-623a3673c8f0bac1df1bcbe48a0489b4)
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/77_02.jpg?sign=1738888103-r9l8D1l9XI9ZiSub48uo3FHE5HurRipQ-0-a4315d1d98c2c2d48b5387543f89e0ed)
数据日志模块
数据日志模块用于收集和保存来自传感器的数据。
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/77_03.jpg?sign=1738888103-W8t3ogkSoP2dmkju0usn2CQNF1LgT9It-0-71ad5cf2d9b30f81b187841525ba1678)
原始传感器值模块
原始传感器值模块输出未处理的传感器读数,这是处于范围0到4095中的值。原始传感器值模块只有一种模式。
3.6.7 注释
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/77_04.jpg?sign=1738888103-4ytFSEDqOsKL0BHux2vBfCoCsZxZKg2j-0-4d0924f3814e2efd6cd87fcb4e630108)
注释模块
可使用注释模块在程序中写注释。该模块并非编程模块,也就是说没有任何可编程操作与其关联。该模块通常用于对后续的模块以及预期的操作进行解释。
3.6.8 数据线
使用多任务驱动小车,并播放声音。
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/78_01.jpg?sign=1738888103-rKy19Wh2OMcNx43HxgqEjeWacGAWwkI4-0-fdd8dfb1eb7af55cddb27337758c41ba)
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/78_02.jpg?sign=1738888103-jIHyqNSB4LBTBSrXcAZ9DTFb44nNR1PP-0-f8a71a3b50d1cd92bcf86cacf0e061c6)
数据线:实时显示超声波测量的距离。当距离小于6厘米时退出循环,播放Hello。
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/78_03.jpg?sign=1738888103-Dzyt1nQAVgxsmQFjWiA1J7LTzVCDutIE-0-a6ee9fa878b587f6400cb3cbd0a94cbe)
使用陀螺仪的角度值,实时控制EV3文字在屏幕上左右移动。
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/78_04.jpg?sign=1738888103-ZqI8m5dQBvAsaXmgGCPGsJsx5N87rZvt-0-bf6e169b7495d882348f99ddbf99d201)
![](https://epubservercos.yuewen.com/54B5A3/19549638401509406/epubprivate/OEBPS/Images/78_05.jpg?sign=1738888103-qSjuW6oYMBz1CBky248aiXuNH6JmtIoj-0-76f0a9573bcc1d794fd94dfc7705a7a4)
超声波传感器检测的距离值,实时改变矩形的长度。