Bài 3: Điều khiển độ sáng đèn Led - MakerEdu Inventor Kit for Micro:bit

From MakerLab Wiki
Jump to navigation Jump to search

Mô tả dự án

Trong bài này các bạn sẽ sử dụng 2 "nút nhấn" tích hợp sẵn trên mạch Micro:bit để điều khiển độ sáng đèn Led.

... hình thumnail

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

Danh sách thiết bị

Sơ đồ kết nối

MakerEDU Shield Thiết bị
Port P0 [MKE-M01] - LED Trắng

Chuẩn bị trước dự án

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

  1. Tạo một dự án mới trong phần mềm MakeCode.
  2. Bạn có thể lập trình kéo thả từng mã khối theo hình dưới trong mục [Blocks] hoặc copy đoạn code dưới và paste vào mục [JavaScript] để tiến hành nhanh hơn.
  3. Nạp chương trình vào Micro:Bit.

Blocks

B3 MicrobitEdu.png

Javascript

// Khối input - thực hiện khi nhấn nút A
input.onButtonPressed(Button.A, function () {
  power = Math.constrain(power + 25, 0, 255)
  pins.analogWritePin(AnalogPin.P0, power)
})

// Khối input - thực hiện khi nhấn nút B
input.onButtonPressed(Button.B, function () {
  power = Math.constrain(power - 25, 0, 255)
  pins.analogWritePin(AnalogPin.P0, power)
})

// Khai báo các biến
let power = 0

// Khối "on start" - thực hiện 1 lần khi khởi động
basic.showIcon(IconNames.Happy)
basic.pause(1000)
power = 0
pins.analogWritePin(AnalogPin.P0, power)

// Khối "forever" - vòng lặp chính của chương trình
basic.forever(function () {
  led.plotBarGraph(
    power,
    255
  )
})

Giải thích code

Chương trình sẽ hoạt động như sau:

Trong khối [ on start ]:

  1. Đầu tiên Micro:bit hiển thị "mặt cười" trong 1 giây.
  2. Đồng thời đặt giá trị biến "power"0.
  3. Sau đó điều khiển chân P0 xuất tín hiệu analog theo giá trị biến "power".

Phần khởi động này nói cho chúng ta biết Micro:bit đã sẵn sàng.

Trong khối [ forever ]:

  • Điều khiển Micro:bit thực hiện khối [ plot bar graph of... ] liên tục, để hiển thị độ lớn giá trị trong biến "power" lên màn hình Led, với dãi thang đo "từ 0 đến 255".

Khối sự kiện [ on button A pressed ]:

Khối này được thực hiện 1 lần mỗi khi nhấn nút A.

  1. Tăng giá trị biến "power" thêm 25, nhưng vẫn đảm bảo chỉ nằm trong khoảng "từ 0 đến 255".
  2. Điều khiển chân P0 xuất tín hiệu analog theo giá trị biến "power".

Giá trị "power" càng tăng, làm module Led đang kết nối càng sáng dần.

Khối sự kiện [ on button B pressed ]:

Khối này được thực hiện 1 lần mỗi khi nhấn nút B.

  1. Giảm giá trị biến "power" đi 25, nhưng vẫn đảm bảo chỉ nằm trong khoảng "từ 0 đến 255".
  2. Điều khiển chân P0 xuất tín hiệu analog theo giá trị biến "power".

Giá trị "power" càng giảm, làm module Led đang kết nối càng tối dần, cho đến khi tắt hẳn.

Kết quả

...

... hình dự án