Votting Machine

Sử dụng 2 hay nhiều Micro:Bit Vote và 1 Micro:Bit thông kê

Votting Machine

Trong bài viết này chúng ta sẽ sử dụng 2 hay nhiều Micro:Bit làm nhiệm vụ vote và 1 Micro:Bit thống kê lại xem có bao nhiêu lượt vote.

Chuẩn bị

  • 2-3 BBC Micro:Bit.
  • Dây cáp micro USB. (dây sạc của các dòng điện thoại android)

Chương trình cho Micro:Bit thực hiện chức năng vote

Gửi 1 NO vote

  • Khi ta nhấn nút A thì sẽ gửi đi giá trị 0 thông qua radio và hiển thị ký tự X trên ma trận led.
  • Sử dụng một số hàm cơ bản:

    • on button A pressed: nhóm Input.
    • radio send number 0: nhóm Radio.
    • show icon: nhóm Basic.

Gửi 1 YES vote

  • Tương tự như trên, khi ta nhấn nút B thì sẽ gửi đi giá trị 255 thông qua radio và hiển thị ký tự v trên ma trận led.
  • Sử dụng một số hàm cơ bản:

    • on button A pressed: nhóm Input.
    • radio send number 0: nhóm Radio.
    • show icon: nhóm Basic.

Cài đặt nhóm radio

  • Để giao tiếp các Micro:Bit với nhau qua sóng radio, ta phải setup các Micro:Bit cùng nhóm radio với nhau, ở đây sử dụng nhóm 4 để giao tiếp. Sử dụng hàm radio set group 0 trong nhóm Radio.

Chương trình tổng quát cho Micro:Bit vote

Sau khi tổng hợp các lý thuyết từ các phần trên, ta thu được mô hình tổng quát để nạp cho Micro:Bit thực hiện chức năng vote.

Chương trình cho Micro:Bit thực hiện chức năng thống kê

Cài đặt nhóm radio

  • Tương tự như việc cài đặt radio cho các Micro:Bit thực hiện chức năng vote. Ta phải sử dụng chung nhóm với các Micro:Bit này để đảm bảo quá trình truyền nhận là chính xác. Vì thế, ta vẫn sử dụng nhóm 4.
  • Sử dụng hàm radio set group 0 trong nhóm Radio.

Nhận và xử lý dữ liệu vote

  • Để nhận dữ liệu số từ các Micro:Bit khác. Sử dụng hàm on radio received receivedNumber trong nhóm Radio.
  • Vì các dữ liệu số truyền đến là khác nhau, và mỗi dữ liệu cần phải xử lý một tác vụ khác nhau, do đó cần sử dụng hàm if-then-else trong nhóm Logic để xử lý.
  • Đối với mỗi Micro:Bit gửi Yes vote hoặc NO vote thì cần 1 led trên Micro:Bit thống kê lại bằng cách hiển thị 1 led trên ma trận led. Do các led cần phải sáng riêng biệt nên ở đây ta cần sử dụng hàm plot x0 y0unplot x0 y0 trong nhóm Led để cài đặt led cần sáng hoặc tắt trên ma trận led.

Chương trình tổng quát cho Micro:Bit thống kê

Sau khi tổng hợp các lý thuyết từ các phần trên, ta thu được mô hình tổng quát để nạp cho Micro:Bit thực hiện chức năng thống kê. Chương trình này được thiết kế để thu dữ liệu từ 2 Micro:Bit khác. Để thao tác với nhiều Micro:Bit ta chỉ cần thêm vào chương trình các hàm if-then-else và các tác vụ cần thực hiện.

Video kết quả