掃除機Hack!

深センで、掃除機を買ってみました。
![IMG_20181209_122554.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/31021f8f-cdab-01b7-a07f-1d58a0955ae0.jpeg)


買ったのは、電気街です。少し値切って７００元。日本円で１万円少々ですね。


![IMG_20181209_121525.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/5a1e3d93-574a-b78e-49fa-877554b6b4b3.jpeg)


どうして掃除機を買ったかというと、深センで基板を作成するワークショップをやったのですが、
![IMG_20181207_110520.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/608a6790-bfba-b252-d34e-fac313ecbce8.jpeg)

参加者のひとりがロボットのプロトタイピングで足回りを作りたいということで、メカ部を既存品を流用して作ろうとしました。電気街で使えそうなものとして、掃除機を選定しました。

# 掃除機の機能

梱包内容
![IMG_20190414_073220.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/8d5a02e7-9a75-1e54-f4eb-8452134171ed.jpeg)

掃除をする機能のほか、充電ステーションに自動帰還して充電ができます。

![IMG_20181209_124905.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/9d9a4e89-c3ed-fc43-3840-b1a64355d445.jpeg)



# Hack その1 内部調査


分解をします。
![IMG_20181209_131156.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/76325532-6fea-b107-ceb7-d0e04e787564.jpeg)

コントローラー基板
![IMG_20181209_131420.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/415fc289-5cf4-e07f-5241-933eb0075aef.jpeg)

コントローラー基板の裏側です
![IMG_20181209_131510.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/d502cfb8-6475-69e1-b428-52889045634e.jpeg)

![IMG_20181211_110129.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/ef0f0541-aaf3-54d9-9ddf-784a80fe90b6.jpeg)
センサーなどいろいろついています
![IMG_20190326_201832.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/a94fe7e1-3de9-eec2-03ba-4bb94a2b38ff.jpeg)




モーターユニットです

![IMG_20181211_110411.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/51c8035e-db08-519b-3fa2-ffd095a0bae8.jpeg)

モーターにはエンコーダーがついています
![IMG_20181211_110732.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/712c5cef-57a8-7789-8656-4d318546321b.jpeg)



# Hack その2 外部にハードウェアをつなげてコントロール

さて、これの制御を乗っ取って、自由にコントロールできるようにします。


モーターコネクタ
![IMG_20181211_110212.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/2f75057c-cc2d-2d38-5e3c-8a1aa9967949.jpeg)

コネクタから配線をたどると、モータードライバがありました。
![IMG_20181211_111556.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/28da0ed1-804f-6b06-ea98-ecadf5e61f01.jpeg)



モータードライバーはこれでした
https://www.allegromicro.com/

![image.png](https://qiita-image-store.s3.amazonaws.com/0/139524/a4733db1-477d-b2e5-9de3-3ea7ceceb9c7.png)


データシートから、ピン２番と３番に信号を入れるといいみたいです

モータードライバの制御信号をインジェクションして

![IMG_20181211_142740.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/0f74bdfe-0529-5cbb-cd8b-74adaac85911.jpeg)

改造して線を外に出してきます


![IMG_20181211_145046.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/ec2ec613-c0cd-d906-47c7-07956ed379c7.jpeg)

ESP32から信号を送るようにしました

![IMG_20181211_152800.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/644829b1-3b75-1183-b3ae-b6d61a3c51b4.jpeg)


スマホのアプリから、ボタンを押すとこのようなASCIIキャラクタを送信するように設定しました
![Screenshot_20181211-164718.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/d69d9ab1-e650-b8c1-6d79-99b9dceeeeac.jpeg)


動かしているところ

![IMG_20181212_121027.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/9d4e36c0-1cc7-2e99-b9a3-25d598f89723.jpeg)


# Hack その3 プログラム書き換え制御

さて、ロボットの足回りの試作はできたのですが、調べているとマイコンにSTMicrosystems STM32が入ってました
![IMG_20181209_131719.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/110fe728-9a8d-bb22-5991-8dd17b076d7e.jpeg)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/139524/3ea059f7-5c73-7081-3ead-38c18b6cd585.png)


ここにプログラムポートが出ていました
![IMG_20190208_144913.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/f5680e3e-e2cb-a3af-027a-956a5f9f961c.jpeg)

ということは、プログラム書き換えできるのではないでしょうか。

配線します
![IMG_20190208_161029.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/30217f10-01ac-8f30-a202-afec4edff527.jpeg)

ここに、ST-Linkをつなげました。

プロテクトかかってましたが、あれこれ試しているとプログラムが書き換えできました。


後にインターフェースケーブルを購入
![IMG_20190326_174245.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/357cdaf5-ca55-5be7-b61c-fb253c528c5d.jpeg)


これで、いろんなプロトタイプのベースとしての活用ができるようになりました。

# Hack その4 教育用に応用

電子工作ではまず最初にLチカをしますが
![IMG_20181209_104528.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/76e06582-267b-9d08-f2b7-c6952a488e64.jpeg)


その次、何をするかというと結構困ってしまいます。ロボットやりたいけれど高い・・・

でもこの掃除機であれば制御が簡単で、値段も安く、パワフルでいろいろ応用できそうです。



ArduBlockでプログラムすると、こんな感じでモーターを動かすテストができます。

![IMG_20181211_160703.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/9f65e896-d334-4dc1-0bbb-debe1afeee8a.jpeg)

ブロックプログラミングしているところ
![IMG_20181211_160655.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/505939be-d474-17b8-4a89-d3d351e2f362.jpeg)


このように考えて楽しくプログラムできるのではないでしょうか。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/a8a6dcae-9197-c262-5ec2-d5101476c0d9.png)


# Hack その5 工場突撃

掃除機を、教育用に応用することができるように掃除機の会社と協力してもらえないかと考えました。

掃除機の工場へ行ってきました

![IMG_20190304_133414.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/0be69977-0b7c-07d4-3f9e-4ea76279bcf1.jpeg)

プレゼンしてきました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/1b1b03c6-0b1d-9a82-97af-809faf7c341c.png)

マブダチになりました

![IMG_20190304_151142.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/e4f0a704-69d9-7c10-289a-2286121a01c5.jpeg)

今後、ワークショップなどやっていくつもりで準備をしています。