Guide

🔌 smabo-esp32

アクチュエータの制御とセンサ値の取得を担う smabo-esp32 をセットアップし、必要パーツの印刷・配線・動作確認までを行います。

ロードマップ#

本ページは、以下ロードマップ「smabo-esp32」のガイドページです。

また、本ページは「ベースパーツの作成」のガイドを実施している前提で話を進めます。

概要#

本ページでは「smabo-esp32」のセットアップ手順について解説します。

smabo-esp32は

  • esp32に繋いだセンサやアクチュエータの制御

の役割を担います。

必要パーツ#

本機能の実装に必要なパーツを以下に記載します。

部品名 商品URL 備考
ESP32-DevKitC link 互換品でも可
ブレッドボード(SAD101)
link 一般的なブレッドボードは5穴ですが、こちらは6穴になっています。
6穴でないとESP32のサイズ的に横幅が足りないので注意してください
ジャンプワイヤー link -
電池ボックス(単3×4本、電池スナップ対応) link 電池スナップ対応の方が、取り回しが良いのでお勧めです。
電池スナップ(電池ボックス用) link コネクタピン付きの方が、ブレッドボードに差しやすくて、抜けにくいのでお勧めです。
充電式単三電池 × 4 link 充電式の方がおすすめです。
電池充電器 link -
サーボモータドライバ PCA9685 link 互換品でも可

「ハンド」「首振り」「ロボットアーム」のページの内容を実装する際に必要です。
これらの内容を実施しない場合は不要
ミニブレッドボード link 裏面が粘着テープになっているもの
TB6612FNG搭載 デュアルモータードライバ link 互換品でも可(ただし、ピンヘッダ付きでないものは自分ではんだ付けする必要があります)

「移動ロボット」「エンコーダ付き移動ロボット」のページの内容を実装する際に必要です。
これらの内容を実施しない場合は不要

smabo-esp32のセットアップ#

Thonny(書き込みソフト)のインストール#

以下サイトから、PCのOSにあったThonnyのインストーラーのDL、インストールを行います。

https://thonny.org/


インストールが完了したら、Thonnyを起動してください。

ソースコードの書き込み

ESP32とパソコンをUSBケーブルで接続した状態で、右下のボタンをクリックし「MicroPython(ESP32)」を選択します。

alt text


その後、「smabo-esp32」内のpythonファイルを全て選択した状態で右クリックし、「/にアップロード」を選択すると、esp32に書き込まれます。

alt text

設定ファイルの書き込み

次に、設定ファイルを書き込みます。

configディレクトリからお手持ちのesp32の種類にあったjsonファイルを選択し、「config.json」という名前でコピーを作成します。

alt text


以下項目を、環境に応じて記載してください。

  • wifi/ssid:接続ネットワークのSSID
  • wifi/password:接続ネットワークのpassword

接続先WiFiの周波数について

WiFiの周波数には2.4GHzと、5GHzの2種類がありますが、

  • esp32は、2.4GHzにしか対応していない

ため注意してください。


一般に、

  • Buffalo-F-ooooのようにSSIDに「G」がついている場合は、2.4GHz
  • Buffalo-A-ooooのようにSSIDに「A」がついている場合は、5GHz

となるため、ここで指定するSSIDは「G」がついている方にしてください。

alt text


設定の記入が完了したら、ソースコードの時と同様に、config.jsonをesp32へ書き込みます。

alt text

パーツの印刷#

今回、新たに追加されるパーツを3Dプリンタで印刷します。

3Dプリンタは機種によって「印刷する際に使用するソフト」が異なるため、ここでは具体的な設定手順ではなく、ポイントのみを記載します。

以下のパーツを図の向きに設定して、印刷してください。

印刷の際の注意点

  • パーツのつけ外しの際に、根本から折れにくくするため、凸部は横向きにして印刷
  • サポート材は必ずONにした状態で印刷
  • smabo-hardware/stl/base/bread_board_stopper_bottom_l.stl
    alt text

  • smabo-hardware/stl/base/bread_board_stopper_bottom_r.stl
    alt text

  • smabo-hardware/stl/base/bread_board_stopper.stl
    alt text

  • smabo-hardware/stl/base/mini_bread_boad_stand.stl
    alt text

  • smabo-hardware/stl/base/pca9685_stopper_l.stl
    alt text

  • smabo-hardware/stl/base/pca9685_stopper_r_bottom.stl
    alt text

  • smabo-hardware/stl/base/pca9685_stopper_r_top.stl
    alt text

  • 【オプション】smabo-hardware/stl/base/in_base_plate_wire_hole.stl
    alt text
    • 本パーツは、「smabo内の仕切り」として使用できます。
      alt text

ブレッドボードについて#

SAD101は購入時の状態では、+極の真ん中にジャンプワイヤーが挿さっています。

smaboでは、

  • +極の「右側」を6V電源(乾電池×4)用
  • +極の「左側」を5V電源(ESP32からの出力)用

として使用します。

alt text


そのため、真ん中のジャンプワイヤーは外してください。

alt text

ブレッドボードの中身について

ブレッドボードの裏面を見てみると、金属の棒が固定してあることがわかります。



そのため、「同じ棒と繋がっている穴」に、複数のジャンプワイヤーを刺した場合、それらは回路的に繋がることになります。

alt text

特に、SAD101の場合

  • +極のみ真ん中で途切れていて左右に分かれている

ため、ジャンプワイヤーは、「+極を1直線に繋ぐために付いていた」ということになります。

※ 今回は、先述の通り左右で違う電源を使用するため、外しています

組み立て手順#

以下動画のように、必要パーツを組み立てます。

※ 動画には、前回までに印刷したパーツも含まれます

組み立ての際のポイント

各パーツを使って、ブレッドボード、PCA9685、ミニブレッドボードを取り付けてください。

なお、特に以下の点には注意してください。

  • ESP32はブレッドボードの左端に差し込んでください
  • ミニブレッドボードは、背面の粘着テープを使って貼り付けてください
  • バッテリーボックスはsmaboの中に配置し、ジャンプワイヤーのみを外側に出して、ブレッドボードに挿す形で配線してください
    • 配線位置については、「配線」の章にて説明します

alt text

配線#

ブレッドボードの+極について

SAD101購入時についていた、+極のジャンプワイヤーは必ず外してください。 ついたままだと、ESP32, アクチュエータが破損する可能性があります。

alt text


今回は、アクチュエータなどは動かさないため、以降の準備として「乾電池バッテリーの配線」のみを行います。

※ 下記表において、「接続先1」と「接続先2」は、両者が回路的に直接繋がっていることを指します。

接続先1 接続先2 補足
乾電池バッテリーボックスの+極 ブレッドボードの+極の右側 以降、右側を6V電圧として扱うため注意
乾電池バッテリーボックスの-極 ブレッドボードの-極 -
ESP32の5V電源 ブレッドボードの+極の左側 以降、左側を5V電圧として扱うため注意
ESP32のGND ブレッドボードの-極 -

先述したように、+極は右側と左側で扱う電圧が異なるため

  • 今後の配線で、+極の片方に6V, 5V電源を混在させると、ESP32やアクチュエータが破損する原因になる

ため、配線の際は十分に注意してください。


ESP32-DevKitCの場合の配線図は、以下になります。

動作手順#

起動手順#

「こちらの起動手順」の内容を実行してください。


各種プログラムの起動、通信が確認できればOKです。

次回#

次回は、以下ロードマップの

について解説します。