ラインフォロワーロボット
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
アプリとオンラインサービス
> |
|
このプロジェクトについて
ArduinoとIRセンサーを使って完全自律型ロボットを作りましょう。それは白い表面の黒い線をたどることができます。詳細についてはビデオをご覧ください!
使用したコンポーネント:
- 段ボール/アクリルシート
- Arduino Uno
- IRセンサー
- BOモーター
- ホイール
- キャスターホイール
- L293d IC
- PCB
- フレキシブルワイヤー
- バッテリー
すべてのコンポーネントをアクリルシートに固定し、写真のようにシャーシを作成します。
<図> <図> <図> <図> <図> <図>次に、以下の回路図に従ってすべての接続を行います。
<図>このように点線のPCBでこの回路を作ることができます。
<図>または、このタイプのプロ並みのPCBを使用できます。
<図> <図> <図> <図> <図>このシールドのPCBは、https://www.pcbway.com/project/shareproject/How_to_Make_Arduino_Based_Edge_Avoiding_Robot.html
から注文できます。または既製のシールドについては、https://www.facebook.com/STROniXTechnologies
までお問い合わせください。次に、このロボットをプログラムします。このプログラムをarduinoにアップロードしてすべて完了しました。
// 2019年5月8日のShubhamShinganapureによるプログラム
//
// 2IRセンサーを使用したラインフォローロボット用
int lm1 =8; //左モーター出力1
int lm2 =9; //左モーター出力2
int rm1 =10; //右モーター出力1
int rm2 =11; //右モーター出力2
int sl =13; //センサー1入力(左)
int sr =12; //センサー2入力(右)
int SlV =0;
int SrV =0;
int led =A0;
void setup()
{
pinMode(lm1、OUTPUT);
pinMode(lm2、OUTPUT);
pinMode(rm1、OUTPUT);
pinMode(rm2、OUTPUT);
pinMode(led、 OUTPUT);
pinMode(sl、INPUT);
pinMode(sr、INPUT);
sTOP();
}
void loop()
{
SlV =digitalRead(sl);
SrV =digitalRead(sr);
if(SrV ==LOW &&SlV ==LOW)
{
ForWard( );
}
if(SrV ==HIGH &&SlV ==LOW)
{
Left();
}
if(SrV ==LOW &&SlV ==HIGH)
{
Right();
}
if(SrV ==HIGH &&SlV ==HIGH)
{
sTOP();
}
}
void ForWard()
{
digitalWrite(lm1、HIGH);
digitalWrite(lm2、LOW);
digitalWrite(rm1、HIGH);
digitalWrite(rm2、LOW);
}
void BackWard()
{
digitalWrite(lm1、LOW);
digitalWrite(lm2、HIGH);
digitalWrite(rm1、LOW);
digitalWrite(rm2、HIGH);
}
void Left()
{
digitalWrite(lm1、LOW);
digitalWrite(lm2、HIGH);
digitalWrite(rm1、HIGH);
digitalWrite(rm2、LOW);
}
void Right()
{
digitalWrite(lm1、HIGH);
digitalWrite(lm2、LOW);
digitalWrite(rm1、LOW);
digitalWrite(rm2、HIGH);
}
void sTOP()
{
digitalWrite(lm1、LOW);
digitalWrite(lm2、LOW);
digitalWrite(rm1、LOW);
digitalWrite(rm2、LOW);
}
詳細については、私のYouTubeチャンネルを購読してください:
コード
- ラインフォロワーロボット
ラインフォロワーロボット Arduino
// 2019年5月8日のShubhamShinganapureによるプログラム//// 2IRセンサーを使用したラインフォローロボット用intlm1 =8; //左モーター出力1intlm2 =9; //左モーター出力2intrm1 =10; //右モーター出力1intrm2 =11; //右モーター出力2intsl =13; //センサー1入力(左)int sr =12; //センサー2入力(右)intSlV =0; int SrV =0; int led =A0; void setup(){pinMode(lm1、OUTPUT); pinMode(lm2、OUTPUT); pinMode(rm1、OUTPUT); pinMode(rm2、OUTPUT); pinMode(led、OUTPUT); pinMode(sl、INPUT); pinMode(sr、INPUT); sTOP();} void loop(){SlV =digitalRead(sl); SrV =digitalRead(sr); if(SrV ==LOW &&SlV ==LOW){ForWard(); } if(SrV ==HIGH &&SlV ==LOW){Left(); } if(SrV ==LOW &&SlV ==HIGH){Right(); } if(SrV ==HIGH &&SlV ==HIGH){sTOP(); }} void ForWard(){digitalWrite(lm1、HIGH); digitalWrite(lm2、LOW); digitalWrite(rm1、HIGH); digitalWrite(rm2、LOW); } void BackWard(){digitalWrite(lm1、LOW); digitalWrite(lm2、HIGH); digitalWrite(rm1、LOW); digitalWrite(rm2、HIGH); } void Left(){digitalWrite(lm1、LOW); digitalWrite(lm2、HIGH); digitalWrite(rm1、HIGH); digitalWrite(rm2、LOW); } void Right(){digitalWrite(lm1、HIGH); digitalWrite(lm2、LOW); digitalWrite(rm1、LOW); digitalWrite(rm2、HIGH); } void sTOP(){digitalWrite(lm1、LOW); digitalWrite(lm2、LOW); digitalWrite(rm1、LOW); digitalWrite(rm2、LOW); }
回路図
製造プロセス