子供用ロボット Vortexとは

# このQiitaの目的
VortexはScratchでプログラムができるらしいという情報だけでScratchを覚えた自分の子供用に購入した。
購入後にScratchの連携に必要なアプリケーションがWindows版の提供されており私の環境で利用できないことを知った。Scratch以外でプログラムする方法を調査したので提供する

- 子供用ロボット Vortexで何ができるのか
- プログラミング環境を選択するための情報

# Vortexとは
子供のための最初のロボット
LEDの点滅、スピーカー出力、車輪によるロボットの操作やセンサー情報を取得することができる

https://www.amazon.co.jp/DFRobot-ROB0129-Vortex-子ども向けコーディング学習用ロボット（1体パック）/dp/B01AXRPKTK/

![1c7266cba0341e2bfe523f58ae6f279f_original.png](https://qiita-image-store.s3.amazonaws.com/0/47064/ed947817-7bd5-65bc-8d92-fd9a82f390a9.png)

## できること

- Vortex Bot(iOS/Androidアプリ)による操作
- iPadやScratchを利用したプログラミング

### Vortex Botでできること
Vortex Botだけでも子供は楽しそう

- ドライブ
    - 移動
    - しゃべる
- ゲーム
    - ゴルフ
    - ダンス
    - サッカー(2台必要）
    - 相撲 (2台必要）
    

https://itunes.apple.com/jp/app/vortexbot/id968378040?mt=8

## スペック

![specq.png](https://qiita-image-store.s3.amazonaws.com/0/47064/6f237e98-870d-aceb-fff3-62225d1b931e.png)

|機能  | Vortex | 
|:-----------|:-----------|
|CPU|Atmega328|
|サイズ|W120mm * D120mm * H64mm|
|電力|単三電池 * 4本|
|最低地上高|3mm|
|ライト| RGB LED 12個|
|ディスプレイ|32個の目の表情(*1)|
|コニュニケーション|Bluetooth 4.0/USB/I2C|
|センサー|2 * 赤外線近接センサー <br>2 * スピードコントローラー <br>6 * 地面センサー|
|音源| 8MメモリのMP3サウンドプレイヤー|
https://www.dfrobot.com/vortex/images/specq.png

## 製造元
DFROBOT
https://www.dfrobot.com

DFRobotは、Arduino/Raspberry Pi のモジュールとロボット・プラットホームを提供しています 

# Vortexプログラミング環境
## プログラミングでできること
VortexがコントロールできるモジュールをWhenGOのマニュアルから抜粋した

| モジュール | 機能 |設定値および戻り値　 |
|:-----------|:-----------|:-----------|
|Vortex Eyes  | 目の設定とON/OFF | 0-32の表情を設定および色(RGB)を設定        |
|Vortex Motor| スピードコントローラーの速度を設定   | モーターの速度を設定(0-255)  0は停止      |
|Vortex Light|トップおよびボトムライトをON/OFF|         |
|Vortex Music Player| 音楽の設定とON/OFF      |  0-31まで音楽を設定できる       |
|Vortex Proximity Sensor| 赤外線近接センサーの状態の取得 |ものを検知したらTrue |
|Vortex Grayscale Sensor| グランドセンサーの状態の取得|グレースケール物理値(0-255)を返す |
|その他|演算やDFRobotのセンサーをプラグインとして利用可能||


## プログラミング比較

| 機能 | WhenDO | Scratch | Arduino | AruduBlock |
|:-----------|:-----------|:-----------|:-----------|:-----------|
| 開発OS       |       iOS(iPad専用） |     Windows     | Windows/Mac/Linux| Windows/Mac/Linux|
|IDE|WhenDO|Scratch 2.0 | Arduino IDE|Arduino IDE|
|言語|ビジュアル| ビジュアル |Wiring から派生したもの| ビジュアル |
|リモート操作|なし| | | |


## WhenDo
iPadアプリであるWhenDoでプログラミングできる。Bluetoothを経由し命令を実行する
![sc552x414.jpeg](https://qiita-image-store.s3.amazonaws.com/0/47064/5790aaa8-545c-7f81-ed3e-c442afefab86.jpeg)

### 必要環境
- WhenDO(iPad専用)
    - https://itunes.apple.com/jp/app/whendo/id1001086940
- インターネット接続

## Arduino
VortexはArduino 基板上でつくられているため、Arduinoソフトウェアを利用してプログラミングできる。
USB または Bluetoothを経由し命令を実行する。

### 必要環境
- Arduino IDE
    - 本家マニュアルでは、Arduino IDEとのみ
- USB経由でプログラミングするばあいは micro USB のケーブルが必要

### チュートリアル 
https://www.dfrobot.com/wiki/index.php/Vortex_Arduino_Coding_Tutorial_V1.0

## Scratch
ビジュアルプログラミングツールScratchでプログラミングできる。Bluetoothを経由し命令を実行する。
![scratch.png](https://qiita-image-store.s3.amazonaws.com/0/47064/b3c1a3c8-4ce8-adb6-6689-206eafc9cce0.png)

https://github.com/DFRobot/DFResources/raw/master/Vortex%20Documents/s4a%20for%20vortex%20tutorial.pdf

### 必要環境
ScratchでVortexのプログラミングするには、以下のソフトウェアが必要。
DF4ScratchというプラグインがWindowsしか存在しない

- Arduino IDE
- DF4Scratch Plugin
    - https://github.com/DFRobot/DFResources/raw/master/Vortex4Scratch/DF4Scratch_EN.zip
- Scratch 2.0


### Scratchとは
子ども向けプログラミング言語
https://ja.wikipedia.org/wiki/Scratch_(プログラミング言語)

## AruduBlock
ArdublockというArduinoで使えるビジュアルプログラミング言語でも開発できるらしい
Arduino IDEのメニューからツール→ArduBlockをクリックすることで起動はできた

# 各種リンク

- 本家
    - https://www.dfrobot.com/vortex/
- KickStsrter(動画あり）
    - https://www.kickstarter.com/projects/1371216747/vortex-robotic-toy-re-invented
- Vortex Arduino Coding Tutorial V1.0
    - https://www.dfrobot.com/wiki/index.php/Vortex_Arduino_Coding_Tutorial_V1.0


# まとめ

Vortexを買ってすぐの感想として「子供のための最初のロボット」ではあるが「子供のための最初のロボットプログラミング」ではない。
せっかく買ったのと、子供もデザインが可愛いため気に入っているようなので、ひきつづき「Vortexでのロボットプログラミング」の方法を調査したい。