レスキューロボットをマイコン化しよう

会津大学復興知授業

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業

今回の授業では、市販されている模型を改造してマイコンで制御できるようにしてみるよ。
市販品ならば、いろいろな模型（水・陸・空）を選ぶことができる。
それにマイコンを搭載して制御できると「確実に動くモデルを使って、効率よくロボットを作成することができる」んだ。
ちなみに使うモデルはタミヤ模型から出ている「楽しい工作工作

そこで、組み立ての際に気をつけて行うと良いポイントをまとめてみたよ。
１）部品をランナーから外すときに外しにくい場合は、ランナーごとニッパーで切り取ってから部品を切り離す。
２）組み立てを行う前に手順書に書かれている手順を一通り読むこと。

シリーズ No.169 レスキュークローラー工作セット 3chリモコン」になる。

３）組み立てを行う前に、部品表に書かれている部品が実際にどこにあるのか確認しておくこと。

このモデルは岐阜高専とタミヤがレスキューロボットコンテストなどの教育目的で市販化されたモデルで、小学４年生以上の子供たちでも保護者同伴で組み立てができ、ロボット教育にも用いられている。

（部品表にAとかBとかアルファベットが書かれているものは部品のランナー部分にそのアルファベットが書かれているので確認すること）
４）ギヤ関係は部品に14Tとか22Tなど歯数が刻印されているので、きちんと確認すること。
（ギヤの組み立てで苦労する人が多いです）

パッケージには組み立て対象年齢は書かれていないけど、小学６年生くらいなら１人でも組み立てができると思う。

５）部品を組み立てる際には、手順書と同じ向きに手に持った

しかし、プラモデルなどの組み立て経験が少ない人にとっては、組み立て作業がちょっと難しく感じるかもしれない。

６）あまり丁寧に作業しすぎると時間が足りなくなるので、神経質部品を合わせると、位置関係を把握しやすい。に作業しすぎないこと。
では、さっそく組み立てててみよう！

1

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業

出来上がったレスキューロボットを操作してみよう。
身の回りのものを使って段差の乗り越えなどにトライしてみよう。

このレスキューロボットは、コントローラのレバー操作でモーターに流す電気の極性（＋と−）を切り替えて操作している。

クローラロボットは瓦礫の上などの不整地を走行するのに適しているけれど、その反面、自動車のように高速に移動するのには適していない。

タイヤの場合は、半径を超える高さのものを乗り越えることができないけれど、クローラーの場合は、ベルト部分の突起が障害物に乗り上げることで走行することもできる。
しかしそれには限界があるので、どのくらいの高さまで乗り越えることができるか試してみると面白い。
レスキュークローラロボットの場合、フリッパー部分のクローラを持ち上げたり下ろしたりできるので、より高さがある障害物も乗り越えることができる。

マイコンで同じことをすれば、このロボットを制御できるようになるね。

そのようなことから、災害対策用のロボットに採用されやすい走行

次のページでそのアプローチを考えてみよう。

方法なんだ。

2

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業
３）改めてマイコン制御のための部品を選定してみる。

マイコン制御のためのアプローチ１）電源：リポバッテリー 1個１）現在の制御仕様を確認し、制御部品を選定する。

２）モータードライバ：２個（今回は１つのモータードライバ

・電源は電池2本（1.5Vx2=3V) → リポバッテリー3.7V

で２つのモータをつなげられるものを選定したので３つの・制御するモータは３つ（正転・逆転）→モータドライバ

モータは２個のモータドライバで制御できる）

・動作時の電流 → ？？？？

３）マイコン：Arduino N no (5V)２）動作時の電流を調べてみよう。

４）配線用のGROVEシステム：1個動作時の電流は、電源装置を使うと簡単に測定できる。

５）DC-DC変換基板：リポバッテリーの電圧を5Vに変換

また、組み立て途中の実験の時もショートなどして回路をする。

壊してしまうような事態になるまえに電流を止める機能もあるので安全。

６）端子台：3.7VとGNDの配線をやりやすくする。

実際に電流を測るとモータ１つを動かした時に0.3Aくらいの

７）バッテリーコネクタ：配線を簡単にするため。

電流が流れた。

８）モータコネクタ：すぐに元のリモコンにも戻せるようにするため。

そこで、３つのモータが動くとすると最大で0.9Aくらいの電流が流れることになる。
しかし、ぎりぎりの部品選定をしてしまうとちょっとの負荷の増大で簡単に止まってしまうので余裕を持って部品を選定する。
今回は１つのモーターにつき最大1.5A流せる、モータードライバを選定してみた。

a3

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業

使われる部品はこんな感じになったよ。
１）リポバッテリー４）DC-DC変換器
5V以下の電圧を昇圧して5Vにしてくれる部品。最大で2Aも流せ

小さくて軽くて大電流が流せる。そのためドローンの電源によくる。小さいけどすごい部品。

利用されるが、ショートすると発火したりして危険。
↓0Vの電圧（GND)を入力

リポ

5Vの電圧を出力→←5V以下の電圧を入力

バッテDC-DC
変換リー
3.7V

(5V)

２）コネクタ５）Arduino N no

リポバッテリーを簡単に繋ぐことができるコネクタ。いろんな一部の漫画で２１世紀の大発明といわれるマイコン。

種類があるよ。

標準サイズのUNO、小さくなったN noなど大きさの種類も多い。
とても安く使いやすいマイコン。

コネクタ

信号出力→信号出力→信号出力→信号出力→信号出力→信号出力→

３）端子台
同じ信号や電源を分けたりするときに便利な部品。これを使わない場合、同じ用途の電線をハンダ付したりしないといけなくて不便。
端子台の場合、好きに抜き差しできるので変更も簡単。

3.7V
端子台

GND
端子台

（＋）

（ー）

aa4

←5Vの電圧を入力←0Vの電圧（GND)を入力

ArduinoNano(5V)

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業

６）モータードライバ

７）モータ

電源線（２〜１０Vまで）と制御線(IN1,2,3,4)を繋いであげる

模型用モータ。使用できる電圧の範囲は3~1.5Vの範囲。と、モーターを２個まで制御（正転・逆転・停止・ブレーキ）できる部品。

通常使用は1.5Vを推奨。
今回は、リポバッテリーが3.7Vなので電圧割り増しで動作させて信号入力は1.8~7Vまで対応しているので、5VのArduinoと直結でいる。
短時間の動作ならば問題はないと思うが確実に寿命は縮んでいる。

きる。

←制御信号を入力←制御信号を入力←制御信号を入力←制御信号を入力

モータ

制御信号は２つで１組の制御になっており、片方のみHIGHで正転もしくは逆転、両方LOWで停止、両方HIGHでブレーキになる。

←電源（＋）を入力

モータ
ドライバ

←電源（0V）を入力↑モーターBの制御出力↑モーターAの制御出力

5タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業【部品がどのように繋がるか考えてみよう】

コネクタ

Arduino
Nano
(5V)

リポ

3.7V
端子台

バッテリー（＋）

3.7V

DC-DC
変換(5V)GND
端子台（ー）
モータ
ドライバ

モータ

モータ
ドライバ

モータ

モータ

6

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業【レスキューロボットの改造の前に】ネジやナット類は各自必要な個数を自分で集め、持っていくこと。
必要なネジ・ナットは以下の通り。

名称長さ(mm)

個数

M2ナベ子ネジ6282106152204M3ナベ子ネジ

16

22.5タッピングビス

105皿ビス255M2ナット-

2M2.5ナット-

14M3ナット-2

M2.5ナベ子ネジ

7タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業
３）ロボットの部品にベースステーを写真のように挟み込み、さて、ここからレスキューロボットを改造してみよう。

M2.5x20ナベ子ネジ4本とM2.5ナット固定する。
１）制御ベースプレートとベースステー２個、M2.5x10 4本、M2.5x20 4本、M2.5ナット 8個を準備する。

２）写真の様にM2.5x10ナベ子ネジ４本とM2.5ナットでベースステーを取り付ける。

8

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業

４）両面テープでクローラとフリッパーのモータドライバを貼り付ける。

６）両面テープで端子台を貼る。

５）両面テープでモーターコネクタを貼る。

9

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業

７）DC-DCコンバーターを両面テープで貼る。

９）クローラモータドライバのINT1と2のコネクタをD2、INT3と4のコネクタをD4へ差し込む。

８）Arduinoを乗せたGROVEベースシールドを両面テープで貼る。

１０）フリッパーモータドライバのINT1と2のコネクタをD6へ差し込む。

10

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業
１２）モーターコネクタにモーターからの線を差し込む。

１１）DC-DCコンバーターのコネクタをI2Cに差し込む。

左のモーターからの線はMOTOR-Aに右のモーターからの線はMOTOR-Bから出てモーターコネクタに入っている線の方に差し込むこと。

11

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業

１３）クローラモーターから出ている線をクローラモータコネクタ

１４）次のページからArduBlockを使ってこのレスキュークローラに差し込んで完成。

ロボットをArduinoで動かしてみるよ。
動かす時にはリポバッテリーを使うけど、間違ってバッテ※確認するポイント

リーコネクタに差して無理に押し込むとショートして大変に

1.コネクタの差している場所は間違っていないか？

危険なので、差し込む際には、ちゃんとバッテリーの赤い2.線が外れているところはないか？

電線、黒い電線とコネクタの赤い電線、黒い電線が合って3.電子部品がベースにちゃんと張り付いているか？

いることを確認してから差し込む習慣をつけよう。

12

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業【モータードライバを動かしてみよう】

モータードライバへの信号は、２つのIN端子が１セットなので、モーターAを停止させるなら、このように部品を配置すればよい。

モータドライバはIN1とIN2、IN3とIN4へ渡す信号の組み合わせで動きが決まる。(IN3,4の設定はモータBに反映）
IN1

IN2

モータAの動き

LOW

LOW

停止

HIGH

LOW

正転

LOW

HIGH

逆転

HIGH

HIGH

ブレーキ

さてここまで説明すれば、モーターAを正転状態にする方法はもうわかると思う。
モーターAを１秒間正転させて、停止するプログラムを書いてみよう。
下の図はデジタルピンに値を設定のところの部品が不足している。
回るように補ってみよう。

ArduinoのD2にモータードライバのIN1、D3にIN2、D4にIN3、D5にIN4がつながっているので、IN1の信号をLOWにするのには、このようにブロックを設定する。
逆にIN1の信号をHIGHにするのなら、このように設定する。

13

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業

プログラムを書き込んだ時にモーターは左側のクローラが回れば正解。

さて、これが前進するプログラムになるのだけど、これをサブルーチンにすると使いやすくなる。

・逆の方のモーターが回った人は、クローラモーターコネクタの配線を交換してみよう。
・前進ではなく後退した人は、モーターコネクタの左右の配線を変えてみよう。
さて、クローラは左が反時計回りに、右が時計回りに回ることで前進をする。
今度は、IN3,IN4のモーターを前進させるプログラムを書いてみよう。
今のプログラムのD2,D3をD4,D5に変えるだけで反対側のモータが動くはずだよ。
そしてIN1,2,3,4の信号を１セットにすると左右のクローラが回って前進するプログラムになる。

14

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業【サブルーチンを使ってみよう】
このプログラムは、前進・１秒その状態を保つ、そして停止する

サブルーチン化するとこんな感じに分かりやすくなるんだ。
これなら、プログラムのところの流れを見るだけで「前進」「１秒そのまま」「停止」になっているのがわかる。

プログラムなので、前進(foword)、del y MILLIS1000、停止(stop)に分けることができる。

a15

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業【後退、右旋回、左旋回を自分で考えて作ってみよう】

さて、ここまでのプログラムでクローラロボットを自由に前後左右に動かせるようになった。
プログラムからこのようにサブルーチンを呼び出して、思った通りの動きになるか試してみよう。

D2とD4をHIGH、D3とD5をLOWにすると前進する制御ができた。

この後に、自分でいろんな動きを作って（Del y MILLISの数字も色々と変えてみて）試してみよう。

この信号を全部逆にすると後退するプログラムが作れる。
早速作ってみよう。
サブルーチン名は b ck にしようか。
では左旋回と右旋回を考えてみよう。
左旋回は、左側のクローラーを後退させて、右側のクローラーを前進させるとその動きになる。
右旋回はその逆で、左側のクローラを前進させて、右側のクローラーを後退させる。
それぞれの名前をl_turn、r_turnとしてサブルーチンを作ってみよう。

aa16

タケルソフトウェア 2022レスキューロボットをマイコン化しよう

会津大学復興知授業

ここまで制御を理解して自分で作れるようになると、フリッパーの上下は自分で作れるようになると思う。

【応用編】
前進や旋回の動作と待ち時間を上手に調整して、置かれた箱などを回避して動くプログラムを作ってみよう。

フリッパーのモータードライバはD6とD7で制御できる。
サブルーチンをf_stop、f_up、f_downで作ってみよう。
ちなみに、このフリッパーは、１回転すると上下の動きが逆になる。
なので、プログラムで制御する場合には回しすぎないように使うのがコツだ。
作ったプログラムは「rescue1」という名前でパソコンに保存しておこう。

17

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業【ライントレーサーに改造してみよう】

２）M2.5x8 2本でラインセンサーをラインセンサーステーに取り付ける。
この時、段差のある面を上にする。

このレスキュークローラーには、ラインセンサーを取り付けることができる。
ラインセンサーを取り付けてプログラムを作ると、白い紙などに書かれた黒い線をたどって動く動作を行うことができる。
早速その部品を付けてライントレース機能を拡張してみよう。
１）ラインセンサASYとラインセンサーステー、M2.5x8 2本、M2.5x10 2本、M2.5ナット4個を準備する。

18

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業

３）M2.5x10 2本でラインセンサーステーをロボットの裏側から

４）ラインセンサーASYからのコネクタをA0に差し込み取り付け固定する。

が完了する。

５）A0には左側のセンサーがA1には右側のセンサーが結線されているのでセンサーの入力を行える。

19

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業【ラインセンサーのプログラムを考える】

１）センサーからの入力の仕方

ラインセンサーASYには左右にセンサーが並んでいる。

ラインセンサーには、トリマーボリュームが付いていて黒い線と白い地面の検出度合いを調整できる。
調整方法は黒い線にセンサーを乗せた時にセンサーのインジケーターが消灯、そこから外れたら点灯するようにトリマーボリュームを回して調整する。
反時計回りにすると感度が落ちて、時計回りに回すと感度が上がる。

この２つのセンサーが黒いラインを検出しているときは、ロボットがラインから外れていないとして前進する。

２）センサーの値の読み取り方
デジタルピンの読み出しを使ってセンサーの入力を表示してみよう。

L=は左センサーの入力、R=右センサーの入力状態がシリアルモニ
右のセンサーが外れて左のセンサーのみ入っている状態ならば、ラインから右にずれ始めているとして左旋回をして姿勢を修正し、左のセンサーが外れて右のセンサーのみ入っているのであれば、左にずれ始めているとして右旋回を行う。
この動きを繰り返すことでラインをトレースして移動する。

20

ターで確認することができる。
ちゃんと入力できているか確認してみよう。
出来上がったプログラムは「rescue2」でパソコンに保存しよう。

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業３）ラインセンサーの入力を判断してロボットの動作を決めるプログラム
左(A0)と右(A1)が両方検出（黒い線の上にある）ならば前進動作をする。左(A0)だけならば左旋回をして右も入るようにする。
右(A1)だけなら左も入るように右旋回を行う。左右（A1,A0)が入っていないならば停止する。

さて、これでうまく動くだろうか？論理的には合っているようだけど、実際にはロボットの速度やセンサーの反応速度、処理速度などの関係でうまく動かない方が多かったりする。

21

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業【仕事ができるロボットに改造しよう】

２）アームボディ、ギヤA、ギヤB、リンクA(2個)、リンクB(2個)、フィンガー(2個)、ステーA、ステーB、M3x16 2本、M2.5x15 2本、

これまでクローラーロボットを改造して、プログラムを組み立てて動くようにしたり、ライントレースをして自律移動するようにしてみた。

2.5x10タッピングビス 5本、皿ビス2x5 5本、M2x6 2本、M3ナッ
ト 2個、M2.5ナット 2個、M2ナット 2個、サーボモータを準備する。

しかし、移動だけで物を掴んで運んだりするようなことはできない。
そこでこのロボットにハンドを付けてみることにしたよ。
１）サーボモータの袋に入っているこのサーボホーンを取り出し、穴が４つ目のあたり（赤線部分に沿って）ニッパーで切断する。

22

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業

３）アームボディにサーボモータをM2x6 2本とM2ナット2個で写

５）サーボモータに4)で組み立てた部品を差し込み、反時計方向に真のように固定する。

回らなくなるまで軽い力で回す。
止まったところで、写真の位置に4)の部品を差し直す。

４）ギヤAに1)で加工したサーボホーンを皿ビス2x5 4本で固定す

６）止まったところから4)の部品を付けたまま写真の位置までる。その際にギヤAの表裏に注意。

戻す。その後、サーボに付属の一番小さいネジで固定する。

23

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業

７）ギヤBを用意する。突起がある方が下になりアームボディ側に９）リンクAとリンクBを写真のようにギヤAに組み合わせて、なる。

2.5x10タッピングビス２本を通す。

８）ギヤBをギヤAに対して直角になるように取り付けて、皿ビス2x5 1本で固定するが動く部分なので締めすぎないようにする。

その後、リンクAをアームボディに2.5x10タッピング
ビスで緩く固定する。

24

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業

１０）フィンガーを9)で組み立てたものに取り付け2.5x10タッピン
グビスを締める。

１２）ステーAとBを写真のように11)まで組み立てたハンドに取り付け、M2.5x10 2本とM2.5ナット2個で固定する。

１１）反対側も同じように組み立てる。

25

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業

１３）M3x16 2本とM3ナット2個で12)まで組み立てたハンドを

１４）サーボモータから出ているコネクタをGROVEのA2コネクタロボットに取り付ける。に取り付けて完成。

26

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業【ハンドを動かしてみよう】※注意点

ハンドはArdublockのサーボの部品で動かすことができる。

・ハンドを開きすぎるとフィンガーの開ける限界を超えてしまう

Arduino n noのA2コネクタはデジタル入出力端子のD16端子と共ので、フィンガーがアームボディに当たらないようにする。

用なので、ピン番号をD16にすること。
このプログラムを書いて動くことを確認してみよう。
（ちなみにサーボ部品の角度の値（150とか60など）は組み付けに・ハンドを閉じた時に、閉じすぎるとフィンガーの動きがふらつくのであまり閉じないようにすること。

よる個体差があるので自分のロボットに合わせて調整すること。
異音が出たり、動きがおかしいときは90に近づく様に調整すること。

できたプログラムは「rescue3」でパソコンに保存しよう。

a27

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業【シリアル通信で動くようにしてみよう】

シリアル通信の場合は、クロックラインからくる信号を数えていて、例えば８つON信号をもらった時に重なっているデータラインのONのArduinoとパソコンは、シリアル通信ができる。

位置で情報を組み立てる。

シリアル通信というのはデータのON/OFFを１つづつ送る方法だ。

例えば重なった時のデータラインの信号が、（複数送る方法はパラレル通信という）

01101111の組み合わせの場合、0x6Fという16進数の情報として取得できる。
これと別にパラレル通信の場合は、データラインが1~8まであって、8つの信号を同時に送れる。
つまり、データライン１：1
データライン２：1
データライン３：1
データライン４：1
データライン５：0
データライン６：1
データライン７：1
データライン８：0という情報を一度にまとめて送ることができる。
シリアルは少ない線で情報が送れる、クロックラインで何個のクロックで１つのデータを表すかを決めることで８つでも１６でも３２でも自由に設定ができるメリットがある。
パラレル一度に情報を送る分だけ速いけど、データ数を増やすためにはデータラインの配線を増やさないといけないデメリットがある。

28

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業【シリアルモニターでArduinoにデータを送ってみよう】【Arduinoに送った文字でレスキューロボットを動かそう】

ArduBlockで以下のプログラムを書いてみよう。
このプログラムは、シリアルモニタからPCが送信した文字を受け取り、comm nd=の後に文字コードを10進数で表示する。

レスキューロボットは、前後移動と左右旋回ができる。
パソコンのテンキーを使って７８９
４５６
１２３８を送ったら前進、２を送ったら後退、４を送ったら左旋回、６を送ったら右旋回になるようにするとレスキューロボットを操作できるようになる。
パソコンに保存した「rescue1」を呼び出して、「rescue4」という名前で保存をし直して、プログラムを変更してみよう。

このプログラムを書き込んで、シリアルモニタにAと入力し送信ボタンを押すとArduinoが受信した文字のコードが表示される。
Aの場合は65、Bの場合は66になるので確認してみよう。

こんな感じにArduinoに対して情報を渡せると、もらった情報に合わせてArduinoの制御をすることができるようになる。

a29

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業

シリアルモニタから2,4,6,8を送った時にArduinoがどのコードで受け取っているか調べてみた。

そして「もし」でre d_comm ndが-1以外（シリアルから1文字の入力があった場合、どんな文字コードを読み取ったかシリアルモニタに表示する。

[2]=50[4]=52[6]=54[8]=56という結果になった。

さらに、re d_comm ndが56（８）ならば、シリアルモニタに「FOWORD」と表示する。
その後に前進動作のサブルーチンfowordを呼び出し、その動作を100ミリ秒保持する（この数字の変更で移動する時間が変わる）。

これをもとに、8を送った時に前進状態を100ミリ秒維持する

最後にサブルーチンstopを呼び出してロボットの移動を止める。

プログラムを書いてみた。

このプログラムを書いて、Arduinoに書き込みシリアルモニタを開いてキーボードで8を入力し送信してみよう。

最初に「START」という文字をシリアルモニタに表示する。
次に、シリアルから１文字を読み取り、re d_comm nd変数に入れる。

aaaaaa30

タケルソフトウェア 2022レスキューロボットをマイコン化しよう

会津大学復興知授業
あとはフリッパーの上下とハンドの開閉を追加して操作できるようになると、このロボットをフルコントロールできるようになる。
フリッパーを下げる操作を「７」フリッパーを上げる操作を「９」ハンドを閉じる動作を「１」ハンドを開く動作を「３」に割り当てるとfowordで前進ができると、2を送信して後退もできる。
２は、文字コードでいうと50になる。
そしてfowordをb ckにすれば後退動作になる。
前進のプログラムを複製して以下のようにしたものを連結すれば良い。

[7]=55[9]=57[1]=49[3]=51になる。
また、フリッパーを下げるサブルーチンをf_down、上げるサブルー
チンをf_up、動作を止めるサブルーチンをf_stop、ハンドを閉じる
動作をh nd_close、ハンドを開く動作をh nd_openとして次の同じ考え方で4の時に左旋回、６の時に右旋回のプログラムも書いページにそのサブルーチンを記載しておく。てみよう。
さあ、みんなのロボットは送信する文字で自由に動くようになったかな？

aaa31

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業

・フリッパーを上げる

注意点
移動の時は最後にstopを入れて動作を止めていた。なので、フリッパーを動かした時は最後にf_stopを入れておくこと。

・フリッパーを下げる

・フリッパーを止める

・ハンドを閉じる

・ハンドを開く

32

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業

ここまでのプログラムで、レスキューロボットをパソコンから送る文字コードで自由に操作できるようになる。
障害物を設置して走行させてみよう。

33

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業【ワイヤレスでロボットを動かしてみよう】

GROVEシールドのUARTコネクタはシリアル通信専用のコネクタになる。

今の時点のレスキューロボットは、パソコンとUSBケーブルで繋ぎシリアル通信で操作をすることができる。
このケーブルを外し、Bluetooth規格のシリアル通信アダプタをロボットに繋ぐことで無線に置き換えることができる。
プログラムはそのままでいいのでとても楽ちんだ。

ここのコネクタの機能は、パソコンと繋いだUSBケーブルによる通信と同じなので、この先にBluetooth規格のシリアル通信アダプ

さらに、wi iでつながるカメラをレスキュークローラロボットに搭載すれば、カメラ画像をみながら遠隔操作できるロボットに改造することもできる。

タを接続すれば、ロボット側の準備は完了だ。

ただし、数十人も同時に操作をすると飛び交う電波でロボットの動作も不安定になるので今回のセミナーでは同時に操作するのは２台までとするよ。

f34

タケルソフトウェア 2022

レスキューロボットをマイコン化しよう

会津大学復興知授業

ロボットは通信データをBluetoothで受信する機能を有するようiOSの場合、Bluetooth for Arduinoをインストールし、有料登録をするとこのようなゲームコントローラが使えるようになる。になったが、じゃあBluetoothを使って文字コードを送信する機能はどうすればいいだろうか？
もちろん、Arduinoを使って送信機を作ることもできるけどもっと簡単な方法がある。
それはみんなが使っているスマホにアプリを入れることなんだ。
・iOSの場合
Bluetooth for Arduino

これで、移動キーに8,4,6,2、フリッパー上下の×に７、□に９、ハンド開閉に◯に1、△に3を割り当てればパソコンからキーを押して・Androidの場合送った時と同じようにレスキューロボットをコントロールすることができる。

Arduino & ESP32 Bluetooth Controller App - D bble

カメラに関してはwi iアクセスポイント機能の持ったペット用の市販の見守りカメラなどが利用できる。

今回はすでにこれらアプリを設定したスマホを準備しているので、遠隔操作を体験してみよう。

af35

タケルソフトウェア 2022