Dự án 06: Đèn giao thông - 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-M01] - LED Xanh lá
- 1x [MKE-M01] - LED Vàng
- 1x [MKE-M01] - LED Đỏ
- 1x MakerEdu Shield for micro:bit
- 1x Micro:bit
Sơ đồ kết nối
MakerEDU Shield | Thiết bị |
---|---|
Port P0 | [MKE-M01] - LED Xanh lá |
Port P1 | [MKE-M01] - LED Vàng |
Port P2 | [MKE-M01] - LED Đỏ |
Mô tả dự án
Trong dự án này, các bạn sẽ làm được một bộ đèn giao thông, mình chia ra làm 3 giai đoạn.
- Giai đoạn 1:
_ Tạo 1 hàm có chức năng đếm ngược số hiển thị trên Led Matrix.
- Giai đoạn 2:
_ Tạo 1 hàm có chức năng điều khiển cùng lúc cả 3 đèn LED.
- Giai đoạn 3:
_ Sử dụng 2 hàm trên để làm thành một bộ đèn giao thông hoàn chỉnh.
Các bước thực hiện (Giai đoạn 1)
Tạo code
- Tạo biến có tên "count".
→ Biến "count" để hiển thị số đếm ngược lên Led Matrix. - Tạo 1 hàm có tên "wait_second".
Chọn thẻ Number, đặt tên biến là "num", xong bấm nút Done. - Trong vùng code, bạn tạo chức năng cho khối function wait_second như hình dưới.
→ Khối này khi nhận một giá trị, sẽ cho hiển thị số đó lên Led Matrix, đợi 1s rồi giảm số đó đi 1 đơn vị và cứ lặp lại cho đến khi số đó về 1.
Blocks
Javascript
let count = 0 function wait_second(num: number) { count = num for (let index = 0; index < num; index++) { basic.showNumber(count) basic.pause(1000) count += -1 } }
Các bước thực hiện (Giai đoạn 2)
Tạo code
- Tạo 1 hàm có tên "light_GYR" (G viết tắt của "Green", Y là "Yellow" và R là "Red").
Chọn thẻ Number, tạo 3 biến với tên lần lượt là "ledGreen" - "ledYellow" - "ledRed", xong bấm nút Done. - Trong vùng code, bạn tạo chức năng cho khối function light_GYR như hình dưới.
→ Khối này nhận giá trị điều khiển cho cả 3 đèn LED cùng lúc theo thứ tự màu Green - Yellow - Red.
Blocks
Javascript
function light_GYR(ledGreen: number, ledYellow: number, ledRed: number) { pins.digitalWritePin(DigitalPin.P0, ledGreen) pins.digitalWritePin(DigitalPin.P1, ledYellow) pins.digitalWritePin(DigitalPin.P2, ledRed) }
Các bước thực hiện (Giai đoạn 3)
Tạo code
- Tạo 1 khối forever như hình dưới. Trong đó khối call wait_second và khối call light_GYR lấy trong [Functions].
→ Khối này điều khiển bật tắt tuần tự từng đèn giao thông và hiển thị thời gian đếm ngược của mỗi đèn trên Led Matrix.
Blocks
Javascript
basic.forever(function () { light_GYR(1, 0, 0) wait_second(3) light_GYR(0, 1, 0) wait_second(2) light_GYR(0, 0, 1) wait_second(5) })
Nạp code
- Kết nối [MKE-M01] - LED Xanh lá đến Port P0 của MakerEdu Shield.
- Kết nối [MKE-M01] - LED Vàng đến Port P1 của MakerEdu Shield.
- Kết nối [MKE-M01] - LED Đỏ đến Port P2 của MakerEdu Shield.
- Nhấp vào Download để nạp code của bạn sang micro:bit.
Kết quả
... hình dự án