Loading...
Vietnam Geography App
Loading...
Vietnam Geography App
Xây dựng robot có thể di chuyển và tránh vật cản
// Robot tránh vật cản cơ bản
#include <NewPing.h>
#define TRIGGER_PIN 12
#define ECHO_PIN 11
#define MAX_DISTANCE 200
// Motor pins
#define motorA1 5
#define motorA2 6
#define motorB1 9
#define motorB2 10
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
Serial.begin(9600);
pinMode(motorA1, OUTPUT);
pinMode(motorA2, OUTPUT);
pinMode(motorB1, OUTPUT);
pinMode(motorB2, OUTPUT);
}
void moveForward() {
digitalWrite(motorA1, HIGH);
digitalWrite(motorA2, LOW);
digitalWrite(motorB1, HIGH);
digitalWrite(motorB2, LOW);
}
void turnRight() {
digitalWrite(motorA1, HIGH);
digitalWrite(motorA2, LOW);
digitalWrite(motorB1, LOW);
digitalWrite(motorB2, HIGH);
}
void stopMotors() {
digitalWrite(motorA1, LOW);
digitalWrite(motorA2, LOW);
digitalWrite(motorB1, LOW);
digitalWrite(motorB2, LOW);
}
void loop() {
unsigned int distance = sonar.ping_cm();
if (distance > 20 || distance == 0) {
moveForward();
} else {
stopMotors();
delay(300);
turnRight();
delay(500);
}
delay(100);
}
Lập trình robot di chuyển theo các hướng khác nhau
void moveForward() {
digitalWrite(leftMotor1, HIGH);
digitalWrite(leftMotor2, LOW);
digitalWrite(rightMotor1, HIGH);
digitalWrite(rightMotor2, LOW);
}
void turnLeft() {
digitalWrite(leftMotor1, LOW);
digitalWrite(leftMotor2, HIGH);
digitalWrite(rightMotor1, HIGH);
digitalWrite(rightMotor2, LOW);
}
void setup() {
// Khởi tạo pins
}
void loop() {
moveForward();
delay(2000);
turnLeft();
delay(1000);
}
Robot tự động tránh vật cản và tìm đường đi
int scanDistance() {
unsigned int distance = sonar.ping_cm();
return distance == 0 ? 999 : distance;
}
void findBestPath() {
int frontDistance = scanDistance();
if (frontDistance < 20) {
stopMotors();
// Quét bên trái
servoMotor.write(150);
delay(500);
int leftDistance = scanDistance();
// Quét bên phải
servoMotor.write(30);
delay(500);
int rightDistance = scanDistance();
// Về giữa
servoMotor.write(90);
delay(500);
if (leftDistance > rightDistance) {
turnLeft();
delay(300);
} else {
turnRight();
delay(300);
}
} else {
moveForward();
}
}
Robot hút bụi thông minh (Roomba)
Xe tự lái (Tesla Autopilot)
Robot giao hàng (Amazon Scout)
Robot tuần tra an ninh
Robot khám phá sao Hỏa (Perseverance)