3. Bài 1: Đèn công cộng thông minh

Mục tiêu:


Trong bài này, chúng ta sẽ cùng lập trình một chiếc đèn thông minh có thể tự sáng khi có người vào buổi tối. Các đèn này có thể gắn vào các khu vui chơi hoặc công viên tùy thích.

Kết nối


  • Cảm biến ánh sáng (P0)

    ../../_images/bai_1.1.11.png

  • Cảm biến chuyển động PIR (P1)

    ../../_images/bai_1.1.2.png

  • Module LED (P2)

    ../../_images/bai_1.1.31.png

Kết nối

../../_images/bai_1.24.png

Lắp ráp


Lắp ráp khung cho mạch mở rộng

Đầu tiên, bạn cần lắp ráp một khung phù hợp với mạch mở rộng Yolo:Bit để sử dụng cho từng mô hình.

Thực hiện như sau:

../../_images/bai_1.32.png

../../_images/bai_1.3.1.png

Lắp ráp mô hình

../../_images/bai_1.44.png

../../_images/bai_1.4.11.png

../../_images/bai_1.4.2.png

../../_images/bai_1.4.3.png

Giới thiệu khối lệnh


../../_images/bai_1.62.png

Viết chương trình


  1. Kéo khối lệnh điều kiện vào phần lặp lại mãi

    ../../_images/bai_1.72.png

  2. Cho khối lệnh toán tử vào phần nếu

    ../../_images/bai_1.81.png

  3. Tạo điều kiện: nếu trời tối (độ sáng < 30) và phát hiện có người

    ../../_images/bai_1.92.png

  4. Bật đèn ở chân P2 trong 5 giây, sau đó tắt đèn

    ../../_images/bai_1.102.png

Vấn đề xảy ra: Thỉnh thoảng đèn vẫn không bật dù đang có người.

Nguyên nhân: Cảm biến hồng ngoại PIR không hoạt động liên tục nên chúng sẽ không phát hiện người kịp thời. Khi có người, cảm biến sẽ bật và hoạt động trong vòng 2 giây rồi tắt. Đến khi tiếp tục phát hiện có người thì cảm biến PIR mới bật lại nên sẽ có độ trễ nhất định.

Giải pháp: Sử dụng bộ đếm thời gian để đèn tự tắt nếu trong vòng 10 giây liên tục không có người xuất hiện

Giới thiệu khối lệnh

../../_images/bai_1.112.png

Sửa chương trình

  1. Nếu trời tối và cảm biến phát hiện có người thì bật đèn LED

    ../../_images/bai_1.122.png

  2. Sau khi bật đèn, reset bộ đếm để đếm lại từ đầu

    ../../_images/bai_1.132.png

  3. Nếu đếm được 10 giây (trong vòng 10 giây liên tiếp không có người xuất hiện) thì tắt đèn LED

    ../../_images/bai_1.142.png

Chương trình mẫu


../../_images/bai_1.152.png