Dự án 03: Ngăn kéo chống trộm - MakerEdu Inventor Kit for Micro:bit
Jump to navigation
Jump to search
Mức độ: Dễ ★★☆☆☆☆☆☆☆☆
Danh sách thiết bị
- 1x [MKE-S03] - Photo Diode
- 1x MakerEdu Shield for micro:bit
- 1x Micro:bit
Sơ đồ kết nối
MakerEDU Shield | Thiết bị |
---|---|
Port P0 | [MKE-S03] - Photo Diode |
Mô tả dự án
Trong dự án này, mình chia làm 2 phần.
- Phần 1:
_ Đầu tiên bạn sẽ học cách đọc và phân tích giá trị Analog từ cảm biến ánh sáng (Photo Diode).
_ Và dùng những thông số đó làm ứng dụng ngăn kéo chống trộm. - Phần 2:
_ Dựa trên nguyên lý khi đóng ngăn kéo, bên trong sẽ rất tối do không có ánh sáng lọt vào.
_ Và chỉ khi mở ngăn kéo ra, micro:bit phát hiện có ánh sáng mới bật còi báo.
Các bước thực hiện (Phần 1)
Tạo code
- Vào [Variables] nhấp Make a Variable và tạo một biến có tên "valueLight".
→ Biến này để bạn lưu trữ giá trị Analog đọc từ cảm biến ánh sáng. - Vào [Basic] thêm khối forever
→ Đây là khối vòng lặp, các khối con bên trong khối này được thực hiện tuần tự từ trên xuống, và cứ thế lặp lại. - Vào [Variables] thêm khối set valueLight to 0 và vào [Pins] thêm khối analog read pin P0 đặt vào vị trí số 0 của khối trước.
→ Khối này lưu giá trị Analog đọc từ cảm biến lưu vào trong biến "valueLight". - Vào [Serial] thêm khối serial write line " " và vào [Variables] thêm khối valueLight đặt vào vị trí " " của khối trước.
→ Khối này gửi giá trị trong biến "valueLight" lên máy tính.
Blocks
Javascript
let valueLight = 0 basic.forever(function () { valueLight = pins.analogReadPin(AnalogPin.P0) serial.writeLine("" + (valueLight)) })
Nạp code
- Kết nối [MKE-S03] - Photo Diode đến Port P0 của MakerEdu Shield.
- Nhấp vào Download để nạp code của bạn sang micro:bit.
- Xong nhấp vào Show data Device để xem giá trị trả về trên máy tính khi bạn thay đổi môi trường ánh sáng quanh cảm biến.
... hình data mẫu trên show data device
Các bước thực hiện (Phần 2)
Tạo code
Sau khi thực nghiệm nhiều lần, mình quyết định chọn giá trị 1000 làm ngưỡng phát hiện sáng và tối cho cảm biến.
- Tiếp tục, vào [Logic] thêm khối if true then và thêm khối 0 < 0 đặt vào vị trí true của khối trước.
- Tiếp vào [Variables] thêm khối valueLight đặt vào để tạo thành biểu thức valueLight < 1000.
- Rồi vào [Music] thêm khối play sound ... until done và thiết kế tiếng còi báo bạn muốn.
→ Khối này được thực hiện khi biến "valueLight" nhỏ hơn 1000.
Blocks
Javascript
let valueLight = 0 basic.forever(function () { valueLight = pins.analogReadPin(AnalogPin.P0) serial.writeLine("" + (valueLight)) if (valueLight < 1000) { music.playSoundEffect(music.createSoundEffect(WaveShape.Square, 1600, 1, 255, 0, 300, SoundExpressionEffect.None, InterpolationCurve.Curve), SoundExpressionPlayMode.UntilDone) } })
Nạp code
- Nhấp vào Download để nạp code của bạn sang micro:bit.
- Lắp đặt bộ này vào ngăn tủ kéo rồi đóng mở xem thử kết quả.
Kết quả
... hình dự án