Vì vậy: chúng ta cần một trình điều khiển L298N, động cơ DC, biến trở, nút
ấn và board Arduino. Đây là mã code Arduino:
62 #define enA 9 #define in1 6 #define in2 7 #define button 4 int rotDirection = 0; int pressed = false; void setup() {
pinMode(enA, OUTPUT); pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); pinMode(button, INPUT); // Set initial rotation direction digitalWrite(in1, LOW); digitalWrite(in2, HIGH); }
void loop() {
int potValue = analogRead(A0); // Read potentiometer value
int pwmOutput = map(potValue, 0, 1023, 0 , 255); // Map the potentiometer value from 0 to 255
analogWrite(enA, pwmOutput); // Send PWM signal to L298N Enable pin
// Read button - Debounce
63
pressed = !pressed; }
while (digitalRead(button) == true); delay(20);
// If button is pressed - change rotation direction if (pressed == true & rotDirection == 0) { digitalWrite(in1, HIGH);
digitalWrite(in2, LOW); rotDirection = 1;
delay(20); }
// If button is pressed - change rotation direction if (pressed == false & rotDirection == 1) { digitalWrite(in1, LOW); digitalWrite(in2, HIGH); rotDirection = 0; delay(20); } }
64
Mơ tả:
Vì vậy, trước tiên chúng ta cần xác định các chân và một số biến cần thiết cho chương trình. Trong phần thiết lập, chúng ta cần đặt các chế độ chân và hướng quay ban đầu của động cơ. Trong phần vịng lặp, chúng tơi bắt đầu bằng cách đọc giá trị biến trở và sau đó ánh xạ giá trị mà chúng tôi nhận được từ 0 đến 1023, giá trị từ 0 đến 255 cho tín hiệu PWM, hoặc đó là chu kỳ nhiệm vụ 0 đến 100% của tín hiệu PWM.
Sau đó, bằng cách sử dụng chức năng analogWrite (), chúng tơi gửi tín hiệu PWM đến chân Bật của board L298N, điều khiển động cơ.
Tiếp theo, chúng tôi kiểm tra xem chúng tôi đã nhấn nút chưa và nếu đã bật, chúng tôi sẽ thay đổi hướng quay của động cơ bằng cách đặt trạng thái Đầu vào 1 và Đầu vào 2 ngược lại. Nút ấn sẽ hoạt động như nút chuyển đổi và mỗi lần chúng ta nhấn nó, nó sẽ thay đổi hướng quay của động cơ.
4.1.5 Điều khiển xe Arduino bằng bộ điều khiển L298N
Vì vậy, một khi chúng ta đã biết được điều này, bây giờ chúng ta có thể chế tạo chiếc xe robot Arduino của riêng mình. Đây là sơ đồ mạch:
Hình 4.10 Điều khiển xe Arduino sử dụng sơ đồ mạch điều khiển L298N
Tất cả những gì chúng ta cần là 2 Motor DC, trình điều khiển L298N, board Arduino và cần điều khiển. Về nguồn điện, tôi chọn sử dụng ba pin Li-ion 3.7V, cung
65
cấp tổng cộng 11V. Tôi đã làm cho khung xe bằng ván ép dày 3 mm, gắn các động cơ vào nó bằng khung kim loại, gắn bánh xe vào động cơ và phía trước gắn một bánh xe xoay
Hình 4.11 Arduino Robot Car DIY Khung gầm
Bây giờ chúng ta hãy xem code Arduino và xem nó hoạt động như thế nào.
int xAxis = analogRead(A0); // Read Joysticks X-axis int yAxis = analogRead(A1); // Read Joysticks Y-axis
Sau khi xác định các chân, trong phần vòng lặp, chúng ta bắt đầu với việc đọc các giá trị trục X và Y của phím điều khiển. Cần điều khiển thực sự được làm bằng hai biến trở được kết nối với đầu vào analog của Arduino và chúng có giá trị từ 0 đến 1023. Khi cần điều khiển ở vị trí trung tâm, giá trị của cả hai biến trở hoặc trục là khoảng 512.
66