Ví dụ: Luyện tập: Robot cơ bản
Giới thiệu bài học Các em học sinh thân mến! Trong bài học hôm nay, chúng ta sẽ cùng nhau bước vào phần Luyện tập: Robot cơ bản . Sau khi đã tìm hiểu về cấu tạo, nguyên lý hoạt động và các bộ phận chính của robot, đã đến lúc chúng ta áp dụng những kiến thức đó vào thực tế. Bài lu
Giới thiệu bài học
Các em học sinh thân mến! Trong bài học hôm nay, chúng ta sẽ cùng nhau bước vào phần Luyện tập: Robot cơ bản. Sau khi đã tìm hiểu về cấu tạo, nguyên lý hoạt động và các bộ phận chính của robot, đã đến lúc chúng ta áp dụng những kiến thức đó vào thực tế. Bài luyện tập này sẽ giúp các em củng cố kỹ năng lắp ráp, kết nối mạch điện và lập trình cho robot thực hiện một nhiệm vụ cụ thể. Hãy chuẩn bị tinh thần để trở thành một kỹ sư robot thực thụ nhé!
Lý thuyết trọng tâm: Các bước cơ bản khi luyện tập với robot
Để thực hành hiệu quả với robot, chúng ta cần tuân thủ một quy trình gồm 4 bước cơ bản sau:
- Xác định nhiệm vụ và yêu cầu kỹ thuật: Trước hết, cần hiểu rõ robot cần làm gì (ví dụ: đi thẳng 1 mét, rẽ trái 90 độ, nhặt một vật, ...). Từ đó, xác định các yêu cầu về tốc độ, góc quay, thời gian, cảm biến cần dùng.
- Lắp ráp và kết nối phần cứng: Tiến hành lắp ráp khung robot, gắn động cơ, bánh xe, board mạch điều khiển và các cảm biến. Sau đó, kết nối dây điện từ board mạch đến các thiết bị đầu ra (động cơ, đèn LED) và đầu vào (cảm biến).
- Viết chương trình và nạp code: Dựa trên nhiệm vụ, chúng ta sẽ viết một đoạn mã lệnh (thường bằng ngôn ngữ kéo thả khối hoặc C++) để điều khiển robot. Sau đó, kết nối máy tính với robot qua cáp USB hoặc Bluetooth để nạp chương trình.
- Kiểm tra, chạy thử và hiệu chỉnh: Cho robot chạy thử nghiệm. Quan sát xem robot có thực hiện đúng nhiệm vụ không. Nếu chưa đúng, ta phải điều chỉnh lại phần cứng (ví dụ: siết ốc bánh xe) hoặc sửa lại thông số trong code (ví dụ: tăng thời gian chạy động cơ). Lặp lại bước này cho đến khi hoàn thành.
Ví dụ minh họa từng bước: Lập trình cho robot di chuyển theo hình vuông
Chúng ta sẽ cùng nhau thực hiện một ví dụ cụ thể: Lập trình cho robot di chuyển theo một đường hình vuông, mỗi cạnh dài 50 cm.
Bước 1: Xác định nhiệm vụ và yêu cầu
- Nhiệm vụ: Robot bắt đầu tại điểm A, đi thẳng 50 cm, rẽ phải 90 độ, lặp lại 4 lần để tạo thành hình vuông và kết thúc tại điểm A.
- Yêu cầu kỹ thuật:
- Robot sử dụng hai động cơ DC cho hai bánh xe (dạng vi sai).
- Quãng đường 50 cm tương ứng với thời gian chạy động cơ là 2 giây (giả sử tốc độ 25 cm/s).
- Góc rẽ phải 90 độ tương ứng với thời gian quay tại chỗ là 0,5 giây (dừng một bánh, quay bánh kia).
Bước 2: Lắp ráp và kết nối phần cứng
Chúng ta đã có sẵn robot mẫu với các kết nối cơ bản:
- Board mạch Arduino Uno: Bộ não điều khiển.
- Module cầu H L298N: Điều khiển hai động cơ DC.
- Động cơ trái (Motor A): Kết nối với chân IN1 và IN2 của L298N, chân tốc độ ENA nối chân 9 Arduino.
- Động cơ phải (Motor B): Kết nối với chân IN3 và IN4 của L298N, chân tốc độ ENB nối chân 10 Arduino.
- Pin: Cấp nguồn 9V cho Arduino và 12V cho L298N.
Bước 3: Viết chương trình và nạp code
Chúng ta sẽ viết chương trình bằng ngôn ngữ Arduino (dựa trên C++). Mục đích: Robot chạy thẳng 2 giây, rẽ phải 0,5 giây, lặp lại 4 lần.
void setup() {
// Định nghĩa các chân điều khiển động cơ
pinMode(9, OUTPUT); // ENA (tốc độ động cơ trái)
pinMode(10, OUTPUT); // ENB (tốc độ động cơ phải)
pinMode(4, OUTPUT); // IN1
pinMode(5, OUTPUT); // IN2
pinMode(6, OUTPUT); // IN3
pinMode(7, OUTPUT); // IN4
// Đặt tốc độ động cơ tối đa (PWM = 255)
analogWrite(9, 255);
analogWrite(10, 255);
}
void loop() {
// Lặp lại 4 lần để tạo hình vuông
for (int i = 0; i < 4; i++) {
// --- Đi thẳng 2 giây ---
// Động cơ trái chạy tiến: IN1=HIGH, IN2=LOW
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
// Động cơ phải chạy tiến: IN3=HIGH, IN4=LOW
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
delay(2000); // Chạy trong 2000 mili giây (2 giây)
// --- Rẽ phải 90 độ trong 0.5 giây ---
// Động cơ trái chạy tiến (bánh trái quay, bánh phải dừng)
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
// Động cơ phải dừng: IN3=LOW, IN4=LOW
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(500); // Quay trong 500 mili giây
}
// Sau khi hoàn thành, dừng robot
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
// Kết thúc chương trình, không làm gì thêm
while (true) {
// Vòng lặp vô hạn
}
}
Sau khi viết xong code, nhấn nút "Upload" để nạp chương trình vào board Arduino.
Bước 4: Kiểm tra, chạy thử và hiệu chỉnh
- Lần chạy thứ nhất: Robot đi thẳng được 45 cm (thiếu 5 cm) và rẽ được 100 độ (lệch 10 độ). Nhận xét: Thời gian đi thẳng và thời gian rẽ chưa chính xác.
- Hiệu chỉnh: Tăng thời gian đi thẳng lên 2,2 giây và giảm thời gian rẽ xuống 0,45 giây trong code. Nạp lại chương trình.
- Lần chạy thứ hai: Robot đi chính xác 50 cm và rẽ đúng 90 độ. Hình vuông đã hoàn chỉnh.
Ghi nhớ
- Quy trình luyện tập robot cơ bản gồm 4 bước: Xác định nhiệm vụ → Lắp ráp phần cứng → Viết chương trình → Kiểm tra, hiệu chỉnh.
- Sau mỗi lần chạy thử, cần quan sát kết quả thực tế để điều chỉnh thông số (thời gian, tốc độ, góc quay) trong code cho phù hợp.
- Việc hiệu chỉnh có thể diễn ra nhiều lần, đó là điều bình thường trong kỹ thuật robot. Kiên nhẫn là chìa khóa thành công!
Bài tập gợi ý
Các em hãy thử sức với bài tập sau:
- Bài tập 1: Hãy lập trình cho robot của em di chuyển theo hình chữ nhật có kích thước 60cm x 30cm. Hãy xác định thời gian đi thẳng và thời gian rẽ cần thiết.
- Bài tập 2: Hãy bổ sung một cảm biến siêu âm (HC-SR04) vào robot và lập trình để robot tự động dừng lại khi phát hiện vật cản ở phía trước cách 10 cm. Gợi ý: Nối chân Trig và Echo của cảm biến vào chân số 11 và 12 của Arduino.
- Bài tập 3 (Nâng cao): Hãy mô tả các bước em sẽ thực hiện để hiệu chỉnh nếu robot của em sau khi lập trình chạy theo hình vuông nhưng bị lệch hướng (không khép kín được hình).