掃除機Hackのための環境設定

前回の「掃除機Hack!」の記事
https://qiita.com/nanbuwks/items/6b7c2ee0a9b75843097e
(同人誌 お家で科学 Vol.3に収録)
にて中国製のロボット掃除機を教育用に応用しよう！ と書きました。

その後、分解、改造、プログラムしてコースを走らせるワークショップを日本および世界各地で行いました。
[]( scale=0.5 )![IMG_20190427_105315_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/f4752ce1-c2e2-42a6-b0f9-5ce5980e8910.jpeg)
大人も
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/b82f669b-f43a-0aa4-020d-1376eca0997a.png)
キッズも

![IMG_20190511_163704.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/95a9dd83-eb04-62d7-4497-ed287addeadd.jpeg)
大熱中！

ここでは、ワークショップを学んだ人が、自分のパソコンで同じように掃除機にプログラムする方法について説明します。


# 用意する実験機材

## 掃除機

東莞市風瑞電子科技有限公司(中国語表記 东莞市凤瑞电子科技有限公司)の掃除機を使っています。

http://fengruigaoke.znjj.tv/
https://fengrui.suning.com/

FR-8系のものがSTM32のCPUなので、これを使います。

なお、その他のバリエーションとして、

- FR-AI02系のものはCPUがAM380
- FR-6系のものはCPUがSTC 15F2K60

を使用しています。

![IMG_20190805_173143.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/d4b6d49a-96f7-8c6c-c68d-7c0fb870027e.jpeg)
パッケージ内容一式です。右下のバーチャルウォール（禁止帯ビーム放射装置）はオプションです。


### 書き込み装置

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/a942883f-3c25-72cb-ddf0-7f08d4eef683.png)
掃除機に刺すためのケーブルと、プログラムモジュールとして ST-Link を使います。
ワークショップ以外で入手したい方はご相談ください。

## PC

Linux/Mac/windowsいずれもOKです。

## 練習用のマイコンボード

STM32を使う場合と、ArduinoUnoを使う場合があります。

STM32マイコンボードはBlue Pillと呼ばれるもの。ワークショップでは RobotDyn STM32F103 Dev.Board を使用しています。
Arduino Uno は互換機でもいいですが、シリアルモジュールがCPUに認識できるようにしておいてください。

## その他実験に使うもの

- プラスドライバー #1
- プラスドライバー #2
- ブレッドボード
- LEDと抵抗、あるいは抵抗付きLED
- ジャンパーケーブル（必要に応じ）

# テキスト
![Screenshot from 2019-08-05 12-18-27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/72f0182c-7f44-0122-6ad1-70ce50900746.png)
練習パートにSTM32マイコンボードを使ったものと、Arduino Unoを使ったものがあります。

## STMマイコンボードを使ったテキスト

「ロボットそうじきではじめるせいぎょたいけん」
こちらから、ダウンロードしてください。

https://ja.osdn.net/projects/akbone/releases/
から、akbone text → 201905 → text201905126.pdf 

## Arduino Uno を使ったテキスト

オンラインで参照してください。
「そうじき を プログラム！ (キッズようテキスト)」
https://qiita.com/nanbuwks/items/7ef60bbcabb6dfec39e7

# プログラム環境の説明

Arduino開発環境に、以下を追加で設定しています。

- STM32duinoを設定
- オリジナルボード設定追加
- Ardublock 掃除機対応バージョンを設定

## ポータブル開発環境

既にインストールしている環境にかかわらず利用できるポータブル環境をAKBONEプロジェクトページで配布しています。

https://ja.osdn.net/projects/akbone/releases/
から、

ArduinoIDE,追加ボード,Ardublock一式 ポータブル環境 →201906
から、Windows、Mac、Linux用を選んでダウンロードしてください。

その後、READMEをダウンロードして、指示の通り進んでください。

## ポータブル開発環境ではなく、自分で設定したい人

https://ja.osdn.net/projects/akbone/releases/
から、
ArduinoIDE,追加ボード,Ardublock一式 ポータブル環境 →201906
から、READMEをダウンロードないし表示し、その内容に沿ってインストールします

## 起動する

Arduino環境が機動すればこのような画面になります
![Screenshot from 2019-08-05 14-06-15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/c94385b0-9beb-8fcc-7047-dd2e2a2f194e.png)
Arduino環境の設定

[]( scale=0.6 )![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/c230bb0a-bf28-a3bf-24f0-6b28b8d0a72d.png)
「ツール」を押して。このように設定してください。
Ardublockの起動
「ツール」-「ArduBlock」とします。
![Screenshot from 2019-08-05 14-09-58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/a62eb473-e63e-9b14-4dc9-723b3f6987a1.png)
Ardublockを起動するとこのような画面になります。
![Screenshot from 2019-08-05 14-11-14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/fc0e26ca-e0fb-42eb-90ea-579f6c4010e8.png)
そうじきブロックは現在このように定義されています。
![Screenshot from 2019-08-05 14-14-15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/2b9dcb7a-bb86-c3cd-4cca-ccdb20defed4.png)
ロケールが異なる場合は英語表示になります。