第4章:応用資料

プログラム改良や開発用資料

 本機ではすでに走行用プログラムを書き込んでありますが、より使いやすいプログラムに改良したり、オリジナルのプログラム開発用に資料・情報を公開しています。書き込んでいるプログラムのソースコード等も公開していますので、参考にされてください。

 また、プログラム開発用環境のセットアップ方法なども紹介しています。

本機の構成

本機を組み立てたときは、次のような構成になっています。

ハードウェア構成

M5Camera

 M5Stack社のカメラ付ユニットの一つで、Espressif社のESP32プロセッサと小型カメラ、さらにSPIフラッシュメモリから構成されています。WiFi・Bluetooth通信機能を持ち、USB端子からの5V給電で動作します。

 画像の送信ができるのでWebカメラ・工場内モニターなどに活用できます。また入出力端子(Grove端子)もついていて、センサーを使った計測や、モーター等の制御も可能です。

連続回転サーボ

 「サーボ」とは、目標値に追従するような動きをする制御機構のことで、様々な制御装置で使われている技術です。

 ラジコンなどでは小型モーターを使った「サーボ・モーター」が使われており、これを単に「サーボ」と呼んでいます。制御回路から送る信号のパルス幅で動作角が決まります。

 連続回転サーボでは「軸角度」の制御ではなく、軸の回転方向と回転数の制御を行います。

 今回使用しているFS90Rでは、パルス幅1500μ秒を中立(停止)とし、700μ秒で全速正転、2300μ秒で全速逆転となります。

 少ない信号線で制御できるので、出力ピンが少ないマイコンなどでで使用すると便利です。

書込みソフトウェア構成

 部品を組み立てただけでは、操縦することはできません。ハードウェアを制御するソフトウェアが必要になりますが、本機ではあらかじめ書き込んでいます。次のような構成になっています。

制御プログラム

 カメラ付マイコン内のESP-32マイコンが、WiFiアクセスポイント・HTTP/ストリーミングサーバー・モーター制御など機能で動作するようにしているのが、制御プログラムです。後述するArduinoIDEで開発を行っています。

HTMLファイル

  スマートフォンなどのブラウザ上に表示する「操作画面」の内容をHTMLで記述したファイルで、カメラ付マイコンから送出されます。受信したブラウザが内容を解釈し、画面上に文字や画像を配置します。

 本機では、Webページ作成ソフトで制作したHTMLファイルをFLASHメモリ内に配置し、実行時必要に応じ読み込むようにしています。

開発環境について

 マイコンのプロセッサは、メモリ内に電気的符号として格納されているプログラムを実行することができます。一方プログラミングを行うときは人が理解しやすいCやPythonなどのプログラミング言語を使って開発します。

 また、本機で使用しているM5カメラなどキーボードやディスプレイなどが付いていないマイコンでは、開発が不便なので、Windows搭載のPCなどで開発したプログラムをマイコンの不揮発メモリ等に書き込んで実行します、このような開発方法を「クロス開発」と呼びます。

 本機の場合、ArduinoIDE(統合開発環境)を用います。IDEとは、エディター・コンパイラ・ライターなどマイコンプログラム開発に必要な機能が、一つのアプリケーションソフトとしてまとめられているものです。

 次項で、AruduinoIDEのインストールから本機用にカスタマイズするまでの手順を掲載しています。改造やオリジナルプログラム開発をされる方は参考にしてください。