ブラウザから操作できるラジコン(Raspberry Pi Zero W)

## 作ったもの
ラズパイ制御で、ブラウザから操作できるラジコンを作りました。

- 前進/後退ができます。方向転換はできません
- 見た目はただのハイエースです
- ブラウザから操作できます(WebIOPi利用)

![DSC_0309.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565892/512e1600-f354-aff8-d1d1-1eae0cdd0eac.jpeg)

## 背景
とあるデモで「クルマが前進/後退した時」を再現するのに必要だったので作りました。
デモの内容は後日、別記事にて公開予定です。

※クルマが前進/後退していることを、別端末からBluetooth経由で検知したく、
　そのデモのため、わざわざ既製品をバラしてラズパイを搭載しました…。

## 目次
- 必要なもの
- ラジコンの組み立て
- Raspberry Piの設定
- 動かしてみる
- おわりに
- 参考：部品調達リンク

## 必要なもの

- モータとシャーシ (今回は市販のラジコンを加工)
- Raspberry Pi zero WH
- モータードライバー TA7291P
- ブレッドボード、配線
- 電源(モバイルバッテリー)
- はんだごて

部品のリンクは記事最後の「部品調達リンク」を参照ください。

## ラジコンの組み立て

#### 不要なものの撤去
まずはベースとなるハイエース君を分解します。車体裏のネジをすべて外すとウワモノが外れ、基盤(下画像)が出てくるので、撤去します。

![s-DSC_0301.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565892/76bfffa7-de91-b654-268b-d728f5a6f53c.jpeg)

配線もすべて撤去します。「貨物室」も、裏からネジ止めされてるだけなので撤去します。
モーターとシャーシ以外は不要です！

#### 機器の配線

続いて以下のように配線します。後輪モーターへの配線ははんだ付けが必要です。

![Untitled Sketch_ブレッドボード.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565892/138d5284-6139-f9d1-8aad-3564b17d3e09.jpeg)

モータードライバとラズパイ・モーターとの配線の対応は以下の通りです。(モータードライバーは、文字が書いてある方を表にして左のピンが1)

1… ラズパイPin6 (GND)
2… モーター
3… 非接続
4… ラズパイPin12 (GPIO18)
5… ラズパイPin13 (GPIO27)
6… ラズパイPin15 (GPIO22)
7… ラズパイPin2 (5V電源)
8… ラズパイPin2 (5V電源) ※ブレッドボード上で7から
分岐
9… 非接続
10…モーター

モータードライバーの配線についての詳細は、以下のサイトが参考になりました。

- [モータードライバー(TA7291P)の使い方[Arduino] - プチモンテ](https://www.petitmonte.com/robot/motor_driver_ta7291p.html "モータードライバー(TA7291P)の使い方")

#### シャシーに搭載

配線をしながらシャシーに載せていきます。固定は両面テープで行っています。
※写真ではブレッドボードに動作確認用のLEDが刺さっていますが、結局使わなかったので配線図からは省略しました

![s-DSC_0303.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565892/87c035aa-185d-9d64-5153-1b7f5beeaa1d.jpeg)

積み終わったら、ウワモノを被せます。

![s-DSC_0307.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565892/a9452443-0c91-05d9-22ec-e82ff36d8c94.jpeg)

このハイエース君はリアゲートが開くようになっており、中を確認できます。
幅も高さもぴったり収まっています！ やっぱり荷物を積むならバンだよね！！

## Raspberry Piの設定

#### SSHの設定

ラズパイinハイエース君の操作のため、SSH接続が必要です。
こちらの「2. 「設定」→「Raspberry Piの設定」からSSHを有効に」だけやれば最低限接続できます。セキュリティ対策はお好みで。。。

- [Raspberry PiのSSH設定方法 - Qiita@tomokin966](https://qiita.com/tomokin966/items/bc22d09f97ebeb3955d2#2-%E8%A8%AD%E5%AE%9A%E2%86%92raspberry-pi%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%8B%E3%82%89ssh%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB "Raspberry PiのSSH設定方法")

#### WebIOPiの設定

ブラウザからGPIOを操作するため、「WebIOPi」を利用します。
設定は先輩諸氏の記事を参考にさせていただきました。

WebIOPiの設定はこちらの記事と同じように行いました。ただしそのままでは動きません。

- [ブラウザから、ラズベリーパイのGPIOを操作できる「WebIOPi」を試してみた！ - うえぶまなぶ](http://masatolan.com/raspberry-pi/webiopi-basic/ "うえぶまなぶ")

RaspBerry Pi Zero用の追加設定が必要です。詳細はこちらに書かれています。

- [Raspberry Pi ZeroでWebIOPiを動かす - 雑な雑記帳](http://byebyejohnny.hatenablog.com/entry/2017/09/20/180210 "雑な雑記帳")

## 動かしてみる

1. ラズパイの電源ON(モバイルバッテリーから給電開始)
1. ラズパイにSSH接続する
1. SSHで $ sudo /etc/init.d/webiopi start
1. スマホ等のブラウザから、http://[ラズパイのIPアドレス]:8000 にアクセス
1. WebIOPiのページで「GPIO 18」を「OUT」にして、ピン番号をオレンジ色にする
1. WebIOPiの「GPIO 22」または「GPIO 27」を「OUT」にして、ピン番号をオレンジ色にする (前進または後退)
1. 遊び終わったら、SSHで $ sudo shutdown -h now を実行してから、モバイルバッテリーの給電をOFFにする

こんな感じで、ハイエース君が走ります。(YouTubeリンク)
[![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/40agzCefoSE/0.jpg)](http://www.youtube.com/watch?v=40agzCefoSE)

## おわりに

初投稿なので、不備や不足情報等あれば指摘いただけるとありがたいです。

## 参考：部品調達リンク
私が購入したものです。ご参考までに。

- モータとシャーシ (今回は市販のラジコンを加工)
  - [HIACE(ハイエース) 1/24スケール R/Cカー - Amazon](https://www.amazon.co.jp/dp/B07PQFQMG1/ref=pe_2107282_266464282_TE_dp_1 "ハイエースラジコン")
- Raspberry Pi zero WH
  - [Raspberry Pi zero WH - 秋月電子通商](http://akizukidenshi.com/catalog/g/gM-12958/ "Raspberry Pi zero WH") ※ラズパイ起動に必要な周辺機器(microSDカード等)は省略。お好きなものを
- モータードライバー TA7291P
  - [TA7291P - せんごくネット通販](https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=55HW-6SGX "モータードライバー") ※生産終了品
- ブレッドボード、配線
  - [Miniブレッドボード - Amazon](https://www.amazon.co.jp/dp/B07B3VHTHX?ref_=pe_2107282_306655702_E_301_dt_1 "Miniブレッドボード") ※でかいとハイエースに載らない
  - [ラズベリー・パイ……基本部品セット - Amazon](https://www.amazon.co.jp/dp/B075167Y4D?ref_=pe_2107282_306655702_E_301_dt_1 "基本部品セット") ※部品セット買ってみたけど結局配線しか使わなかった
- 電源(モバイルバッテリー)
  - [BSMPA04 - BUFFALO](http://buffalo.jp/products/catalog/supply/ipod/cable/mobilebattery/bsmpa04 "モバイルバッテリー") ※昔友達からもらったモノ。電源供給ON/OFFスイッチがあるものがオススメ
  - 電源供給のためのUSBケーブルは、100均で売ってる「リール式」が取り回しやすくオススメ