5. Bài 4: Hệ thống cảnh báo tốc độ

1. Mục tiêu


Trong thành phố, di chuyển vượt tốc độ là hành vi vi phạm. Vì vậy, thiết bị đo tốc độ rất cần thiết để kiểm tra tốc độ chạy của xe. Nếu tốc độ của xe vượt mức quy định, hệ thống sẽ hiển thị cảnh báo và yêu cầu xe phải giảm tốc độ.

2. Kết nối


  • Cảm biến khoảng cách (D9-D10)

../../_images/cityuno4_1.PNG

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

../../_images/cityuno4_2.PNG

  • Kết nối

../../_images/bai_5.33.png

3. Lắp ráp mô hình


../../_images/bai_5.42.png

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


  • Vào mục Mở rộng, tải thư viện Màn hình OLED:

../../_images/cityuno4_11.PNG

  • Câu lệnh cảm biến khoảng cách

../../_images/cityuno4_3.PNG

5. Cách tính vận tốc


../../_images/bai_5.71.png

Để tính vận tốc xe, chúng ta sẽ sử dụng công thức sau:

v = S / t

Trong đó:
  • v là vận tốc

  • S là quãng đường

  • t là thời gian

Ta sẽ tiến hành đo khoảng cách đến xe trong 2 mốc thời gian khác nhau, từ đó tính ra quãng đường xe đi được:

S = Khoảng cách 1 - Khoảng cách 2

Thời gian di chuyển = thời gian giữa 2 mốc thời gian

../../_images/bai_5.81.png

6. Viết chương trình


  1. Tạo 3 biến để chứa giá trị tốc độ, khoảng cách 1 và khoảng cách 2. Gán giá trị 0 cho các biến này

../../_images/cityuno4_4.PNG

  1. Nếu phát hiện có xe đến gần (khoảng cách < 40cm), tiến hành đo khoảng cách tại 2 thời điểm cách nhau 1 giây và lưu giá trị vào biến tương ứng:

../../_images/cityuno4_5.PNG

  1. Lồng điều kiện nếu xe đang tiến lại gần (khoảng cách 2 < khoảng cách 1) vào bên trong Áp dụng công thức tính vận tốc vào và gán giá trị tính được vào biến tốc độ (thời gian là 1 giây):

../../_images/cityuno4_6.PNG

  1. Nếu tốc độ quá hạn mức quy định (15), ta tiến hành bật đèn LED thành màu đỏ và xóa màn hình LCD:

../../_images/cityuno4_7.PNG

  1. In dòng chữ “Speed Over - Slowdown!” :

../../_images/cityuno4_8.PNG

  1. Nếu tốc độ không vượt mức 15, bật đèn LED thành màu xanh và hiển thị giá trị tốc độ lên màn hình LCD

../../_images/cityuno4_9.PNG

7. Chương trình mẫu


  • Hệ thống cảnh báo tốc độ:

../../_images/cityuno4_10.PNG