Dự án 04: Đèn bàn thông minh - MakerEdu Inventor Kit for Micro:bit

From MakerLab Wiki
Jump to navigation Jump to search

Mức độ: Dễ ★★★☆☆☆☆☆☆

Danh sách thiết bị

Sơ đồ kết nối

MakerEDU Shield Thiết bị
Port P0 [MKE-S02] - Quang trở

Mô tả dự án

Trong dự án này, các bạn sẽ được làm một bộ đèn bàn thông minh.

Đèn bàn có 2 chế độ hoạt động, khi nhấn nút A, Led Matrix hiển thị chữ AUTO. Còn nhấn nút B, Led Matrix hiển thị chữ MANUAL.

Trong chế độ AUTO, khi trời sáng thì tắt LED, còn khi trời tối thì bật LED.

Trong chế độ MANUAL, trời càng sáng thì LED tắt dần và trời càng tối thì LED bật sáng dần.

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

Tạo code

  1. Tạo 2 biến có tên "mode""valueLight".
    → Biến "mode" để lưu chế độ đang sử dụng, còn biến "valueLight" này để lưu trữ giá trị Analog đọc từ cảm biến ánh sáng.
  2. Tạo 2 khối on button A pressedon button B pressed như hình dưới.
    → Các khối này sẽ hiển thị tên chế độ mỗi khi được nhấn, và lưu giá trị chế độ hiện tại đang dùng vào biến "mode".
  3. Tạo 1 khối forever như hình dưới.
    → Khối này lưu giá trị Analog đọc từ cảm biến lưu vào trong biến "valueLight". đồng thời kiểm tra biến "mode" để ra quyết định điều khiển LED phù hợp.
Icon-Done-White.png Giải thích:
Biến "mode" giá trị 0 là chế độ "Auto". Lúc này nếu giá trị "valueLight" từ 768 thì bật LED, còn từ 256 trở xuống thì tắt LED.

Biến "mode" giá trị 1 là chế độ "Manual". Lúc này đơn giản micro:bit điều khiển độ sáng LED theo giá trị biến "valueLight".

Blocks

MakeCode Kit 4.png

Javascript

let mode = 0
let valueLight = 0

input.onButtonPressed(Button.A, function () {
  basic.showString("AUTO")
  mode = 0
})

input.onButtonPressed(Button.B, function () {
  basic.showString("MANUAL")
  mode = 1
})

basic.forever(function () {
  valueLight = pins.analogReadPin(AnalogPin.P0)
  serial.writeLine("" + (valueLight))
  if (mode) {
    pins.analogWritePin(AnalogPin.P1, valueLight)
  } else {
    if (valueLight >= 768) {
      pins.digitalWritePin(DigitalPin.P1, 1)
    } else if (valueLight <= 256) {
      pins.digitalWritePin(DigitalPin.P1, 0)
    }
  }
})

Nạp code

  1. Kết nối [MKE-S02] - Quang trở đến Port P0 của MakerEdu Shield.
  2. Nhấp vào Download để nạp code của bạn sang micro:bit.
  3. Nhấn nút Anút B để xem code có điều khiển LED như mong đợi không.

Kết quả

... hình dự án