Bài 3: Điều khiển độ sáng đèn Led - MakerEdu Inventor Kit for Micro:bit
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ị
- 1x Cáp MicroUSB.
- 1x Bo mạch Micro:Bit.
- 1x MakerEdu Shield for micro:bit
- 1x [MKE-M01] - LED Trắng
Sơ đồ kết nối
MakerEDU Shield | Thiết bị |
---|---|
Port P0 | [MKE-M01] - LED Trắng |
Chuẩn bị trước dự án
- Tham khảo: Cách kết nối và nạp chương trình cho mạch Micro:bit trên máy tính với phần mềm MakeCode - MakerLab Wiki.
Các bước thực hiện
- Tạo một dự án mới trong phần mềm MakeCode.
- 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.
- Nạp chương trình vào Micro:Bit.
Blocks
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 ]:
- Đầu tiên Micro:bit hiển thị "mặt cười" trong 1 giây.
- Đồng thời đặt giá trị biến "power" là 0.
- 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.
- 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".
- Đ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.
- 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".
- Đ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