EV3/MicroPython 入門

## EV3をMicroPythonで動かそう
本記事では、EV3をMicroPythonで動かすところまでを目標としています。
とても簡単にできるので一緒にがんばっていきましょう！

・[EV3とは](https://afrel.co.jp/product/ev3-introduction)
・[MicroPythonとは](https://ja.wikipedia.org/wiki/MicroPython)

## 準備するもの
・Windows 10のPC
・EV3本体
・SDカード（4GB～32GB）
・USBケーブル（EV3セット内容物）
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/809575/19cd1fba-76a6-e975-de5f-7a4b3cf0a41f.jpeg" width=80%>

## 環境設定
### 1. EV3 MicroPython micro SD Card imageをダウンロードする
以下のLEGO公式サイトを開いて
https://education.lego.com/ja-jp/support/mindstorms-ev3/python-for-ev3
「EV3 MicroPython micro SD Card imageをダウンロードしてください。」をクリックします。
imageファイルのダウンロードが終わるまでしばらく待ちます。

<font color="Red">
※弊社アフレルの他記事にある「ev3dev」とはライブラリなどの環境が違います
</font>

### 2. SDカードにimageファイルを上書きする
Etcherを使っていきますが、imageファイルを上書きできるソフトならなんでもOKです。
[ここ](https://www.balena.io/etcher/)から「Etcher」というソフトをインストールします。
SDカードを用意します。
もしデータがある場合は、フォーマットしておいてください。
PCにSDカードを挿れて、Etcherを起動します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/809575/33faa241-e391-ec9e-d020-f6f9bfcec209.png" width=80%>
挿入したSDカードを選択して、「Flash」することで上書きできます。

### 3. SDカードをEV3に挿れる
MicroPython用のSDカードを用意できたらPCから抜きます。（安全に抜いてください！）
そして、EV3へ差し込みます。
ここでちゃんとimageファイルを上書きできているか確認しましょう。
EV3の電源を入れてこんな画面になれば大丈夫です。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/809575/83d5e31a-3d98-3550-7343-f3f6a77dda16.jpeg" width=40%>

### 4. EV3とPCをUSBケーブルで繋ぐ
EV3とPCをUSBケーブルで繋ぎます。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/809575/0b3ea4ef-0724-b21f-199a-7226559a501e.jpeg" width=50%>

### 5. Visual Studio Codeをインストールする
[ここ](https://azure.microsoft.com/ja-jp/products/visual-studio-code/)からVS Codeをインストールします。

### 6. 拡張機能「EV3 MicroPython」をインストールする
VS CodeにMicroPython用の拡張機能をインストールします。
「Ctrl + Shift + X」を押して拡張機能画面を出します。
検索バーで「EV3 MicroPython」と検索しましょう。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/809575/1550b4f6-5f70-5034-2246-607d5f074a77.png" width=100%>
「LEGO MINDSTORMS EV3 MicroPython」をインストールします。

### 7. プロジェクトの作成
VS Codeの左側に以下のアイコンが表示されていると思います。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/809575/eab2395a-dd4e-e00f-c804-e2c73ccb25d0.png" width=20%>
それをクリックしてタブを開きます。
プロジェクトの新規作成をして、プロジェクト名を入力し、Enterを押します。
プロジェクトを保存する場所を聞かれるので、どこか適当な場所を選んでおきます。

### 8. EV3とEV3 MicroPythonを接続する
VS Codeの左側のファイルタブを開いて、「EV3DEV DEVICE BROWSER」を開きます。
↓これがファイルタブです。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/809575/11359546-977a-fc13-b051-be347698eade.png" width=20%>
「Click here to connect to a device」をクリックして「ev3dev（イーサネット）」を選択します。
このように緑丸が付けば接続成功です！
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/809575/c4ba011c-bc3d-e03b-467c-3bf51ca8c79e.png" width=50%>
特に問題がなければ、これでプログラミングの準備はOK
ひとまずお疲れ様です。

## 動かしてみる
実はプロジェクトを作成した段階で「main.py」というプログラムが作成されています。
EV3 MicroPythonのタブを開いて「main.py」を開きましょう。
なにやら色々書かれていますね。

```python:main.py

#!/usr/bin/env pybricks-micropython
from pybricks.hubs import EV3Brick
from pybricks.ev3devices import (Motor, TouchSensor, ColorSensor,
                                 InfraredSensor, UltrasonicSensor, GyroSensor)
from pybricks.parameters import Port, Stop, Direction, Button, Color
from pybricks.tools import wait, StopWatch, DataLog
from pybricks.robotics import DriveBase
from pybricks.media.ev3dev import SoundFile, ImageFile


# This program requires LEGO EV3 MicroPython v2.0 or higher.
# Click "Open user guide" on the EV3 extension tab for more information.


# Create your objects here.
ev3 = EV3Brick()


# Write your program here.
ev3.speaker.beep()

```

これはプッとブザー音が鳴るプログラムです。
F5を押すとプログラムを実行することができるので
F5を押してみましょう。（エラーが出ませんように！）

どうでしょうか？ブザー音は鳴りましたか？
無事鳴らすことができた方は、入門終了です！
お疲れ様でした。

## 製品のご紹介
EV3を買うならこちらがおすすめ
https://afrel-shop.com/shopdetail/000000000380/ct120/page1/recommend/

## 参考サイト
EV3 による Python プログラミング
https://education.lego.com/ja-jp/support/mindstorms-ev3/python-for-ev3