Bài 4: Cảm biến gia tốc xác định hướng - Micro:bit V2 Go with Clips

From MakerLab Wiki
Jump to navigation Jump to search

Mô tả dự án

Trong bài này, các bạn sẽ làm quen với cảm biến gia tốc được tích hợp sẵn trên mạch Micro:bit, cảm biến gia tốc giúp bạn xác định được góc nghiêng và hướng di chuyển vật lý của mạch Micro:bit, từ đó các bạn có thể thực hiện được các ứng dụng: hệ thống cân bằng điện tử, điều khiển robot bằng cử chỉ, các game tương tác thực tế ảo,...

Micro:bit accelerometer
Micro:bit accelerometer

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

Danh sách thiết bị

  • 1 x Bo mạch Micro:bit
  • 1 x Cáp MicroUSB
  • 1 x Hộp pin 2 pin AAA và pin AAA

Chuẩn bị trước dự án

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

  1. Tạo một dự án mới trong phần mềm MakeCode.
  2. Bạn có thể lập trình kéo thả từng mã khối theo hình dưới trong mục [Blocks] hoặc copy đoạn code dưới và paste vào mục [JavaScript] để tiến hành nhanh hơn.
  3. Nạp chương trình vào Micro:bit.

Blocks

Microbit V2 Go Bai 4.png

Javascript

// Khối "on start" - thực hiện 1 lần khi khởi động
basic.showString("play me")
basic.pause(100)
basic.clearScreen()

// Khối "forever" - vòng lặp chính của chương trình
basic.forever(function () {
  if (input.isGesture(Gesture.LogoUp)) {
    basic.showArrow(ArrowNames.North)
  } else if (input.isGesture(Gesture.LogoDown)) {
    basic.showArrow(ArrowNames.South)
  } else if (input.isGesture(Gesture.TiltLeft)) {
    basic.showArrow(ArrowNames.East)
  } else if (input.isGesture(Gesture.TiltRight)) {
    basic.showArrow(ArrowNames.West)
  } else if (input.isGesture(Gesture.ScreenUp)) {
    basic.showIcon(IconNames.Happy)
  } else if (input.isGesture(Gesture.ScreenDown)) {
    basic.showIcon(IconNames.Sad)
  }
})

Giải thích code

Icon-Info-White.png Lưu ý:
Việc lấy các thông tin hướng, góc quay của cảm biến gia tốc tích hợp sẵn trong Micro:bit sẽ nằm trong mục "Input" của phần mềm MakeCode.

Chương trình sẽ hoạt động như sau:

Trong khối [ on start ].

  1. Đầu tiên bo mạch sẽ hiển thị dòng chữ "play me" trên màn hình LED bằng khối [ show string ].
  2. Chờ 100ms (0.1s) qua khối [ pause ].
  3. Hiển thị xong sẽ xoá các nội dung hiển thị trên màn hình LED qua khối [ clear screen ].

Phần khởi động này để chúng ta biết chương trình đã sẵn sàng.

Trong khối [ forever ].

  • Là một cấu trúc khối rẽ nhánh theo điều kiện [ if else ].
  • Mỗi một nhánh điều kiện được một khối logic [ is gesture ] kiểm tra.
  • Nếu điều kiện đúng, thì khối [ show arrow] hay khối [ show icon] tương ứng được thực thi để hiển thị nội dung lên màn hình LED.

Có tất cả 6 trường hợp xảy ra:

  1. Khi bo mạch hướng lên → hiển thị mũi tên hướng North.
  2. Khi bo mạch hướng xuống → hiển thị mũi tên hướng South.
  3. Khi bo mạch lật sang trái → hiển thị mũi tên hướng East.
  4. Khi bo mạch lật sang phải → hiển thị mũi tên hướng West.
  5. Khi bo mạch nằm ngửa → hiển thị mặt :).
  6. Khi bo mạch nằm sấp → hiển thị mặt :(.

Kết quả

Sau khi nạp chương trình, hãy tháo cáp MicroUSB và cấp nguồn cho Micro:bit bằng pin và hộp pin AAA trong bộ kit để dễ thao tác, thử dùng tay di chuyển Micro:bit theo các hướng để thấy chương trình hoạt động.

Micro:bit Accelerometer Example
Micro:bit Accelerometer Example

Tài liệu tham khảo

Bài viết liên quan