Dự án 07: Điều khiển quạt - MakerEdu Inventor Kit for Micro:bit
Jump to navigation
Jump to search
Mức độ: Trung bình ★★★★☆☆☆☆☆☆
Danh sách thiết bị
- 1x [MKE-M04] - Biến trở
- 1x Động cơ DC (có gắn cánh quạt)
- 1x MakerEdu Shield for micro:bit
- 1x Micro:bit
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.
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
- 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ở. - 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. - 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. - Tạo 2 khối on button A pressed và on 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". - 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".
Blocks
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
- Kết nối [MKE-M04] - Biến trở đến Port P0 của MakerEdu Shield.
- Kết nối Động cơ DC đến Motor_A của MakerEdu Shield.
- Nhấp vào Download để nạp code của bạn sang micro:bit.
- 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