lego ev3 c语言编程,乐高 EV3 高级编程 – 第一课:安装

我的学生写的教程,英文版的,好吧,我翻译一下!

先介绍一下我的学生,今年 12 岁 (2018年),普通 2 等中学初中 2 年级(学校名字就不说了,说了你也没听过!),除了数学和科学比较好,其他科目成绩一般,学习电脑编程 3 年,大概每星期学 2 小时。所以,以下的教程,喜欢编程的小学生和初中生都可以看!

学生写的教程有用吗?好吧,他虽然是个普通学生,但是编程得奖不少,包括本地赛冠军(3 年 4 次)和世界赛冠军(2 年 2 次)。不是说他特别厉害,只不过他用文字编程和别人的图形编程比赛,就像是跑车和自行车比赛,赢了也是正常的!

以下就是他写的教程,关于 EV3 的暂时有 8 课,我一课一课的翻译!

EV3: Lesson 1 – Introduction to EV3 Python and Installation

EV3: 第一课 – EV3 Python 编程的介绍及安装

Preface 前言

Who should learn EV3 Python?

Anyone that are interested in robot programming using Lego EV3.

谁应该学习 EV3 Python 编程?

任何人有兴趣使用乐高 EV3 机器人编程

What do you need to learn EV3 Python?

- an EV3 set, either the Home Edition 31313, or the Education Edition 45544 and 45560 (Education Extension Set).

- a Windows PC, with at least 4GB memory and 100GB hard disk space, running Windows 7 or above.

你需要什么才能学习 EV3 Python 编程

- 一台 EV3,可以是 31313 家庭版,或者是 教育版 45544 和 45560

- 一台 Windows 电脑,最少 4GB 内存和 100GB 硬盘,操作系统 Win 7 或以上

1.1 Compare EV3 Lego and EV3 Python

1.1 比较 EV3 乐高图形编程 及 EV3 Python 文字编程

Let’s take a look at a simple python program, this program stores the largest of a,b,c into the variable strBiggest.

我们一起看看一个简单的 Python 程序,这个程序比较 3 个变数 a, b, c 并把最大的存到字符串变数 strBiggest 里。

a = 1

b = 2

c = 3

strBiggest = ""

if (a > b):

if (a > c):

strBiggest = "a"

else:

strBiggest = "c"

else:

if (b > c):

strBiggest = "b"

else:

strBiggest = "c"

To create the same program using Lego Graphical Programming, the program will be like this:

同样的程序如果用乐高图形编程,程序会像下面这样:

bf14290fc08778a813f44e3ebaa862df.png

Figure 1.1

It is obvious that EV3 python is more “Readable” than EV3 Lego programs, and, this is only a 2 levels “if” statements, for 4 levels or 5 levels “if”, the EV3 Lego graphical program will become very difficult to read and maintain.

很明显的,EV3 Python 文字编程比 乐高图形编程 有更好的【可读性】,以上只是两层 if ,如果出现 4 到 5 层 if, 那么乐高图形编程的图形就会太大(太高),变得难以查看及修改。

In addtion, features provided by Lego Graphical Programming are limited, you’ll never be able to write some robot programs in Lego grahphical programming, e.g. To control an EV3 using a PC or a mobile phone over the internet!!!

再者,乐高图形编程功能有限,有些程序是肯定写不了的,比方说,你不可能写一个透过互联网,手机远程控制 EV3 的程序!!!

1.2 EV3 Python Installation

1.2 EV3 Python 安装

1.2.1 Download the EV3DEV Operating System

1.2.1 下载 EV3DEV 操作系统

In order to use Python program to control EV3, we need to use a micro sd-card to boot the EV3, this micro sd-card is loaded with a Debian Linux system called EV3DEV.

You can switch back to Lego Operating System at any time by removing the sd-card and reboot the EV3, so it is safe to do so.

为了使用 Python 编程,我们需要一张安装了一个叫 EV3DEV 的 Debian Linux 系统的Micro-SD 卡并插入 EV3 开机。

使用 EV3DEV 操作系统是安全的,你随时可以摆掉 SD 卡,重新开机,EV3 就会用回原来的乐高操作系统。

To download the EV3DEV image, open a browser and go to this web site:

要下载 EV3DEV,用电脑浏览器打开以下网址:

http://www.ev3dev.org

【译者(2018/09/22) 按: 请注意,不知道那天开始,ev3dev 已经出了 2.0 beta 版本,版本名字叫 Stretch, 此 Beta 版和 1.0 的 Jessie 版完全不兼容,本教程使用的是 1.0 Jessie 版本,将来 2.0 版本稳定后,才会将源代码改为 2.0 版,据我所知,在功能方面,两个版本基本一样的,只是 2.0 版本用起来更方便,但是由于作者已经把 EV3 功能使用面向对象方法封装在 robot.py 里,因此,使用 1.0 和 2.0 对于读者是没有区别的!】

then click “Downloads”:

然后按【Downloads】: 【这里请务必下载 1.0 Jessie 版本,不要下载2.0 Stretch 版本】

7f4bb237b12c507f9ef691f6bf59b616.png

Figure 1.2

Now, click “Download for EV3″, unzip the download file and you will get an .img file.

现在,按【Download for EV3】,解压下载的文档,你会得到一个 .img 档案。

1.2.2 Download the Win32 Disk Imager

1.2.2 下载 Win32 Disk Imager

To make the sd-card bootable, we need to use a program called “Win32 Disk Imager”, download and install it using the following url:

要让那张 SD 卡开机,我们必须用一个叫【Win32 Disk Imager】的程序,使用下面的链接下载它:

https://sourceforge.net/projects/win32diskimager/files/latest/download

Now, insert the sd-card into your PC, run the Win32 Disk Imager, select the .img file, select your sd-card drive number, and click “Write”:

现在,把空白的 SD 卡插入电脑,运行 Win32 Disk Imager, 选择刚才解压的 .img 档案,选择你的 SD 卡驱动号,然后点击【Write】:

f8590841891e52ef069ac91821704332.png

Figure 1.3

The sd-card will be prepared within a few minutes.

几分钟后,sd-card 就会准备好了

1.2.3 Boot the EV3 brick into the EV3DEV system

1.2.3 使用 EV3DEV 开机

Power off your EV3 brick if it is on, insert the micro sd-card and power on again, after a couple of minutes, it should look like this:

如果你的 EV3 是在开机状态,把它关机,插入 SD 卡,然后开机,几分钟后,画面会变成这样:

bfa1bc3a8687e87d6eef3d0bf44d3bec.png

Figure 1.4

The “8.00″ is the approximate voltage of the battery remaining, you need to recharge and replace your battery if this value is under 7.00, otherwise it may not have enough voltage to run the motors.

右上角的【8.00】表示电池电压,如果低于 7.00,你就要换电池了,不然它可能推不动马达。

1.3 Choose an appropriate IDE

1.3 选择合适的编程工具 IDE

To write python programs, you’ll need an IDE, you can use “Notepad”, or “Sublime Text 3″, or any other IDE you like. In later lessons, we’ll learn how to use Client Server Socket connection to control an EV3 over the Internet, that would require some Microsoft Technologies, so we’ll use Microsoft Visual Studio 2017 Community as the IDE.

要写 Python 程序,你需要使用编程工具 IDE,你可以使用【写字板】,或者【Sublime Text 3】,或者其他你喜欢的 IDE。在后面的课程,我们有机会学习如何使用【客户端/服务器 Socket 套接字连接】,并透过互联网控制 EV3,这个程序需要一些【微软】的技术,因此,我们会使用 Microsoft Visual Studio 2017 Community 作为 IDE。

Another reason is that we can use the Team Development features of the Visual Studio, so that your programming team can write/modify the same programs with version controls.

另外一个原因是,很多时候我们需要几个人一起写同一个项目/程序,Visual Studio 里面有团队编写程序功能,可以使用版本控制功能多人一起修改程序。

To download Microsoft Visual Studio 2017 Community, go to the following web-site:

要下载 Microsoft Visual Studio 2017 Community,请到以下网址下载:

http://www.visualstudio.com

Then download and run Visual Studio Community installation program. For future developments, we must choose at least the following components during the installation:

然后安装,为了将来的编程,我们最少要安装以下的功能:

- Windows Platform Development

- .NET Desktop Development

- http://ASP.NET and Web Development

- Python Development

- Node.js Development

- Javascripe Cross Platform Mobile Development

It may take more than an hour to finish the installation.

安装过程大概需要超过 1 小时。

1.4 Tools to upload Python programs into the EV3 brick

1.4 把 Python 程序上传到 EV3 的工具

To upload the python program into the EV3 brick, we’ll need another program called WinSCP, download and install the WinSCP in the following url:

把 Python 程序上传到 EV3,我们需要一个叫 【WinSCP】的程序,可以在下面链接下载并 安装:

https://winscp.net/eng/download.php

Now, we are going to write our first “Hello World” program in our next lesson.

下一课,我们将会写第一个 EV3 Python 程序 【Hello World】。

始发于知乎专栏:ken

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/328982.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java GC系列(4):垃圾回收监视和分析

转载自 Java GC系列(4):垃圾回收监视和分析在这个Java GC系列教程中,让我们学习用于垃圾回收监视和分析的工具。然后,选用一种工具来监视一个Java示例程序的垃圾回收过程。如果你是一名初学者,你最好仔细阅…

ASP.NET Core开发-使用Nancy框架

Nancy简介 Nancy是一个轻量级的独立的框架,下面是官网的一些介绍: Nancy 是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台,框架的目标是保持尽可能多的方式,并提供一个super-duper-happy-path所有交互。Nancy …

属性 方法c语言,C语言如何实现C++中对象属性和方法

在C中,我们常见到用类定义一个对象,这个对象可以有他自己的属性(数据)和方法(函数),而在C语言的正常语法中,是禁止在结构体中定义函数的。在一个关于触摸屏的驱动程序中发现,用C语言的也可以实现对象的方法(函数)。首先…

2023年山东省职业院校技能大赛高职组 “软件测试”赛项竞赛任务书

2023年山东省职业院校技能大赛高职组 “软件测试”赛项竞赛任务书 竞赛概述 1.1.竞赛时间 本次竞赛时间共为8小时,参赛选手自行安排任务进度,休息、饮水、如厕等不设专门用时,统一含在竞赛时间内。 1.2.竞赛内容 功能测试的测试计划设计、测试…

当当网新用户注册界面——JS代码

<span style"color:#ff9966;"><span style"font-size: 32px;"><strong>所有用到的图片都已上传&#xff0c;请在</strong></span></span><a target_blank href"http://download.csdn.net/detail/qq_34137397/…

Java 内存区域和GC机制

转载自 Java 内存区域和GC机制Java垃圾回收概况Java GC&#xff08;Garbage Collection&#xff0c;垃圾收集&#xff0c;垃圾回收&#xff09;机制&#xff0c;是Java与C/C的主要区别之一&#xff0c;作为Java开发者&#xff0c;一般不需要专门编写内存回收和垃圾清理代 码&a…

docker – 你应该知道的10件事

容器并不是一个全新的技术&#xff0c;但这并不妨碍Docker如风暴一样席卷整个世界。 如果你在IT圈里&#xff0c;你一定听说过Docker。就算与其他热门技术&#xff0c;如&#xff1a;Puppet/Chef&#xff0c;Hadoop或者MongoDB放在一起&#xff0c;Docker仍然让你耳目一新。 不…

c语言运行太短怎么毡筒,C语言编程中的常见问题-最新文档.doc

C语言编程中的常见问题-最新文档.doc激也浸簧哼贰罪匠智事帛棕错永荤腑亦蛋讳躇睁传耀如雾油瘤十倍骋代敌楼毒伟愿煎蜡斌牺脯莆义贴炳揣烧瑶馅熟旨渍暂躲孟幢漏件哭射酱昏差辱尤可耕宾谍拼渠乱御日癸拳柱络胺农迸效催窒踩移呈德舞耀弗纽懈禄幕吁廖恫纺赖赚念状币溪追旧隐溢候粪…

解决.NET Core中MailKit无法使用阿里云邮件推送服务的问题

在博问中&#xff08;.net core怎么实现邮件发送&#xff09;知道了MailKit无法使用阿里云邮件推送服务发送邮件的问题&#xff0c;自已实测也遇到同样的问题&#xff0c;而用自己搭建的邮件服务器没这个问题。 于是&#xff0c;向阿里云提交了工单。。。在提供了TCP抓包数据后…

JVM内存管理------垃圾搜集器参数精解

转载自 JVM内存管理------垃圾搜集器参数精解垃圾搜集器选择参数UseSerialGC&#xff1a;开启此参数使用serial & serial old搜集器&#xff08;client模式默认值&#xff09;。UseParNewGC&#xff1a;开启此参数使用ParNew & serial old搜集器&#xff08;不推荐&a…

笑死了,打错一个字,竟然...

淘宝上&#xff0c;让人快活的打字错误&#xff1a; -有大妈吗&#xff1f;&#xff08;大码&#xff09; -亲&#xff0c;客服最大的27岁 -你能活到付款吗&#xff1f;&#xff08;货到付款&#xff09; -亲&#xff0c;我尽量 -你们有尸体店吗&#xff1f;&#xff08;实…

c语言模拟题答案及解析,全国计算机等考二级C语言模拟试题,答案及解析一

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼(18)下列程序的输出结果是_________。Main(){ int i&#xff1b;for(i1&#xff1b;il&#xff1b;i){ if(i>4){printlf("&#xff05;d"&#xff0c;i)&#xff1b;break&#xff1b;}}printf("&#xff05…

.NET Core全新路线图

.NET Core / ASP.NET Core 1 RTM发布两周后&#xff0c;社区也很积极&#xff0c;收到了非常多的反馈&#xff0c;上周五微软的scott Hunter 在dotnet团队官方博客上发布了.NET Core全新的路线图https://blogs.msdn.microsoft.com/dotnet/2016/07/15/net-core-roadmap/这个路线…

JVM内存管理------垃圾搜集器精解

转载自 JVM内存管理------垃圾搜集器精解引言在上一章我们已经探讨过hotspot上垃圾搜集器的实现&#xff0c;一共有六种实现六种组合。本次LZ与各位一起探讨下这六种搜集器各自的威力以及组合的威力如何。为了方便各位的观看与对比&#xff0c;LZ决定采用当初写设计模式时使用…

最新开发android版本,Android版本检测升级

我们应该都有类似的使用体验&#xff0c;当一款APP需要更新是&#xff0c;进入界面会提醒有新的更新是否更新&#xff0c;这里有那么几个步骤1、首先检测当前版本2、判断服务器中版本3、如果有更新则点击更新&#xff0c;下载安装包&#xff0c;下载完成后自动安装具体代码怎么…

每一个C#开发者必须知道的13件事情

1. 开发流程 程序的 Bug 与瑕疵往往出现于开发流程当中。只要对工具善加利用&#xff0c;就有助于在你发布程序之前便将问题发现&#xff0c;或避开这些问题。 标准化代码书写 标准化代码书写可以使代码更加易于维护&#xff0c;尤其是在代码由多个开发者或团队进行开发与维护时…

利用命令来打开所有程序,这个装逼给满分!

如何利用命令来实现打开程序&#xff1f;这样我们还可以让桌面一个图标不留&#xff01;首先我们在桌面新建一个文件夹&#xff0c;然后以配音命名&#xff0c;这个时候我们将桌面上的图标拖进这个文件夹。 然后将我们的图标名称修改成好记的名称&#xff0c;比如&#xff1a;…

JVM内存管理------GC算法精解(复制算法与标记/整理算法)

转载自 JVM内存管理------GC算法精解&#xff08;复制算法与标记/整理算法&#xff09;本次LZ和各位分享GC最后两种算法&#xff0c;复制算法以及标记/整理算法。上一章在讲解标记/清除算法时已经提到过&#xff0c;这两种算法都是在此基础上演化而来的&#xff0c;究竟这两种…

android url回调json,【求助】本地页面如何取某个URL返回的json

[HTML] 纯文本查看 复制代码getJSON获取数据#divbox{ border:1px solid #ddd; width:500px; margin:0 auto;}.load{ background:#eee; height:30px;}$(function () {//点击按钮获取数据$("#btn").click(function () {$.ajax({//json链接url:"https://h5.jinjied…

ASP.NET Core 十种方式扩展你的 Views

原文地址&#xff1a;http://asp.net-hacker.rocks/2016/02/18/extending-razor-views.html作者&#xff1a;Jrgen Gutsch翻译&#xff1a;杨晓东(Savorboard) 现在&#xff0c;已经有很多种方式来扩展Razor视图了&#xff0c;我们循循渐进&#xff0c;先从最简单的开始。如果你…