Dự án 07: Điều khiển quạt - MakerEdu Inventor Kit for Micro:bit

From MakerLab Wiki
Jump to navigation Jump to search

Mức độ: Trung bình ★★★★☆☆☆☆☆

Danh sách thiết bị

Sơ đồ kết nối

MakerEDU Shield Thiết bị
Port P0 [MKE-M04] - Biến trở
Motor_A Động cơ DC

Mô tả dự án

Trong dự án này, bạn sẽ học cách điều khiển động cơ DC làm thành bộ điều khiển quạt máy.

Bằng cách sử dụng Biến trở để điều tốc cho quạt, kết hợp thêm 2 nút nhấn A và B để đảo chiều quạt.

Icon-Attention-White.png Chú ý:
Để sử dụng được tính năng Driver tích hợp trên MakerEDU Shield, bạn cần cài đặt thêm Extension "MakerEdu_Hardware" vào dự án của mình (nếu chưa có) theo bài hướng dẫn này.

Bên cạnh, để Motor hoạt động ổn định, các bạn cần cấp nguồn riêng 5V qua cổng microUSB trên Shield.

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

Tạo code

  1. Tạo biến có tên "pot".
    → Biến này để bạn lưu trữ giá trị Analog đọc từ Biến trở.
  2. Tạo biến có tên "percent".
    → Biến này để bạn lưu trữ giá trị (%) tương ứng từ giá trị Analog.
  3. Tạo biến có tên "mode".
    → Biến này để micro:bit biết phải điều khiển động cơ quay chiều nào.
  4. Tạo 2 khối on button A pressedon button B pressed như hình dưới.
    → Các khối này sẽ lưu giá trị chiều quay động cơ vào biến "mode".
  5. Tạo 1 khối forever như hình dưới. Trong đó, khối Driver | Control motor... bạn tìm trong [Driver].
    → Khối này lưu giá trị Analog đọc từ mô-đun Biến trở vào trong biến "pot", rồi chuyển sang đơn vị (%) tương ứng lưu vào biến "percent".
    → Dựa theo giá trị (%) mà cho hiển thị mức giá trị lên Led Matrix và điều khiển tốc độ động cơ tương ứng, cũng như chiều quay động cơ dựa theo biến "mode".
Icon-Done-White.png Giải thích:
Trong code theo quy ước, khi biến "mode" giá trị 0, thì động cơ quay chiều "backward". Và ngược lại giá trị 1, động cơ quay chiều "forward".

Tuy nhiên chiều quay thực tế của động cơ lại phụ thuộc vào cách bạn kết nối (thứ tự 2 dây) động cơ vào cổng domino Motor_A.

Blocks

MakeCode Kit 7.png

Javascript

let mode = 0
let pot = 0
let percent = 0

input.onButtonPressed(Button.A, function () {
  mode = 1
})

input.onButtonPressed(Button.B, function () {
  mode = 0
})

basic.forever(function () {
  pot = pins.analogReadPin(AnalogPin.P0)
  percent = Math.round(Math.map(pot, 0, 1023, 0, 100))
  led.plotBarGraph(
    percent,
    100
  )
  if (mode) {
    l9110.controlMotor(l9110.Motor.MotorA, l9110.Rotate.Forward, percent)
  } else {
    l9110.controlMotor(l9110.Motor.MotorA, l9110.Rotate.Backward, percent)
  }
})

Nạp code

  1. Kết nối [MKE-M04] - Biến trở đến Port P0 của MakerEdu Shield.
  2. Kết nối Động cơ DC đến Motor_A của MakerEdu Shield.
  3. Nhấp vào Download để nạp code của bạn sang micro:bit.
  4. Nhấn nút A hoặc nút B kết hợp với điều chỉnh Biến trở để xem code có hoạt động như mong đợi không.

Kết quả

... hình dự án