Bài 4: Đèn ngủ thông minh - 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ẽ học cách sử dụng "cảm biến ánh sáng" tích hợp sẵn trên mạch Micro:bit để làm ứng dụng đèn ngủ thông minh bật tắt tự động theo ánh sáng phòng.
... 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
// Khai báo các biến let valueLight = 0 // Khối "on start" - thực hiện 1 lần khi khởi động basic.showIcon(IconNames.Happy) basic.pause(1000) basic.clearScreen() // Khối "forever" - vòng lặp chính của chương trình basic.forever(function () { valueLight = Math.map(input.lightLevel(), 0, 255, 0, 100) led.plotBarGraph( valueLight, 100 ) if (valueLight >= 50) { pins.digitalWritePin(DigitalPin.P0, 1) } else { pins.digitalWritePin(DigitalPin.P0, 0) } })
Giải thích code
Chương trình sẽ hoạt động như sau:
Trong khối [ on start ]:
- Micro:bit hiển thị "mặt cười" trong 1 giây rồi tắt.
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 ]:
- Micro:bit đọc giá trị cảm biến ánh sáng từ khối [ light level ] với giá trị trả về trong khoảng "từ 0 đến 255".
- Sau đó giá trị được "ánh xạ" bằng khối [ map... ] sang thang đo (%) "từ 0% đến 100%" để lưu vào biến "valueLight".
- Cho hiển thị mức giá trị trong biến "valueLight" lên màn hình Led bằng khối [ plot bar graph of... ].
- Cuối cùng, nếu giá trị
valueLight ≥ 50%
thì điều khiển chânP0
xuất mứcHIGH
, để bật module Led đang kết nối. Ngược lại là mứcLOW
, để tắt module Led.
Kết quả
...
... hình dự án