6. Bài 4: Hệ thống cảnh báo tiếng ồn

Mục tiêu


Tại các khu vực cần sự yên tĩnh như trường học, bệnh viện, chúng ta sẽ thiết lập một hệ thống đo lường và cảnh báo khi tiếng ồn vượt hạn mức cho phép. Hệ thống sẽ lưu lại số lần vượt mức và hiển thị chúng lên màn hình LCD.

Kết nối


  • Cảm biến âm thanh (P0)

    ../../_images/bai_4.15.png

  • Màn hình LCD OLED (I2C1)

    ../../_images/bai_4.22.png

  • Kết nối

    ../../_images/bai_4.33.png

Lắp ráp mô hình


../../_images/bai_4.43.png

../../_images/bai_4.52.png

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


../../_images/bai_4.61.png

../../_images/bai_4.72.png

../../_images/bai_4.81.png

Giới thiệu về hàm


  • Với những chương trình dài có nhiều khối lệnh, chúng ta sẽ sử dụng Hàm để rút gọn những chương trình đó.

    ../../_images/bai_4.91.png

  • Hàm giống như việc bạn tạo thêm một loại khối lệnh mới để sử dụng, và khối lệnh này bao gồm các khối lệnh con bên trong

    ../../_images/bai_4.101.png

Cách tạo và sử dụng hàm

  1. Chọn mục Nâng cao >> Hàm: sử dụng khối lệnh hàm để làm gì để tạo hàm.

    ../../_images/bai_4.111.png

  2. Đưa các khối lệnh vào trong hàm, sau đó đặt tên cho hàm.

    ../../_images/bai_4.121.png

  3. Khối lệnh mới với tên vừa đặt sẽ xuất hiện trong mục Hàm.

    ../../_images/bai_4.131.png

Viết chương trình


  1. Tạo một hàm để khởi động lại màn hình.

    • In ra nội dung “Vi pham: 0”, “Do on toi da: 0” tại dòng 15 và dòng 30

    ../../_images/bai_4.141.png

  2. Tạo 2 biến để chứa thông tin về số lần tiếng ồn vượt mức và giá trị tiếng ồn cao nhất, gán dữ liệu số cho 2 biến:

    ../../_images/bai_4.151.png

  3. Khởi tạo màn hình LCD và đổi màu tất cả đèn LED thành màu xanh lá, sau đó khởi động lại màn hình LCD

    ../../_images/bai_4.16.png

  4. Tạo biến độ ồn và gán giá trị nhận từ cảm biến âm thanh

    ../../_images/bai_4.17.png

  5. Nếu tiếng ồn lớn hơn mức 15, ta sẽ hiển thị giá trị tiếng ồn lên màn hình LED của Yolo:Bit dưới dạng biểu đồ phần trăm

    ../../_images/bai_4.18.png

  6. Chương trình liên tục kiểm tra và lưu giá trị tiếng ồn cao nhất vào biến

    ../../_images/bai_4.19.png

  7. Nếu giá trị tiếng ồn lớn hơn 25:

    • Đổi tất cả LED thành màu đỏ

    • Cộng thêm 1 vào biến số lần vượt mức

    • Xóa màn hình LCD trước đó và hiển thị số lần vượt mức (dòng 15), giá trị tiếng ồn cao nhất (dòng 30) ra màn hình

    ../../_images/bai_4.20.png

  8. Tạm dừng 50ms

    ../../_images/bai_4.211.png

  9. Nhấn nút A để đặt lại số liệu, bật đèn LED màu xanh để báo hiệu

    ../../_images/bai_4.221.png

Chương trình mẫu


../../_images/bai_4.24.png