4足歩行ロボットPetoi Bittleのセットアップ

# はじめに

今回は，Petoi Bittleのサンプルコードを使って，4足歩行ロボットの制御を行う．
本記事ではスケッチの書き込みまでを解説していく．

続きの記事はこちら

[4足歩行ロボットPettoi Bittleのキャリブレーション](https://qiita.com/Naotaka_Kawata/items/edc3c202585df26dd8c2)

# Petoi Bittle

Petoi Bittle（ぺトイ・ビトル）は，STEM教育用の4足歩行ロボットとして作られました．

<iframe width="560" height="315" src="https://www.youtube.com/embed/MEhJzbhxm8A" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

![ライブラリマネージャjpg.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531981/3ae7a522-7b99-7169-dff6-3b0a2aaa8b3f.jpeg)
![petoi.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531981/ba24c75d-cc4e-4455-6015-5a0396201a6b.png)


特徴としては以下があげられます
- プログラミング初心者でもCodecraftを用いることで，視覚的にコーディングをすることが可能
- Raspberry Pi/ESP32との接続に対応しているため，より高度な制御が可能
- Bluetooth対応
- Groveコネクタ対応であり，はんだ付け不要

サーボやメインボードなどの詳しい仕様は，[こちらのサイト](https://www.seeedstudio.com/CH-Bittle-p-4833.html)からご確認ください．

購入方法について，筆者はSeeedを介して購入しましたが，2021/06/05現在は売り切れとなっています．届くのに10週間ほどかかりました．

# 動作環境

今回の動作環境構築に使った環境は以下のとおりである．
- Windows10
- Aruduino IDE
- Petoi Bittle       

# Arduinoライブラリのインストール
ここからはArduino IDEを使って準備を進めていく．

以下のArduinoライブラリをインストールする．メニューから「スケッチ→ライブラリをインクルード→ライブラリを管理」を選択し各ライブラリを検索，その後，インストールを選択することでインストールが完了する．

**※IRremoteのみ最新版ではなくversion 2.6.1を選択すること**

- Adafruit PWM Servo Driver
- IRremote(2.6.1)
- QList(任意)

![ライブラリマネージャjpg.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531981/d084fafd-9cc0-ba71-8190-20e074f772f3.jpeg)

## IRremote.hの編集
"Documents/Arduino/libraries/IRremote/src/IRremote.h"を任意のエディタ（VScode, テキストエディタなど）で開く.

49行目"DECODE_NEC"と100行目"DECODE_HASH"のみ1、他の定数は0に設定。

```c++:IRremote.h
47 | #define SEND_RC6             0
48 | 
49 | #define DECODE_NEC           1
50 | #define SEND_NEC             0
...
...
98 | #define SEND_MAGIQUEST       0
99 | 
100| #define DECODE_HASH          1 // special decoder for all protocols

```

## Zipからのライブラリのインストール
以下のリポジトリをクローンする．

https://github.com/jrowberg/i2cdevlib

メニューから「スケッチ→ライブラリをインクルード→ZIP形式のライブラリをインストール」で"i2cdevlib/Arduino/MPU6050"を選択．その後，同様に，"i2cdevlib/Arduino/I2Cdev"を選択

# ドライバのインストール

筆者の環境ではNyboardが認識できなかったため，CH340チップ用のドライバをインストールします．
以下から実行ファイルをダウンロードしてください．中国語で「下载」と書いているボタンをクリックするとダウンロードされます．

http://www.wch.cn/download/CH341SER_EXE.html

その後，実行ファイルを起動し，インストールボタンを押せばインストール完了です．このとき，Nyboardを接続しておいてください．接続しておかないと，なぜかインストールに失敗してしまいました．

![driver.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531981/d7e972d7-12a4-ec6e-93fb-dc8337b811d6.jpeg)


# NyBoardとWindowsの接続

メニューから「ツール→ボード→Arduino AVR Boards→Arduino Uno」を選択．
NyBoaradとWindowsをUSBケーブルで接続する．この時，Petoi Bittleの腹部にバッテリーを取り付けておくこと．

>Please also turn on the battery power when using USB to debug Bittle. The power supply capacity of standard USB is not enough to drive Bittle work, and may cause a power surge on the computer USB port, start the USB self-recovery insurance, and make the current USB interface unusable (you can restart the computer) restore). Please fully charge the battery before using Bittle each time. Although a lower battery can make Bittle work, a lower voltage will degrade the performance of the servo. When not using Bittle for a long time, please keep the battery charged and store it in a dry and ventilated place.


(接続した際，ずっと音が鳴り続ける場合は, WindowsがNyboardを認識できていないため，ドライバのインストールが出来ているかを確認し，Nyboardが認識できている状態にすること．)

![USB.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531981/62446e7a-92fc-4c40-35b4-cfc9c1e4359b.jpeg)

メニューから「ツール→ポート→COM X(Xはユーザにより異なる)」を選択．

![COM.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531981/362a55ce-e765-dd92-2271-39eb8ea9addb.jpeg)

# NyBoardへのスケッチの書き込み
以下のリポジトリをクローンする．

https://github.com/PetoiCamp/OpenCat

クローンした際，フォルダ名が"OpenCat-main"になっていると思います．フォルダ名を"OpenCat"に変更してください．以下のディレクトリ構造にすることが目的です．

```
OpenCat/
       /OpenCat.ino
       /WriteInstinct/
                     /WriteInstinct.ino
                     /OpenCat.h
                     /InstinctBittle.h
                     /InstinctNybble.h
```

メニュー「ツール→シリアルモニタ」でシリアルモニターを開く．その後，「改行なし」，「115200 bps」に設定する．

![シリアルモニタ.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531981/550a96fd-87e9-4cfe-9cc7-23a363eff46b.jpeg)

メニューから「ファイル→開く→OpenCat/ModuleTests/testBuzzer/testBuzzer.ino」を選択し，「→」ボタンでスケッチを書き込む．書き込みが成功した場合は，接続したときとは異なる音楽がながれます．

# おわりに

接続まで確認出来たら，4足歩行の制御まであと少しです．筆者はドライバのインストールに手こずりました．あとその時にNyBoardからながれる警告音が不快なので，ながれたら何かおかしいと思ってすぐに接続を切ることをおすすめします．

# 参考文献
- [公式ドキュメント](https://bittle.petoi.com/4-configuration)
- [Petoi Bittle入門](https://note.com/npaka/n/n7de4c1fb4280)