最初のレッスン(ロボットの作り方 - はじめに)に続いて、Arduinoロボットとは何か、ロボットを組み立てるために必要なもの、およびツールの使い方についての基本的な知識が身に付きました。さあ、作り始めましょう!
この2番目のチュートリアルでは、あなたは基本的なArduinoロボットを作ることを教えられます。このチュートリアルを読みやすくするために、ここでは例としてArduinoロボットキット(Pirate:Bluetooth 4.0搭載4WD Arduinoモバイルロボットキット)を使用します。
レッスンメニュー:
レッスン1:はじめに
レッスン2:基本的なArduino Roboの構築
レッスン3:ライントラッキングArduinoロボットの構築
レッスン4:障害物を避けることができるArduinoのロボットを作る
レッスン5:光と効果音でArduinoのロボットを製作する
レッスン6:環境を監視できるArduinoロボットの構築
レッスン7:Bluetooth制御Arduinoロボットの製作
組立説明
ステップ1:あなた自身のモーターを組み立てる
あなたの部品袋の中で8本の長いネジを探してください。これらは、モーターを固定して固定するために使用されます。モーターを正しい位置に配置してから、下の図に示すように所定の位置にねじ込みます。
ワッシャーとガスケットもパーツバッグに含まれています。ワッシャを使用して摩擦を増やすことができます。これは、モータを所定の位置に固定するのに役立ちます。ガスケットは、ロボットの動きや衝突によるねじナットの緩みや脱落を防ぐのに役立ちます。
用品:
ステップ1:
ステップ2:ケーブルのはんだ付け
黒と赤のワイヤーをパーツバッグから取り出します。各モーター(合計4つのモーター)に1本の黒と1本の赤いケーブル(長さ15 cm)を接続します。次に、ワイヤストリッパーを使用して、ワイヤの両端の絶縁材をはがします(剥がしすぎないように注意してください。下の図を参照してください)。次に、モーターに固定されているピンにワイヤーをはんだ付けします。 4つのモーターすべてに対してはんだ付けプロセスを繰り返します。
注:はんだ付けするときは、赤と黒のワイヤの正しい位置に注意してください。詳細は以下の写真をご覧ください。
ステップ2:
ステップ3:Romeo BLEコントローラーを組み立てる
あなたの部品の袋の中で3つの銅製の支柱を探してください。これらの長さ1cmのサポートは、Romeoコントローラボードを固定するために使用されています。下の図に示すように、コントローラボードには3つの穴があります。 3つの銅製サポートを穴に入れてから、適切なネジでしっかりと固定します。
ステップ3:
ステップ4:バッテリーボックスを組み立てる
皿ネジ2本を外します(頭は平らです)。次に、下の図に示す手順に従って、バッテリーをカーベースに固定します。
ステップ4:
ステップ5:電源スイッチの作り方
電池はロボットの本質的な生命線です。電力使用量を制御するには、電源スイッチを使用する必要があります。スイッチは、使用されていないときに電源を切るので、電力とバッテリの寿命を延ばします。電源スイッチを組み立てて取り付ける前に、下の図を参照してください。
スイッチを組み立てるときは、ガスケットとねじナットの順序に注意してください。
ステップ5:
スイッチを組み立てた後、我々はそのワイヤーをはんだ付けし始めたいです。残りのワイヤーの残りを前から持っていく。ワイヤの内側が露出するようにケーブルの両端から配線を剥ぎ取ります(前のモーターと同じプロセス)。ワイヤの露出端をスイッチのピンに半田付けします。はんだ付けするときは、スイッチのピンの位置に注意することが非常に重要です。
ステップ6:
このステップを一歩ずつ進めましょう。
a)スイッチを充電器に接続します。両方の項目の正確な位置に注意してください。
ステップ7:
b)下図のように、スイッチと充電器を接続する赤いケーブルをはんだ付けします。
ステップ8:
これは、物事をより明確にするための別の図です。
c)最後に、赤いケーブル1本と黒いケーブル1本を取ります。一方のケーブルの一方の端を充電器の負極に、もう一方のケーブルの一方の端を充電器の正極に接続します。次に、両方のケーブルのもう一方の端をRomeo BLEコントローラーに接続します。
ステップ9:
c)最後に、赤いケーブル1本と黒いケーブル1本を取ります。一方のケーブルの一方の端を充電器の負極に、もう一方のケーブルの一方の端を充電器の正極に接続します。次に、両方のケーブルのもう一方の端をRomeo BLEコントローラーに接続します。
ステップ10:
この拡大写真を見ると、ワイヤをどのように接続する必要があるのかがわかりやすくなります。はんだ付け後、バッテリーとRomeoコントローラー間の配線が最初から最後まで一貫しており、上の写真と一致するかどうかを確認してください。
STEP 6:カーベースを組み立てる
以下の図に示すように、8本のM3×6 mmネジを使用して、サイドプレートを前面および背面のバンパープレートに取り付けます。
注:この手順でネジを締めるときは、最初にネジを完全に締めないでください。調整する必要がある場合は、後の手順で天板を簡単に取り外すことができます。
ステップ11:
次に、下の写真のようにベースプレートを車体に取り付けます。
ステップ12:
**これは組み立てられた後のカーベースの好みです。バッテリーパックの取り付けを忘れないでください!
STEP7:モータとマイコンボードを接続する
今度は私達はマイクロコントローラー板が付いているモーターに必要です。次の図を慎重にたどってください。左のモーターの赤と黒のワイヤーをM2に半田付けする必要があります。右側のモーターの赤と黒のワイヤーはM1に半田付けする必要があります。バッテリパックには特に注意してください。黒のワイヤはGNDと表示されているワイヤポートに半田付けし、赤のワイヤはVNDとラベル表示されたワイヤポートに半田付けする必要があります。ドライバを使用してワイヤポートを緩めて締めます - ワイヤが挿入されたら、これらのポートがしっかりと固定されていることを確認します。
注:1つのモーター(つまり、左側のモーター)からのワイヤがモーターポートに半田付けされていることを確認してください。 (すなわち、下図のM2ポート - 1本のモーターのワイヤを2つの別々のポートにはんだ付けしないでください。)
ステップ13:
モーターワイヤをマイクロコントローラボードに半田付けした後、トッププレートを自動車のベースに取り付ける準備が整いました。
トッププレートを取り付ける前に、センサープレートを取り付けることができます(下の図を参照)。まだセンサーを使用しない場合は、この追加手順をスキップできます。
ステップ14:
プラットホームの上部を取り付けた後、あなたのロボットプラットフォームは下の写真のようになるはずです。
ステップ15:
STEP8:ロボットにレベルを追加する
ベースのトッププレートにある4つの穴を見つけます。 4つのM3×60 mm銅製支柱をねじ込み、次に下図に示すように追加の上部プレートを取り付けます - M3×6 mmねじを使用してプレートを銅製支柱に固定します。
ステップ16:
あなたのロボットプラットフォームにいくつかの車輪を投げると、あなたはそれを鞭打ちさせる準備が整いました!
ステップ17:
コーディング
組み立てた後、コードをマイクロコントローラにアップロードしてArduinoロボットを動かす時が来ました。ロボットは組み立てられると動くための全ての部品を持っています。 「MotorTest.ino」というタイトルのArduinoファイルのサンプルコードを調べます。
サンプルコードMotorTest:
#含める
DFMobile Robot(4,5,7,6); //モーターピンを始動
void setup(){
Robot.Direction(LOW、HIGH); //ポジティブな方向を始める
}
void loop(){
Robot.Speed(255,255); //転送
遅延(1000)。
Robot.Speed(-255、-255); //バック
遅延(2000)。
}
コードをダウンロードしてから、マイクロコントローラにアップロードしてください。モーターと車輪は急いで生きてくるべきです。そうでない場合は、電池と電源スイッチが正しく取り付けられているか確認してください。モーターが作動したら、おめでとうございます。あなたは大きなステップを完了しました - それは私たちのゴムを道に向かわせる時です。
それからあなたのロボットカーを観察し、それが1秒以内に前進し、1秒以内に後退するかどうかを確認してください。もしそうであれば、GOOD LUCK。コンポーネントを調整する必要はありません。車のベースやモーターを調整する必要がある人のために、ロボットがどのように動くかについて次の情報を見つけてください。
ロボットプラットフォームが上記のコードに従っているかどうかを確認してください。1秒間前進してから1秒間後退します。その場合は、以下のコンテンツを読み飛ばすだけで準備完了です。
しかし、ほとんどの人は自分のモーターを調整する必要があります。その前に、ロボットの運動機能とコードがどのように機能するのかを簡単に見てみましょう。
ロボットを前進させる方法?この質問を理解するために、最初に私達のロボットの前進を調べましょう。
下の図は、この前方への動きを示しています。
ステップ18:
上の赤い矢印は車輪の方向を表します。上の地図に示されているように、車は左右両方の車輪/モーターが前進している場合にのみ前進できます。上に示したように、Arduinoロボットは左右のモーターと車輪の両方が前進しているときにのみ前進します。
コードの概要
コードの最初の行は次のとおりです。
#include //ライブラリを呼び出します
この行について考える必要はあまりありません。私たちが行っているのは、Arduinoの基本的なフレームワークの外側に存在する一連の関数(DFMobileライブラリ)を呼び出すことです。 Arduinoライブラリの詳細については、ArduinoのWebサイトをご覧ください。
コードの次の行は次のとおりです。
DFMobile Robot(4,5,7,6); //モーターピンを始動
この機能はDFMobileライブラリから取得されます(つまり、汎用のArduino機能ではありません)。ここでは、マイクロコントローラのモーターピン(4、5、7、6)を初期化するために使用します。これがないと、モーターは起動しません。
この機能も後で使用する予定です。
以下の機能を見てください。
DF移動ロボット
(EnLeftPin、LeftSpeedPin、EnRightPin、RightSpeedPin);
この機能は、4つのモーターピン(4、5、7、6)を初期化するために使用され、4つの別々のパラメーターに分けられます。
EnLeftPin:モーター左方向を制御するピン
LeftSpeedPin:左モータ速度を制御するピン
EnRightPin:正しいモーターの方向を制御するピン
RightSpeedPin:正しいモーター速度を制御するピン
注意してください:ロボットのモーターはこの機能を含まずに動かないでしょう。また、この関数はArduinoスケッチのvoid setup()フィールド内に配置する必要があります。
以前にロボットの前進動作をテストする際に、特定の問題が発生する可能性がありました。車がドリフトし始め、方向が変わり、与えられたコードに完全には従っていないということです。これは、モータ線がバッテリに正しく半田付けされていないためです。
心配しないでください - コードでこれを修正できます。 LOW / HIGH値を使用することで、車の方向転換を調整できます。
ロボットカーの直線方向を調整する方法
モーターとホイールの方向を調整するには、次のコード行が必要です。
Robot.Direction(LOW、HIGH);
機能は次のとおりです。
Robot.Direction(LeftDirection、RightDirection);
この機能は、モーターを順方向に動かすために使用されます。関数は2つのパラメーターに分けられます:LeftDirectionとRightDirection。これはArduinoコードでLOWまたはHIGHのいずれかとして書かれています。
先に、Arduinoのロボットを前進させる方法を簡単に説明しました。ここでは、ロボットの邪魔な動きを補正するためにLOW / HIGHを使用します。たとえば、サンプルコードではLeftDirectionはLOWに設定されています。しかし、ロボットカーの左車輪は、前方に回転するのではなく後方に回転することがあります。あとは、LeftDirectionをLOWからHIGHに変更するだけです。同じ方法が正しい車輪に適用されます。
たとえば、このサンプルコードでは、LeftDirectionはLOWに設定されています。左車輪が本来のように前進するのではなく、後退するとします。この場合は、LeftDirectionの設定をLOWからHIGHに変更します。 HIGHに変更したら、もう一度コードをアップロードします - 左ホイールが逆方向ではなく今すぐ動いていることがわかります。この調整がうまくいく場合は、RightDirectionについても同じようにします(LOWからHIGH、またはその逆)。
Arduinoロボットの方向を正しく調整できたら、準備完了です。おめでとうございます - これで、ロボットのすべての基本機能を使用できます。ただし、終了する前に、Robot.Speed()関数について簡単に説明しておく価値があります。
次の機能を調べてください。
Robot.Speed(LeftSpeed、RightSpeed);
2つの要素(LeftSpeedとRightSpeed)を持つこの機能は、モーターの速度を設定するために使用されます。 -255から255の間の数を書くことができます。255は最大の数字であり、マイナス記号は方向を表します。
この機能は、モーターの速度を設定するために使用されます。この機能は、LeftSpeedとRightSpeedの2つのパラメータに分けられます。これらのパラメータはArduinoコードで-255から255までの範囲の値として書かれています。255は最も速い速度です。 -255は、後方へ移動する(つまり反転する)最速の速度です。
コードのvoid setup()部分でロボットの速度を設定済みです。これで、speed()関数を使って車の速度を制御したり、前後方向を制御したりすることができます。
次の2行を理解できるかどうか確認してください。
Robot.Speed(255,255);
Robot.Speed(-255、-255);
最初の行は、車が全速力 - 全速力で前進している場合を示しています(アイ、アイ、キャプテン)。 2行目は、車が最大速度で後退していることを示しています。
この意味で、speed()は不可欠な関数です。次に、最後のセクションである、ロボットの動きと回転のしくみの背後にある原則について説明します。
ロボットの動きと回転
下の地図は、ロボットカーの通常の移動方法を示しています。たとえば、左方向の速度がゼロの場合、右の車輪に前方に移動する力を与えるとロボットは左に曲がります。
次の図は、Arduinoロボットが動いて回転する方法をいくつか示しています。たとえば、左の車輪の速度を0に設定すると、右の車輪が前方に移動します。したがって、Arduinoのロボットは左に回転します。
ステップ19:
考慮すべきこと:静止している間にロボットを円周方向に回転させるにはどうすればよいですか。
最後に、必要に応じて、自分のロボットの動きをテストして調整するためのコードをさらに実行することができます。 “ MotorTest2.ino”ファイルを開きます。このコードは、左右の回転に加えて、前後の動きの機能をよりよく理解し、判断するのに役立ちます。これを念頭に置いて、それらのタイヤを道路(またはカーペット)に置いて、裂けましょう!
おめでとうございます、これで最初のロボットが完成しました。それは前進、後退、左折、そして右折することができるbacis機能を持っています。
興奮を感じ?次のいくつかのチュートリアルでは、障害物や線路を避けることができる、より高度なロボットの作り方をお教えします。