Bài 5: Lập trình Micro:bit – Dice

Giới thiệu

Một ví dụ thú vị với micro:bit, có tên là  Dice (Xúc xắc). Chúng ta sẽ nhìn thấy những con số bất kì trong khoảng từ 1 đến 9 khi lắc hai mạch microbit. Hai microbit sẽ gửi các con số cho nhau và so sánh, mạch nào có số lớn thì sẽ hiện hình mặt cười, mặt nào có số nhỏ sẽ hiện hình mặt 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ấu trúc và sử dụng khối if.
  • Cách sử dụng các khối on shake, show icon, pick random to.
  • Cách sử dụng các khối so sánh.
  • Có thể thao tác với các biến.

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 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.

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

  • Bước 1: Kéo khối  on shake trong nhóm Input ra ngoài. 
  •  Bước 2: Tạo biến dem để lưu số lần lắc. Điều này nhằm tránh trường hợp bị rung lắc, hoặc lắc quá nhiều lần gây thay đổi con số. 
  • Bước 3: Kéo thả khối change [dem] by [1] vào trong khối on shake ban đầu. 
  • Bước 4: Kéo thả khối tính toán  0+0 trong nhóm Math vào vị trí [1] bên trong khối change [dem] by [1]. Đồng thời kéo thả biến dem vào khối tính toán và đổi số 0 phía sau thành 1 để trở thành [dem]+1. 
  • Bước 5: Vào nhóm Logic, chọn khối if then và thả vào bên trong khối on shake. Sau đó kéo khối so sánh 0=0 vào vị trí [true]. Tiếp tục sử dụng biến dem và đổi số 0 thành số 1. 
  • Bước 6: Tạo biến xuc xac để lưu con số bất kì sau khi lắc. 
  • Bước 7: Kéo khối set [xuc xac] to [0] vào bên trong khối if. Sau đó kéo khối pick random [0] to [10], và lần lượt đổi các con số 0 và 10 thành 1 và 9. 
  • Bước 8: Hiển thị con số vừa có bằng cách kéo khối show number [0] trong nhóm Basic. Đồng thời kéo thả biến xuc xac vào vị trí [0] trong khối show number. 
  • Bước 9: Kéo khối thả khối forever bên trong nhóm Basic. 
  • Bước 10: Kéo thả khối if… then vào trong khối forever. Sau đó kéo thả khối so sánh 0<0 vào khối if… then. Sử dụng biến dem thay vào số 0 đầu tiên, và đồng thời đổi dấu < thành dấu >.
  • Bước 11: Kéo khối radio send number [0] trong nhóm Radio vào trong khối if… then phía trên. Sau đó thay thế số 0 trong khối radio send number bằng biến xuc xac. 
  • Bước 12: Vào nhóm Radio, kéo thả khối on radio received [receivedNumber]. 
  • Bước 13: Kéo thả khối if… then vào trong khối on radio received, tiếp tục thêm khối so sánh 0=0 vào khối if… then. Sau đó dùng biến dem thay thế cho số 0 đầu tiên, số 0 phía sau đổi thành số 1. 
  • Bước 14: Thêm khối if… then… else vào trong khối if… then ở trên. Tiếp theo thêm khối so sánh 0<0, sau đó thay đổi khối so sánh thành xuc xac < receivedNumber. 
  • Bước 15: Kéo khối show icon vào vị trí đầu tiên trong khối if… then… else. Tìm và sử dụng hình mặt khóc có trong khối show icon. 
  • Bước 16 giống như bước 15, kéo khối show icon vào vị trí thứ hai, tìm và sử dụng hình mặt cười có trong khối. 
  • Bước 17: Kéo thả khối on button [A] pressed có trong nhóm Input
  • Bước 18: Vào nhóm Basic, chọn more, sau đó kéo thả khối clear screen vào bên trong khối on button [A] pressed. 
  • Bước 19: Reset lại biến dem về 0 bằng cách kéo thả khối set [dem] to 0 vào phía sau khối clear screen. 

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

Mỗi khi lắc, microbit sẽ chọn một con số bất kì trong khoảng từ 1 đến 9, đồng thời với gửi con số đó đến một microbit. Khối on radio received sẽ nhận số và so sánh, nếu số nhận được lớn hơn con số của chính microbit đó thì microbit đó sẽ hiển thị hình mặt khóc. Ngược lại sẽ hiển thị hình mặt cườ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 8: Lập trình Micro:bit – Wireless Remote Control