ขนาดวิดีโอ: 1280 X 720853 X 480640 X 360
แสดงแผงควบคุมโปรแกรมเล่น
เล่นอัตโนมัติ
เล่นใหม่
Awesome! I was planning on making a robot similar to this! For future extension, you could add extra sensors to let it drive with precision!
WoW sooo good I loce it, kkep up the good work man
Please gove the code also
#include UltraSonicDistanceSensor ultrasonic(A0,A1);float distance;// left motorint leftMotorSpeedPin = 3;int leftMotorForwardPin = 4;int leftMotorBackwardPin = 5;// right motorint rightMotorSpeedPin = 11;int rightMotorForwardPin = 12;int rightMotorBackwardPin = 13;void setup() { pinMode(leftMotorSpeedPin, OUTPUT); pinMode(leftMotorForwardPin, OUTPUT); pinMode(leftMotorBackwardPin, OUTPUT); pinMode(rightMotorSpeedPin, OUTPUT); pinMode(rightMotorForwardPin, OUTPUT); pinMode(rightMotorBackwardPin, OUTPUT); Serial.begin(9600); digitalWrite(leftMotorSpeedPin, HIGH); digitalWrite(rightMotorSpeedPin, HIGH); }void loop() { distance = ultrasonic.measureDistanceCm(); //Use 'CM' for centimeters or 'INC' for inches Serial.println(distance); if (distance > -1 && distance < 25) { stop(); delay(1000); goBackward(); delay(300); stop(); delay(1000); if(random(0, 2) == 0) { goLeft(); } else { goRight(); } delay(500); stop(); delay(700); } else { goForward(); }}void goForward() { digitalWrite(leftMotorForwardPin, HIGH); digitalWrite(leftMotorBackwardPin, LOW); digitalWrite(rightMotorForwardPin, HIGH); digitalWrite(rightMotorBackwardPin, LOW);}void goBackward() { digitalWrite(leftMotorForwardPin, LOW); digitalWrite(leftMotorBackwardPin, HIGH); digitalWrite(rightMotorForwardPin, LOW); digitalWrite(rightMotorBackwardPin, HIGH);}void stop() { digitalWrite(leftMotorForwardPin, LOW); digitalWrite(leftMotorBackwardPin, LOW); digitalWrite(rightMotorForwardPin, LOW); digitalWrite(rightMotorBackwardPin, LOW);}void goRight() { digitalWrite(leftMotorForwardPin, HIGH); digitalWrite(leftMotorBackwardPin, LOW); digitalWrite(rightMotorForwardPin, LOW); digitalWrite(rightMotorBackwardPin, LOW);}void goLeft() { digitalWrite(leftMotorForwardPin, LOW); digitalWrite(leftMotorBackwardPin, LOW); digitalWrite(rightMotorForwardPin, HIGH); digitalWrite(rightMotorBackwardPin, LOW);}
Awesome! I was planning on making a robot similar to this! For future extension, you could add extra sensors to let it drive with precision!
WoW sooo good I loce it, kkep up the good work man
Please gove the code also
#include
UltraSonicDistanceSensor ultrasonic(A0,A1);
float distance;
// left motor
int leftMotorSpeedPin = 3;
int leftMotorForwardPin = 4;
int leftMotorBackwardPin = 5;
// right motor
int rightMotorSpeedPin = 11;
int rightMotorForwardPin = 12;
int rightMotorBackwardPin = 13;
void setup() {
pinMode(leftMotorSpeedPin, OUTPUT);
pinMode(leftMotorForwardPin, OUTPUT);
pinMode(leftMotorBackwardPin, OUTPUT);
pinMode(rightMotorSpeedPin, OUTPUT);
pinMode(rightMotorForwardPin, OUTPUT);
pinMode(rightMotorBackwardPin, OUTPUT);
Serial.begin(9600);
digitalWrite(leftMotorSpeedPin, HIGH);
digitalWrite(rightMotorSpeedPin, HIGH);
}
void loop() {
distance = ultrasonic.measureDistanceCm(); //Use 'CM' for centimeters or 'INC' for inches
Serial.println(distance);
if (distance > -1 && distance < 25) {
stop();
delay(1000);
goBackward();
delay(300);
stop();
delay(1000);
if(random(0, 2) == 0) {
goLeft();
} else {
goRight();
}
delay(500);
stop();
delay(700);
} else {
goForward();
}
}
void goForward() {
digitalWrite(leftMotorForwardPin, HIGH);
digitalWrite(leftMotorBackwardPin, LOW);
digitalWrite(rightMotorForwardPin, HIGH);
digitalWrite(rightMotorBackwardPin, LOW);
}
void goBackward() {
digitalWrite(leftMotorForwardPin, LOW);
digitalWrite(leftMotorBackwardPin, HIGH);
digitalWrite(rightMotorForwardPin, LOW);
digitalWrite(rightMotorBackwardPin, HIGH);
}
void stop() {
digitalWrite(leftMotorForwardPin, LOW);
digitalWrite(leftMotorBackwardPin, LOW);
digitalWrite(rightMotorForwardPin, LOW);
digitalWrite(rightMotorBackwardPin, LOW);
}
void goRight() {
digitalWrite(leftMotorForwardPin, HIGH);
digitalWrite(leftMotorBackwardPin, LOW);
digitalWrite(rightMotorForwardPin, LOW);
digitalWrite(rightMotorBackwardPin, LOW);
}
void goLeft() {
digitalWrite(leftMotorForwardPin, LOW);
digitalWrite(leftMotorBackwardPin, LOW);
digitalWrite(rightMotorForwardPin, HIGH);
digitalWrite(rightMotorBackwardPin, LOW);
}