2024年11月2日土曜日

Raspberry Pi Donkey Car タミヤ バギー

2020年に製作したDonkey Car タミヤ バギーについて記事にしました。
Donkey CarはRaspberry Pi のカメラからコースをディープラーニングさせ自動走行を行います。(動画は白線内を自動走行)
●使い方
同ブログ関連記事【Raspberry Pi Donkey Car スマートカー】  






動画



タミヤ バギー
■Raspberry Pi3 B+ (技適製品)
■Arduino Nano
■カメラモジュール
■マイクロサーボ:TG9z
■レーザー測距センサー:VL53
■タミヤ 楽しい工作シリーズ No.112 バギー工作基本セット 70112
■タミヤ 楽しい工作シリーズ No.157 ユニバーサルプレート 2枚セット (70157)
■モバイルバッテリー 







Pololu説明図
■Pololu 4 チャンネル RC サーボ マルチプレクサー 
今回[SEL]制御信号線を外して【M】→【OUT】障害物検知を未使用にしました。
※障害物検知(Arduino Nano・VL53・マルチプレクサ)を外すとシンプルなDonkey Carとなります。



走行モータ駆動サーボ制御基板
(サーボモータから外した基板)
サーボモータ基板にモータを接続してPWM信号により回転方向とスピード制御。




図面




プログラム(Arduino Nano)
 #include <Wire.h>      

#include <VL53L0X.h> 
#include <Servo.h>  //servo library
Servo myservo1;
Servo myservo2;
Servo myservo3;
VL53L0X gVL530X;
void vl53(){
  int dist = gVL530X.readRangeContinuousMillimeters();  
  if (gVL530X.timeoutOccurred()){ 
  }    
  if(dist < 100 ){
    myservo3.write(180); //SEL_on
    delay(10);
    myservo1.write(45);  //back
    myservo2.write(70);  //center  
    delay(1000);
    myservo2.write(40);  //right
    myservo1.write(135); //forward         
    delay(1000);
    myservo1.write(90);  //stop
    myservo2.write(70);  //center
    delay(500);
    myservo3.write(45); //SEL_off
    delay(10);
    
    //myservo1.write(45);  //back
    //myservo2.write(40);  //right
    //myservo1.write(135); //forward
    //myservo2.write(100); //left   
    //myservo1.write(90);  //stop
    //myservo2.write(70);  //center    
    
}

void setup()
{
  Serial.begin(9600);
  Serial.println("START\n");
  Wire.begin(); 
  gVL530X.init();
  gVL530X.setTimeout(1000);
  gVL530X.startContinuous(100);
  myservo1.attach(3);
  myservo2.attach(5);
  myservo3.attach(6);
  //myservo3.write(180); //SEL_on
  myservo3.write(45); //SEL_off
}
void loop()
  vl53();  
      
}

0 件のコメント:

コメントを投稿

Raspberry Pi Donkey Car スマートカー

  2020年に製作したDonkey Car スマートカー について記事にしました。 Donkey CarはRaspberry Pi のカメラからコースを ディープラーニングさせ自動走行を行います。(動画は白線上を自動走行)   動画