ロボット入門その1 自動ドア

前提

こちらの記事を呼んでいない方は

先にこちらを参照することをお勧めします。

概要

私の記念すべき初ロボットです。

赤枠線部分がセンサーとなっていて、

そこに物体が近づくと反応して

赤い扉が開きます。

自動ドア。完成図

こんな動きです。以外に激しい動き。

小さい子には痛いかも。(対象年齢8歳以上)

※動きの激しさは対処法がありました(後述)

ガイドブックのサンプルでは、

開いたあと1秒したら自動的に閉まりますが、

改造してセンサーの近くに何からある間は

開きっぱなしで、センサーから離れたら

閉じる動きにしてあります。

所要時間

個人差はあると思いますが、

キット確認に5分(最初だけ)。

ツールの設定に10分(最初だけ)。

組み立てに15分、

プログラミングに15分でした。

(色々試しながらやったのもありますが)

ロボット作成

ガイドブックの通りに組み立てていきます。

レゴブロックに近い感じですが、

意外に向きが難しくガイドブックや

サンプルを見ながら穴と出っ張りの

位置を確認しながら作った方がよさそうです。

まずブロックのハーフA薄グレー2個と

基本四角グレー4個で柱を作ります。

ブロック ハーフA薄グレー (でっぱり片面1個)
ブロック ハーフA薄グレー (でっぱり片面1個)
 ブロック  基本四角グレー
ブロック 基本四角グレー
柱

ブロック基本四角 赤
ブロック基本四角 赤
扉

基本四角ブロック赤12個で扉を作ります。

柱と扉をサーボモーターに結合

先ほどの柱にサーボモーターと

ブロックハーフB薄グレーを繋げます。

サーボモーター
サーボモーター
ブロックハーフB薄グレー(でっぱり片面2個)
ブロックハーフB薄グレー(でっぱり片面2個)

サーボモータを柱とブロックハーフB薄グレーに結合前
サーボモーターとブロック結合前
サーボモーターとブロック結合後

モーターはぶっちゃけ

ミニ四駆のエンジンしか

知りませんでしたが、

これは関節などに使用できる

パーツのようです。

そして、そのまま扉も繋げます。

サーボモーターに扉を結合
扉結合後
ステー
ステー

更にステーを結合します。

このステーが支柱なのか補強部材を指すのかは

まだよくわかりません。

ステー結合前
ステー結合前

右側のステーは強くはめると

ドアが動きづらくなるため

緩めにはめ込みます。

ステー結合後
ステー結合後

赤外線フォトリフレクタを設置

赤外線フォトリフレクタ
赤外線フォトリフレクタ
ブロック三角 赤
ブロック三角 赤

赤外線フォトリフレクタは

物体との距離を計測する

センサーのようです。

こういうの出てくるとロマンありますね。

パッと見、他のセンサーと

見分けがつきづらいですが、

よく見るとIR Photoreflectionと

書いてありました。

これらの先ほどのステー結合後の

パーツに組み込みます。

赤外線フォトリフレクタを設置
赤外線フォトリフレクタを設置

基盤本体と接続

基盤本体
基盤本体
電池ボックス
電池ボックス
センサー接続コード
センサー接続コード

基盤本体と各種パーツを接続します。

電池ボックスには単三電池を入れて

電源をオフにしておきます。

基盤との接続

サーボモーターのコードをD9に(緑枠線)

電池ボックスをPOWORに(赤枠線)

センサー接続コードをA4に(青枠線)

接続します。向きが異なると

正常に動作しませんので

コードを色を目印に方向を合わせます。

センサーコードと赤外線フォトリフレクタとの接続

センサーコードと赤外線フォトリフレクタを

このように接続します。

こちらも向きを合わせる必要があります。

完成

パソコンとの接続のために

USBコードを付ければ完成です。

ガイドブックだとここまでですが、

サーボモータの動きが激しく

動くたびに自動ドアが倒れてしまったので

余っていたブロックと基盤をつなげて

安定性を上げました。

(それでも重さが足りず動いてしまいますが)

ブロック ハーフB水
ブロック ハーフB水
USBコード
USBコード
完成品
完成品

機体の方は完成です。

しかしこのままでは動かないので

プログラム(魂)を作って

入れてあげます。

プログラム作成

プログラミングツール起動

先にプログラミングツールを

パソコンに入れておく必要があります。

そしてパソコンとロボットをUSBで接続し、

電池ボックスのスイッチをONにした上で

「Studuino Software」を起動します。

最初の画面では「プログラミング環境」

次は「ブロックプログラミング環境」を

選択します。

Studuino Software トップ画面

次にロボットを選択します。

Studuino Software ブロックプログラミング画面

この画面にパズルのように組み合わせて

ロボットを動かすプログラムを

作っていきます。

ロボットプログラミング画面

センサーの設定

初期状態では赤外線フォトリフレクタを

認識していないため設定する必要があります。

まず「編集」から

「入出力設定」を起動します。

ロボットプログラミング画面

A4にコードで接続したため

A4のチェックボックスをクリックします。

入出力設定画面

光センサーとなっているので

赤外線フォトリフレクタに変更します。

入出力設定画面でA4に赤外線フォトリフレクタに変更

テストモード起動

テストモードは実際にロボットを動かしながら

プログラムを作るモードです。

「テストモード開始」を

クリックで起動します。

テストモード起動

センサー・ボードが出てきます。

先ほど設定した赤外線フォトリフレクタが

A4に表示されているかを確認しましょう。

センサー・ボードを確認

とりあえず動かしてみます。

左側にあるサーボモーターを

二つ右側にドラッグします。

そして片方の角度を180度に変更します。

90度が初期状態です。

サーボモーター

180度の方の「サーボモーター」の

文字をクリックすると扉が開き、

90度の方をクリックすると戻ります。

もしサーボモーターの角度が

ズレている場合はテストモードを解除し

「モーター校正」を行います。

モーター校正を起動
モーター校正画面

プログラム作成

自動ドアのプログラムの内容

マウス操作でこのような状態にします。

それぞれのパーツの色は下記に対応しています。

オブジェクト一覧

クリックすると所属するパーツが

表示されるので切替えながら作ります。

まず「制御スタート」に

「ずっと」をつなげます。

プログラムは「制御スタート」から

始まります。

「ずっと」はこの中のものを

無限に繰り返します。

「ずっと」にしておかないと

プログラムがすぐに終わってしまい、

何の反応もないロボットになってしまいます。

「もし~なら」を二つ、

「ずっと」の中に置きます。

「もし~なら」は条件分岐と言い、

特定の条件を満たす場合、

何らかの動作を行うことを示します。

「もし~なら」を二つ、「ずっと」の中に置く

「演算」から<(小なり)を

このように設定します。

<(小なり)を設定

小なりに「調べる」の

「赤外線フォトリフレクタ」を設定します。

「赤外線フォトリフレクタ」を設定

「センサーボード」の

「赤外線フォトリフレクタ」の

値を確認します。

赤外線フォトリフレクタの近くに

何もない状態の値が必要です。

今回は2としていますが、

環境で変わることがあるので

実際に確認しましょう。

なおテストモードでロボットの方の

センサーに指を近づけると値が上がり

指の接近を検知していることがわかります。

センサー・ボード、赤外線フォトリフレクタで値を確認

上の左辺に何もない状態の値を、

下の右辺のそれより一つ多い値を設定します。

赤外線フォトリフレクタの対辺を設定

「動き」の「サーボモーター」を設置し、

上の方の角度を180度にします。

これでロボットの方の

赤外線フォトリフレクタに

何かを近づけると扉が開き、

離れると閉じる状態になります。

サーボモーターの動きを登録し、扉の開閉を行う

「制御」から「1秒待つ」を設定します。

これは必須ではありませんが、

開閉動作に1秒間、余裕を持たせています。

1秒待つを追加

一通り動かして問題なければ

「プログラム作成・転送」を実施し

ロボットにプログラムを転送します。

プログラム作成・転送

これでテストモードを終了し、

パソコンからUSBケーブルを外せば

独立して動作するロボットになります。

サーボモーター速度変更(追記)

後の記事を作っていた見つけたのですが、

「サーボモーターを同時に動かす」を使えば

動きを柔らかくすることが出来ました。

初期状態の10は強いので、

5くらいが丁度よいでしょう。

サーボモーターを同時に動かす
動きの速さを調節したサンプル

おわりに

今回はこれで終了です。

最初の一歩なため、

まだまだロボットというには

抵抗のある代物ですが

それでも一歩は一歩。

徐々に広げていこうと思います。

今回の自動ドアは

片方からしか来ませんが、

センサーを二つ用意すれば

両方からの開閉を制御などの

発展形が想像できますので

徐々に広げていこうと思います。

フォローする