Bài 8: Lập trình Micro:bit – Wireless Remote Control

Giới thiệu

Một ví dụ thú vị với micro:bit, có tên là  Wireless Remote Control. Chúng ta sẽ sẽ điều khiển một chiếc xe RingbitCar bằng cách điều khiển từ một microbit khác. Hãy cùng nhau làm và trải nghiệm nào!

Mục tiêu

Thông qua ví dụ chúng ta sẽ tìm hiểu được:

  • Cách cài đặt các phần mở rộng.
  • Cách sử dụng các khối trong phần mở rộng RingbitCar.
  • Cách sử dụng chức năng Duplicate.

Chuẩn bị

Tương tự như những bài thực hành trước, chúng ta cần có:

  • Hai micro:bit.
  • Một bộ RingbitCar.
  • Một cáp USB để kết nối micro:bit với máy tính.
  • Máy vi tính có kết nối internet.

Lập trình

Hãy bật một trình duyệt web trên máy tính lên, có thể là Chrome, Firefox, Microsoft Edge, CốcCốc …​, và truy cập vào trang web: makecode.microbit.org/

Như đã được giới thiệu ở phần trước, chúng ta sẽ thấy một giao diện ở màn hình như sau:

Giao diện chính.

Sau đó, vào Advanced -> Extensions, tìm và cài đặt RingbitCar. Chúng ta sẽ có được giao diện như thế này: 

Bây giờ chúng ta bắt tay vào việc lập trình nhé:

Phần 1: Remote Control

  • Bước 1: Kéo thả khối radio set group có trong nhóm Radio vào trong khối on start và đổi con số trong group.
  • Lưu ý: Ở số ở cả Micro:bit và RingbitCar phải giống nhau.
  • Bước 2: Kéo thả khối if… else vào trong khối forever. Sau đó kéo thả khối button [A] is pressed trong nhóm Input vào vị trí [true] trong khối if… else, và đổi [A] thành [A+B]. 
  • Bước 3: Kéo thả khối radio send number [0] và đồng thời thay đổi số 0 thành 1. Số 1 tương ứng với xe đi thẳng về phía trước. 
  • Bước 4: Kéo thả khối show arrow [North] trong nhóm Basic. Với North, microbit sẽ hiển thị mũi tên hướng về phía trước. 
  • Bước 5: Nhấn vào dấu + để tạo thêm một dòng if. Nhấn chuột phải vào khối button [A+B] is pressed ở trên và chọn Duplicate. Sau khi khối button [A+B] is pressed mới vừa xuất hiện, kéo thả vào if và đổi thành [A]. 
  • Bước 6: Dùng chức năng Duplicate vào khối radio send number [1], kéo thả vào bên trong if và đồng thời thay đổi số 1 thành 2. Số 2 tương ứng với xe rẽ về bên trái.
  • Bước 7: Duplicate khối show arrow [North], kéo thả khối vừa xuất hiện vào trong if và đổi [North] thành [West]. Với West, microbit sẽ hiển thị mũi tên chỉ về bên trái.
  • Bước 8: Nhấn vào dấu + để tạo thêm một dòng if. Nhấn chuột phải vào khối button [A] is pressed ở trên và chọn Duplicate. Sau khi khối button [A] is pressed mới vừa xuất hiện, kéo thả vào if và đổi thành [B]. 
  • Bước 9: Dùng chức năng Duplicate vào khối radio send number [2], kéo thả vào bên trong if và đồng thời thay đổi số 2 thành 3. Số 3 tương ứng với xe rẽ về bên trái.
  • Bước 10: Duplicate khối show arrow [West], kéo thả khối vừa xuất hiện vào trong if và đổi [West] thành [East]. Với East, microbit sẽ hiển thị mũi tên chỉ về bên phải.
  • Bước 11: Dùng chức năng Duplicate vào khối radio send number [3], kéo thả vào bên trong if và đồng thời thay đổi số 3 thành 0. Số 0 tương ứng với xe dừng lại/đứng im.
  • Bước 12: Kéo thả khối pause (ms) [100] trong nhóm Basic vào khối forever. 
  • Bước 13: Kéo thả khối clear screen vào khối forever. 

Phần 2: RingbitCar

  • Bước 1: Kéo thả khối radio set group có trong nhóm Radio vào trong khối on start và đổi con số trong group.
  • Lưu ý: Ở số ở cả Micro:bit và RingbitCar phải giống nhau.
  • Bước 2: Kéo thả khối set left wheel in at pin [P1] right wheel at pin [P2] vào trong khối on start. 
  • (Tùy chọn) Bước 3: Kéo thả show icon vào trong khối on start, thay đổi thành hình mặt cười. Có thể thay đổi thành các hình khác theo ý muốn. 
  • Bước 4: Kéo thả khối on radio received. 
  • Bước 5: Tạo biến order để lưu số nhận được từ microbit điều khiển. Kéo khối set [order] to [0] vào trong khối on radio received. Thay số [0] thành receivedNumber. 
  • Bước 6: Kéo thả khối if… else vào trong khối forever. Sau đó kéo thả khối so sánh 0=0 vào if, đổi khối so sánh thành [order] = 1.
  • Bước 7: Kéo thả khối go straight at full speed vào trong if. 
  • Bước 8: Nhấn vào dấu + để tạo thêm một dòng if. Nhấn chuột phải vào khối so sánh ở trên và chọn Duplicate. Sau khi khối mới vừa xuất hiện, kéo thả vào if và đổi thành [order] = 2. 
  • Bước 9: Kéo thả khối turn left at full speed. 
  • Bước 10: Nhấn vào dấu + để tạo thêm một dòng if. Nhấn chuột phải vào khối so sánh ở trên và chọn Duplicate. Sau khi khối mới vừa xuất hiện, kéo thả vào if và đổi thành [order] = 3. 
  • Bước 11: Kéo thả khối turn right at full speed. 
  • Bước 12: Kéo thả khối brake vào else. 
  • Bước 13: Kéo thả khối set [order] to [0] vào trong else. 

Nạp chương trình lên thiết bị

Sau khi đã hoàn thành các bước trên và mô phỏng thành công, chúng ta sẽ tiến hành tải và nạp chương trình vào micro:bit của chính mình.

Giải thích hoạt động của chương trình

Khi nhấn các nút trên microbit điều khiển, microbit điều khiển sẽ gửi các con số 1, 2, 3 đến xe. Sau khi nhận được xe sẽ so sánh và thực hiện các lệnh, nếu là

  • 1: xe sẽ chạy thẳng.
  • 2: xe sẽ rẽ trái.
  • 3: xe sẽ rẽ phải.
  • 0: xe dừng lại.

Related posts

Bài 10: Lập trình Micro:bit – Turns Over Detection

Bài 9: Lập trình Micro:bit – Light Follow

Bài 7: Lập trình Micro:bit – Crazy Dance