7. 手を追う車¶
この車をペットのように考えて、手を振ると車があなたの方に走ってきます。
必要な部品
このプロジェクトには、以下のコンポーネントが必要です。
キット全体を購入するのは確かに便利です。以下がリンクです:
名前 |
このキットのアイテム |
リンク |
---|---|---|
3 in 1 Starter Kit |
380+ |
以下のリンクから個別に購入することもできます。
コンポーネントの紹介 |
購入リンク |
---|---|
- |
|
- |
|
配線図
超音波モジュールと2つのIR障害物回避モジュールを同時に接続します。
R4ボードに超音波を次のように配線します。
超音波モジュール |
R4ボード |
---|---|
Vcc |
5V |
Trig |
3 |
Echo |
4 |
Gnd |
GND |
R4ボードへの2つのIR障害物回避モジュールの配線は次のとおりです。
左IRモジュール |
R4ボード |
---|---|
OUT |
8 |
GND |
GND |
VCC |
5V |
右IRモジュール |
R4ボード |
---|---|
OUT |
7 |
GND |
GND |
VCC |
5V |
コード
注釈
3in1-kit\car_project\7.follow_your_hand
のパスの下で7.follow_your_hand.ino
ファイルを開きます。または、このコードを Arduino IDE にコピーします。
または、 Arduino ウェブエディター を通じてコードをアップロードします。
コードが正常にアップロードされたら、車を地面に置きます。車の前で5*10cmの距離で手を近づけると、車はあなたの手を前に追って進みます。IR障害物モジュールの両側に手を近づけると、対応する方向に転向します。
動作原理
このプロジェクトは前の2つのプロジェクト、 6. 超音波モジュールで遊ぼう と 5. 障害物回避モジュールを使って遊ぼう 、の組み合わせですが、実装された効果は異なります。前の2つのプロジェクトは障害物を後ろから検知していましたが、このプロジェクトでは、あなたの手が前進または方向転換を追いかけるのを検知しています。 このプロジェクトのワークフローは以下の通りです。
超音波モジュールによって検知された距離と、両方の赤外線モジュールの値を読み取ります。
距離が5〜10cmの場合、車をあなたの手と一緒に動かします。
左のIRモジュールがあなたの手を検知した場合、左に曲がります。
右のIRモジュールがあなたの手を検知した場合、右に曲がります。
赤外線モジュールも超音波モジュールもあなたの手を検知しない場合、車を停止させます。
void loop() {
float distance = readSensorData();
int left = digitalRead(leftIR); // 0: 遮蔽物あり 1: 空
int right = digitalRead(rightIR);
int speed = 150;
if (distance>5 && distance<10){
moveForward(speed);
}
if(!left&&right){
turnLeft(speed);
}else if(left&&!right){
turnRight(speed);
}else{
stopMove();
}
}