Robotic - Module 2: Tư Duy Thuật Toán & Lập Trình Khối

🧠 Học Phần 2: Tư Duy Thuật Toán & Lập Trình Khối

Phòng Lab Thuật Toán Robot Nhí

Giải mã ngôn ngữ của người máy: Từ chuỗi lệnh tuần tự, vòng lặp thông minh đến phản xạ rẽ nhánh linh hoạt!

🏁

Buổi 5: Thuật Toán Tuần Tự & Quỹ Đạo Hình Vuông

Khái niệm: Luồng thực thi từ trên xuống dưới • Góc quay 90° • Điều khiển bước di chuyển

Robot không biết tự suy đoán! Nó sẽ đọc từng khối lệnh theo thứ tự từ trên xuống dưới một cách tuyệt đối. Hãy chạy chương trình vẽ hình vuông dưới đây để quan sát robot thực thi từng bước mã lệnh!

🧪 Trình Giả Lập Khối Lệnh Scratch (Sequence)

Bước hiện tại: Đang chờ
🚩 Khi nhấn Cờ Xanh
⬆️ Tiến 60 pixel
↪️ Rẽ phải 90°
⬆️ Tiến 60 pixel
↪️ Rẽ phải 90°
⬆️ Tiến 60 pixel
↪️ Rẽ phải 90°
⬆️ Tiến 60 pixel
↪️ Rẽ phải 90°
Sẵn sàng! Nhấn "Đi Từng Bước" hoặc "Chạy Tự Động" để nạp chương trình.
💡 Quy luật tuần tự: Khối lệnh nào đặt ở trên sẽ được vi xử lý thực thi trước, xong xuôi mới chuyển sang khối lệnh bên dưới. Nếu bạn vô tình đổi chỗ khối [Rẽ phải 90°] lên trước khối [Tiến], robot sẽ đi lệch hẳn khỏi hình vuông!

❓ Câu đố kiểm tra:

Để robot đi thành một hình tam giác đều khép kín (có 3 cạnh bằng nhau), sau mỗi đoạn thẳng robot cần quay một góc bao nhiêu độ?

🔁

Buổi 6: Vòng Lặp Thông Minh (Repeat) & Tối Ưu Bộ Nhớ

Khái niệm: Lặp lại N lần • Vòng lặp vô tận (Forever) • Tiết kiệm RAM vi điều khiển

Tại sao phải kéo thả 8 khối lệnh giống nhau khi bạn có thể dùng một vòng lặp Lặp lại [4] lần? Vòng lặp giúp chương trình ngắn hơn, ít lỗi hơn và tiết kiệm bộ nhớ vi điều khiển!

🧪 So Sánh: Mã Thường vs Mã Có Vòng Lặp

Tiết kiệm: 65% bộ nhớ
❌ Cách cũ: Dài dòng (8 khối)
Tiến 60 • Rẽ 90°
Tiến 60 • Rẽ 90°
Tiến 60 • Rẽ 90°
Tiến 60 • Rẽ 90°
Bộ nhớ chiếm: 160 Bytes
✅ Cách mới: Vòng lặp gọn nhẹ
Lặp lại 4 lần
Tiến 60 pixel
Rẽ phải 90°
Bộ nhớ chiếm: 48 Bytes
Chương trình chạy lặp lại 4 cạnh rồi tự động ngắt dừng!

❓ Câu hỏi tư duy:

Khi lập trình cho một trạm gác đèn giao thông ở ngã tư đường (đèn Xanh → Vàng → Đỏ), em cần đặt chuỗi lệnh trong loại vòng lặp nào?

🛡️

Buổi 7: Câu Lệnh Rẽ Nhánh If - Then - Else

Khái niệm: Giá trị Logic Boolean (Đúng / Sai) • Quyết định phản xạ • Cảm biến va chạm

Một robot thông minh không đi theo lịch trình cố định một cách mù quáng. Nó liên tục hỏi: "Có chướng ngại vật ở phía trước không?". Nếu ĐÚNG thì lùi xe, nếu SAI thì tiếp tục tiến bước!

🧪 Mô Phỏng: Robot Cảm Biến Va Chạm Bumper Bot

Cảm biến: FALSE (Chưa chạm)
BỨC TƯỜNG ROBOT
Nếu <Cảm biến va chạm = ĐÚNG> thì:
↪️ Lùi lại 20cm & Rẽ góc 90°
Nếu không thì:
⬆️ Tiến thẳng công suất 50%
Đường trống trải: Khối [Nếu không thì] đang kích hoạt động cơ tiến bước!

❓ Câu hỏi kiểm tra:

Điều kiện trong câu lệnh `If` (Nếu) chỉ có thể nhận một trong hai kết quả nào?

📟

Buổi 8: Biến Số & Màn Hình Ma Trận LED 5x5 Thông Minh

Khái niệm: Biến số lưu trữ (Variable) • Bộ đếm quãng đường (Odometer) • Hiển thị ảnh icon

Hãy tưởng tượng Biến số (Variable) như một chiếc hộp có dán nhãn, dùng để lưu giữ một con số có thể thay đổi liên tục (như điểm số trò chơi hay số vòng bánh xe đã quay). Hãy thử nghiệm lăn bánh xe để quan sát biến số thay đổi và vẽ hình lên ma trận LED 5x5!

🧪 Giả Lập: Hub SPIKE / Micro:bit LED 5x5

Bộ nhớ vi điều khiển
MÀN HÌNH LED 5x5 (Nhấn pixel để vẽ)
📦 HỘP BIẾN SỐ TRONG BỘ NHỚ:
Tên biến: so_vong_quay
0 vòng
Tên biến: quang_duong_cm
0.0 cm
Chu vi bánh xe tiêu chuẩn: 17.5 cm / vòng
Biến số đã sẵn sàng lưu trữ dữ liệu thời gian thực!

❓ Câu đố tốt nghiệp Module 2:

Bánh xe của robot có chu vi là 20 cm. Nếu giá trị biến `so_vong_quay` đọc được là 5 vòng, thì biến `quang_duong_cm` sẽ có giá trị bằng bao nhiêu?