2023-05-22 13:39:34
Human: viết 1 đoạn code adruino để điều hướng bánh xe
AI: Chúng ta sẽ sử dụng Arduino để điều khiển 2 động cơ DC thông qua mô-đun điều khiển động cơ L298N để tạo ra bánh xe robot di chuyển. Dưới đây là một đoạn mã mẫu:
// Các chân kết nối tới mô đun L298N
const int motorA_1 = 8; // chân IN1 trên L298N
const int motorA_2 = 9; // chân IN2 trên L298N
const int motorB_1 = 10; // chân IN3 trên L298N
const int motorB_2 = 11; // chân IN4 trên L298N
void setup() {
// Khai báo các chân Arduino là chân OUTPUT
pinMode(motorA_1, OUTPUT);
pinMode(motorA_2, OUTPUT);
pinMode(motorB_1, OUTPUT);
pinMode(motorB_2, OUTPUT);
}
void loop() {
// Điều khiển bánh xe di chuyển về phía trước
forward(5000); // chạy trong 5 giây
delay(1000); // dừng lại trong 1 giây
// Điều khiển bánh xe di chuyển về phía sau
backward(5000); // chạy trong 5 giây
delay(1000); // dừng lại trong 1 giây
}
void forward(int time) {
digitalWrite(motorA_1, HIGH);
digitalWrite(motorA_2, LOW);
digitalWrite(motorB_1, HIGH);
digitalWrite(motorB_2, LOW);
delay(time);
stopMotors();
}
void backward(int time) {
digitalWrite(motorA_1, LOW);
digitalWrite(motorA_2, HIGH);
digitalWrite(motorB_1, LOW);
digitalWrite(motorB_2, HIGH);
delay(time);
stopMotors();
}
void stopMotors() {
digitalWrite(motorA_1, LOW);
digitalWrite(motorA_2, LOW);
digitalWrite(motorB_1, LOW);
digitalWrite(motorB_2, LOW);
}
Đoạn mã trên có các hàm forward và backward để điều khiển bánh xe di chuyển về phía trước và lùi, với tham số đầu vào là thời gian di chuyển tính bằng mili-giây. Hàm stopMotors được sử dụng để dừng động cơ khi không di chuyển.