Arduino Obstacle Avoiding Robot_CAR by AKIOSTEM

Arduino Obstacle Avoiding Robot_Car by AKIOSTEM2019 20190626

Arduino Obstacle Avoiding Robot_Car by AKIOSTEM2019 20190626 AKIOSTEM.COM

障害物回避Robot_Car
Ardublock で最小限のprogrammingしました。
仕様  Arduino L293D SR-04 RGB_LED
タミヤ 工作シリーズ No.168 ダブルギヤボックス 左右独立4速タイプ (70168) 
             No.111 スポーツタイヤ 56mm径 (70111)
No.144 ボールキャスター 2セット入 (70144)
透明 ユニバーサルプレートセット 2枚セット 69906
PIN番号がわからない方はArdublock でChallengeしてみるとよいかもしれません 
Ardublock の l293d_sr04_test1_20190626.abp 画像 :        Arduino のcode upしてます
(改造)参考にしてみてください。 詳しい動きは  Youtube: https://youtu.be/ をご覧ください URL http://AKIOSTEM.COM

Arduino Obstacle Avoiding Robot_Car by AKIOSTEM2019 20190626

#include <AFMotor.h>

int _ABVAR_1_distance = 0 ;
int ardublockUltrasonicSensorCodeAutoGeneratedReturnCM(int trigPin, int echoPin)
{
long duration;
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(20);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
duration = duration / 59;
if ((duration < 2) || (duration > 300)) return false;
return duration;
}

AF_DCMotor motor_dc_1(1, MOTOR12_64KHZ);
AF_DCMotor motor_dc_2(2, MOTOR12_64KHZ);

void red();
void green();
void blue();
void stop1();
void left();
void forward();
void black();
void back();

void setup()
{
digitalWrite( A3 , LOW );

Serial.begin(9600);
blue();

delay( 1000 );

green();

delay( 1000 );

red();

delay( 1000 );

green();

delay( 1000 );

}

void loop()
{
_ABVAR_1_distance = ardublockUltrasonicSensorCodeAutoGeneratedReturnCM( A3 , A4 ) ;
Serial.print(“message”);
Serial.print(” “);
Serial.print(_ABVAR_1_distance);
Serial.print(” “);
Serial.println();
if (( ( _ABVAR_1_distance ) < ( 60 ) ))
{
back();
delay( 1000 );
left();
blue();
delay( 500 );
stop1();
red();
delay( 500 );
}
forward();
green();
delay( 500 );
black();
delay( 500 );
}

void stop1()
{
motor_dc_1.setSpeed(0);
motor_dc_1.run(FORWARD);
motor_dc_2.setSpeed(0);
motor_dc_2.run(FORWARD);
}

void green()
{
analogWrite(A0 , 0);
analogWrite(A1 , 255);
analogWrite(A2 , 0);
}

void forward()
{
motor_dc_1.setSpeed(100);
motor_dc_1.run(FORWARD);
motor_dc_2.setSpeed(100);
motor_dc_2.run(FORWARD);
}

void back()
{
motor_dc_1.setSpeed(100);
motor_dc_1.run(BACKWARD);
motor_dc_2.setSpeed(100);
motor_dc_2.run(BACKWARD);
}

void red()
{
analogWrite(A0 , 0);
analogWrite(A1 , 0);
analogWrite(A2 , 255);
}

void left()
{
motor_dc_1.setSpeed(80);
motor_dc_1.run(BACKWARD);
motor_dc_2.setSpeed(80);
motor_dc_2.run(FORWARD);
}

void black()
{
analogWrite(A0 , 0);
analogWrite(A1 , 0);
analogWrite(A2 , 0);
}

void blue()
{
analogWrite(A0 , 255);
analogWrite(A1 , 0);
analogWrite(A2 , 0);
}

カテゴリー: arduino, Fabrication, Robot_Car タグ: , , パーマリンク