halocode使ってみた！

# 使用キット
　・Makeblock HaloCode スタンダードキット
　　ワニ口クリップとかAndoroidとかでよく使うmicro USB Type-Bケーブルとか入ってます
![KIMG0074.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/4f8eee37-7d95-4316-d433-76e55c5dc18c.jpeg)

# 環境
OS  ： Windows10
言語 : python（＋ブロック図）

# セットアップ
スタートアップガイドに従ってやってきます
### ソフトウェアダウンロード
　・[mBlock Software Download](http://www.mblock.cc/mblock-software/) をクリック
　・ダウンロードサイトでWindowsをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/b0b50e53-dd9c-eaf7-8e01-e0651b1a2ff3.png)
　・V5.1.0.exe がダウンロードされるので、「管理者として実行」をします
　・日本語を選択してOKをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/06d83551-064c-9912-3cbd-48568b54e56f.png)
　・保存場所もこだわりがなければそのままOKをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/7b19fab0-e913-d3d9-3072-f68fb8a9cd49.png)
　・ショートカットの名前変更もできるみたいですが、今回はそのままで「次へ」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/2386f20a-c4c6-cd7d-f0ac-ffd0ada3a246.png)
　・デスクトップへのショートカット追加もしたいのでそのまま「次へ」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/78d537d7-8b71-c1f2-12ef-8e2336d9a127.png)
　・インストールします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/dec99c4e-bf5a-6510-7f05-a4128916827b.png)
　・1～2分でインストールが終わるので「完了」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/bd0cbca3-445f-3403-7d4f-f92166034b1c.png)
　・mblockの画面が出てきたらソフトウェアのセットアップは完了です
　　途中でパンダが手を振ってくれてめちゃくちゃかわいい
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/45c733af-6da8-d02f-b46c-1b418666a12e.png)
　画面的にはscrachっぽいですね
　パンダがかわいいので圧倒的mblock派になりそうです

### HaloCodeの動作確認
　・HaloCodeとPCを接続します
　　キットの中にあるUSBコードでHaloCodeとPCを繋ぎます
　　繋がるとHaloCodeのLEDがビカビカ光るのでわかりやすいです
![KIMG0075.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/ac73ad04-790c-27d8-2b52-0c5d77928c7e.jpeg)

　・次にソフトウェアとHalocodeの接続を設定します
　・mblockの画面で、デバイスにある追加をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/69d9acb5-009f-93f7-0793-f01317adc17f.png)
　・デバイスライブラリのHaloCodeを選択し「OK」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/2dd8d170-89e9-f860-a276-7eed33459058.png)
　・デバイス欄にHaloCodeが追加されました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/c729f10f-4c1b-90e7-2dfa-197c65a40c07.png)
　・ここで、セットアップで外したHaloCodeをPCと繋ぎなおしましょう
　・繋いだらデバイス欄のアップロードモードを「ON」にして「接続」をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/d39703b5-b54a-f26a-938f-3a7d12fb76f0.png)
　・接続ウィンドウが出てくるので「接続」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/27d1f940-5fea-647e-c3f7-e3133f5d85c1.png)
　・デバイス欄がこんな感じになったらHaloCodeとPCがちゃんとつながっています
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/dcea34f7-7f53-f972-4f24-51b65c4c9be3.png)
　・このままプログラムを作ってるとまぶしいので、「切断」をクリックしてUSBケーブルをPCから抜きましょう
　　プログラムをHaloCodeに書き込むときは上記の手順をもう一回やるとアップロードできるようになります

セットアップは以上で終わりです
次は、HaloCodeを使って遊んでみます

# プログラムの実行
### LEDを赤く光らせる
　・http://docs.makeblock.com/halocode/en/tutorials/use-python.html から
　　pythonのサンプルコードをコピーして、python用のエディターページに書き込みます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/6e9ddcd9-2890-e751-b7d2-3810d6bb3850.png)
↓
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/79cd1792-ac56-3565-ae46-1bae69e75a66.png)

```python:LED.py
import halo
import event

@event.start
def on_start():
    halo.led.show_all(200, 0, 0)  # すべてのLEDを赤色に点灯させる
    time.sleep(5)                 # ５秒間、現在の状態をキープする
    halo.led.off_all()            # すべてのLEDを消灯させる
```
　・デバイス欄からアップロードをクリックして書き込み
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/0e857020-6dde-8df0-f123-d48c2cb570f3.png)


### ボタンを押したらLEDが3秒間赤く光る
　・今度はブロック図からpythonコードに変換してから書き込んでみます
　・下図のようにブロック図を作成します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/daf1448f-6f85-0960-302b-e9b8bcb5395e.png)
　・右端にある＜/＞を押してpythonに変換する
　　PCにHaloCodeを繋いだ状態じゃないと＜/＞が出てこないようなので注意
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/1613c059-9e89-608c-c10e-df46b37a02db.png)
　・変換したプログラムをpythonエディターページにコピーする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/2a5d5066-ea48-ce81-9015-c1fbb0f50503.png)
　・HaloCodeにアップロードして実行すると、ボタンを押したときLEDが赤色に光ります
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208438/0e857020-6dde-8df0-f123-d48c2cb570f3.png)


# あとがき
今回はセットアップとLチカサンプルだけで終了
HaloCodeには他にも音声認識や動作認識（ジャイロセンサ）も積んであるようでまだまだ遊べることが多そうです
ブロック図でのプログラミングも充実してるので子供の自由研究とかにも良さそう