Dự án 02: Đổ xúc xắc - MakerEdu Inventor Kit for Micro:bit

From MakerLab Wiki
Jump to navigation Jump to search

Mức độ: Dễ ★★☆☆☆☆☆☆☆

Danh sách thiết bị

Sơ đồ kết nối

MakerEDU Shield Thiết bị
Port P0 [MKE-M02] - Nút nhấn

Mô tả dự án

Trong dự án này, bạn sẽ học cách sử dụng mô-đun Nút nhấn bên ngoài để điều khiển bộ Led Matrix của micro:bit.

Khi nhấn nút, micro:bit sẽ chọn ngẫu nhiên một số từ 1 đến 6 và cho hiển thị kí tự xúc xắc lên Led Matrix.

Các bước thực hiện

Tạo code

  1. Vào [Variables] nhấp Make a Variable và tạo một biến có tên "random".
    → Biến này để bạn lưu trữ một số bất kỳ.
  2. Vào [Input] thêm khối on pin P0 pressed.
    → Khối này sẽ được thực hiện mỗi khi nhấn nút.
  3. Vào [Basic] thêm khối show leds trong khối trên.
    → Nội dung hiển thị trên LED bạn để trống. Mục đích việc này là mỗi khi nhấn nút, LED sẽ được tắt hết rồi mới cho hiển thị nội dung mới.
  4. Vào [Variables] thêm khối set random to 0 và vào [Math] thêm khối pick random 1 to 6 đặt vào vị trí số 0 của khối trước.
    → Khối này sẽ lấy một số ngẫu nhiên từ 1 đến 6 và lưu vào trong biến "random".
  5. Vào [Logic] thêm khối if true then và thêm khối 0 = 0 đặt vào vị trí true của khối trước.
    Tiếp vào [Variables] thêm khối random đặt vào để tạo thành biểu thức random = 1.
    Rồi vào [Basic] thêm khối show leds và vẽ kí tự số 1 của xúc xắc.
    → Khối này được thực hiện khi biến "random" nhận được số ngẫu nhiên là 1.
  6. Tiếp bạn nhấp vào dấu (+) để mở rộng khối if trên và làm tương tự cho các trường hợp số 2, 3, 4, 5, 6 còn lại.
Icon-Info-White.png Tip:
Phần mở rộng của khối if có 2 loại là các else if và cuối cùng là else.

Blocks

MakeCode Kit 2.png

Javascript

let random = 0

input.onPinPressed(TouchPin.P0, function () {
    basic.showLeds(`
        . . . . .
        . . . . .
        . . . . .
        . . . . .
        . . . . .
        `)
    random = randint(1, 6)
    if (random == 1) {
        basic.showLeds(`
            . . . . .
            . . . . .
            . . # . .
            . . . . .
            . . . . .
            `)
    } else if (random == 2) {
        basic.showLeds(`
            . . # . .
            . . . . .
            . . . . .
            . . . . .
            . . # . .
            `)
    } else if (random == 3) {
        basic.showLeds(`
            . . . . #
            . . . . .
            . . # . .
            . . . . .
            # . . . .
            `)
    } else if (random == 4) {
        basic.showLeds(`
            # . . . #
            . . . . .
            . . . . .
            . . . . .
            # . . . #
            `)
    } else if (random == 5) {
        basic.showLeds(`
            # . . . #
            . . . . .
            . . # . .
            . . . . .
            # . . . #
            `)
    } else if (random == 6) {
        basic.showLeds(`
            # . . . #
            . . . . .
            # . . . #
            . . . . .
            # . . . #
            `)
    }
})

Nạp code

  1. Kết nối [MKE-M02] - Nút nhấn đến Port P0 của MakerEdu Shield.
  2. Nhấp vào Download để nạp code của bạn sang micro:bit.
  3. Nhấn nút và xem mặt xúc xắc có hiển thị trên micro:bit như mong đợi không.

Kết quả

... hình dự án

Bài tập thêm

  • BT1 - Trò chơi Đông Tây Nam Bắc: mỗi khi nhấn nút, cho hiển thị một hướng ngẫu nhiên lên Led Matrix.
  • BT2 - Đếm số lần đã nhấn nút: mỗi khi nhấn nút, số đếm tăng 1 đơn vị và cho hiển thị lên Led Matrix.