La bàn với microbit

Xác định hướng với la bàn của Micro:bit

Trong bài hướng dẫn này, chúng ta sẽ dùng board Micro:bit để xác định các hướng Đông, Tây, Nam, Bắc.

La bàn và Micro:bit

  • Như chúng ta đã biết, la bàn (tên tiếng anh là compass) là dụng cụ dùng để xác định phương hướng trong không gian nhất định.
  • La bàn giúp những người ở những nơi khó nhận biết phương hướng như đi trên biển, trên rừng, ở sa mạc, … xác định hướng 1 cách dễ dàng.
  • Có 4 hướng cơ bản trên la bàn là hướng Tây (West, kí hiệu là W), hướng Bắc (North, kí hiệu là N), hướng Đông (East, kí hiệu là E) và hướng Nam (South kí hiệu là S).
  • Trên board Micro:bit có 1 chip được thiết kế để xác định các hướng như trên.

Ý tưởng xây dựng chương trình

  • La bàn hoạt động dựa theo từ trường của trái đất, kim nam châm đặt trong 1 vòng tròn 360° để xác định hướng:

    • Hướng Đông: Kim nam châm ở góc từ 70° đến 110°.
    • Hướng Nam: Kim nam châm ở góc từ 160° đến 200°.
    • Hướng Tây: Kim nam châm ở góc từ 250° đến 290°.
    • Hướng Bắc: Kim nam châm ở góc từ 340° đến 20°.
  • Dựa theo góc quay này chúng ta sẽ dùng block compass heading, đây là block liên quan đến chức năng la bàn trong Micro:bit
  • Lấy giá trị trả về của block compass heading và so sánh với các góc giới hạn để xác định hướng.
  • Hiển thị hướng trên các LED.

Viết chương trình

Các lệnh và các khối cần dùng:

  • Lệnh show string ở nhóm Basic để hiển thị hướng trên LED.
  • Lệnh compass heading trong nhóm Input để lấy góc của la bàn.
  • Trong nhóm logic:

    • if-then-else để so sánh các điều kiện.
    • Lệnh and để kết hợp 2 điều kiện. Ví dụ hướng Đông thì giá trị góc > 70° giá trị góc < 110°.
    • Lệnh so sánh 0 < 0 để so sánh giá trị của compass heading với các góc giới hạn của các hướng.

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

  • Bước 1: Kéo khối if-then-else vào trong forever.
  • Bước 2: Thay giá trị true của if bằng khối and.
  • Bước 3: Kéo 2 khối 0 < 0 vào 2 chỗ trống của khối and vừa tạo.
  • Bước 4: Kéo khối compass heading vào vị trị 0 đầu tiên của khối 0 < 0 thứ nhất, giá trị 0 thứ 2 của khối này thay bằng giá trị các góc giới hạn. Làm tương tự với khối lệnh 0 < 0 bên phải khối and.
  • Bước 5: Kéo khối show string vào then và thay đổi chữ hello thành chữ cái đầu của các hướng S, N, W hoặc E.
  • Bước 6: Nhấn vào biểu tượng setting của khối if-then-else kéo các lệnh else-if ở vùng màu xám sang vùng màu trắng như hình bên để chúng ta có đủ 4 điều kiện so sánh 4 hướng.
  • Bước 6: Copy các khối lệnh để đưa vào các biểu thức else-if để so sánh đủ 4 hướng.
  • Bước 7: Sau khi hoàn thành, nhấn Download để tải file chương trình về máy, kéo chương trình vừa tải vào ổ đĩa MICROBIT để nạp chương trình cho board.

Source code đầy đủ tham khảo ở đường dẫn: https://makecode.microbit.org/_EXJJ734PDV3b

Kết quả

  • Sau khi nạp chương trình cho micro:bit, trên board sẽ xuất hiện chữ draw a circle, chúng ta cần tạo 1 hình tròn trên các LED bằng cách nghiêng Micro:bit theo nhiều hướng để board hiệu chính hướng.
  • Biểu tượng mặt cười báo hiệu việc vẽ vòng tròn đã thàng công. Từ bây giờ, chúng ta có thể dùng Micro:bit để xác định các hướng Đông, Tây, Nam, Bắc rồi nhé các bạn.