找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 3783|回复: 0

【EV3与物联网系列教程】10使用ev3dev2函数库

[复制链接]
发表于 2022-12-3 11:02:11 | 显示全部楼层 |阅读模式
本帖最后由 蒙德·究史尼 于 2022-12-3 11:05 编辑

上一篇:https://bbs.cmnxt.com/forum.php?mod=viewthread&tid=65468




这一篇讲的是运用ev3dev2函数库操作EV3的电机和传感器的方法。


使用ev3dev2函数库
上一篇的Hello world示例只使用了最基本的功能,输出了最简单的结果。要发挥EV3的特长——电机和传感器的话,就需要用到操作EV3的函数库。我们以ev3dev2为例。

简单程序示例

操作EV3内置的喇叭
EV3内置一个喇叭,可以发出声音。在Thonny里输入以下代码:
  1. from ev3dev2.sound import Sound
  2. speaker01 = Sound()
  3. speaker01.beep()
复制代码
这段程序首先导入了ev3dev2库的sound声音功能,然后创建了一个喇叭对象,名为speaker01,最后,让speaker01发出响声。
按F5键运行,等待大约10秒后可听到EV3内置的喇叭发出响声。

操作EV3的大型电机
现在,把一个EV3大型电机连接到EV3的B接口,新建一个文件,输入以下代码:
  1. from ev3dev2.motor import LargeMotor
  2. motor01 = LargeMotor(address='ev3-ports:outB')
  3. motor01.on_for_rotations(speed=75, rotations=5, brake=True)
复制代码
上面这段程序导入了ev3dev2库的motor电机功能,然后创建了一个连接到B接口的电机对象,名为motor01,最后,让motor0175%的速度旋转5圈,刹车停止。
运行程序以后,EV3大型电机会旋转5圈然后突然停止旋转。
LargeMotor()函数里的参数address表示的是插入的电机端口,可以空着不写。如果不写的话,EV3会自动检测哪个端口有电机插入。但是,如果有多个电机插入的话,就必须手动指定电机端口。

操作EV3的颜色传感器
把一个EV3颜色传感器连接到EV3的3接口,新建一个文件,输入以下代码:
  1. from ev3dev2.sensor.lego import ColorSensor
  2. colorsensor01 = ColorSensor(address='ev3-ports:in3')
  3. print(colorsensor01.reflected_light_intensity)
复制代码
这段程序导入了ev3dev2库的sensor传感器功能,然后创建了一个连接到3接口的颜色传感器对象,名为colorsensor01,最后,用colorsensor01测量反射光强度并输出。
ColorSensor()函数里的参数address表示的是插入的传感器端口,可以空着不写。如果不写的话,EV3会自动检测哪个端口有颜色传感器插入。但是,如果有多个颜色传感器插入的话(例如双光电巡线),就必须手动指定传感器的端口。

ev3dev2函数库参考资料
看到这里,可能有同学或老师们想问了,你这些函数都是从哪来的啊?去哪里查这个函数库的使用方法?比如我想用Python获取EV3的4号传感器端口的超声波传感器的距离数值,该用什么函数?格式怎么写?这些知识需要去ev3dev2的各种帮助文档和示例程序里查找。
从上文我写的几段示例程序中不难看出,这些Python函数的名称大多都是对应功能的英文直译。这对学生的英语词汇量有较高的要求。对于词汇量大的学生而言,理解起来很容易。对于词汇量较小的学生而言,理解起来较为困难。不同城市的英语普及程度不尽相同。在英语普及程度较高的城市开展这个课程更为容易,因为学生的语言障碍更少。

ev3dev2函数库API说明(全英文),示例程序较少,比较晦涩难懂。国内可直连。
ev3dev2小车案例教学(全英文),有示例程序。需要科学的上网。
项目示例程序(全英文)。有时需要科学的上网。
ev3dev2函数库github官网(全英文)。有时需要科学的上网。



如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-11-22 11:25 , Processed in 0.077876 second(s), 20 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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