3. Bài 2: Bãi đậu xe thông minh
1. Mục tiêu
Trong bài này, chúng ta sẽ cùng lập trình một bãi đậu xe thông minh có thể tự động mở thanh chắn để xe vào (nếu chỗ đậu xe còn trống). Nếu bãi xe đầy, đèn LED trên Yolo UNO sẽ đổi thành màu đỏ để báo hiệu và hiển thị số lượng chỗ trống trên màn hình OLED.
2. Kết nối
Cảm biến vật cản (D9-D10)
Cảm biến khoảng cách (D5-D6)
Động cơ Servo (D11)
Màn hình LCD OLED (I2C)
Kết nối:
3. Lắp ráp mô hình
Trước khi lắp ráp, bạn cần căn chỉnh Servo về góc 90 để hoạt động chính xác. Thực hiện như sau:
Kết nối Servo vào chân D11 trên mạch Yolo UNO
Kết nối Yolo UNO với Ohstem App và tiến hành lập trình.
Tạo chương trình như hình minh họa
Nhấn nút chạy chương trình
Ngắt kết nối Servo với nguồn điện (tránh vừa cắm điện vừa gắn làm quay Servo gây hư hại thiết bị)
Tiến hành lắp ráp:
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:
Khối lệnh kiểm tra khoảng cách:
Khối lệnh điều khiển chân servo 180 độ:
Khối lệnh xác định trạng thái cảm biến vật cản
Khối lệnh tạm dừng (chờ):
5. Giới thiệu về biến
Để kiểm tra số chỗ đỗ xe còn lại, chúng ta cần sử dụng đến biến. Có thể hiểu, biến như một chiếc hộp, nơi chứa giá trị mà ta cần sử dụng.
Mỗi hộp chỉ có thể chứa duy nhất một giá trị (chữ, số, chuỗi, dữ liệu) tại một thời điểm. Trong trường hợp này, biến sẽ chứa giá trị số, đại diện cho số chỗ đậu xe còn lại.
Cách tạo và sử dụng biến:
Bạn cần vào mục Biến và chọn Tạo biến. Sau đó, điền tên cho biến mới để tạo.
Khi tạo biến thành công, trong mục Biến sẽ xuất hiện những khối lệnh liên quan để làm việc với biến.
6. Viết chương trình
Tạo một biến mới tên “Số chỗ đậu xe” và gán giá trị 2 vào biến (đồng nghĩa với bãi xe vẫn còn 2 chỗ trống):
Tạo điều kiện: nếu bãi xe còn trống (cảm biến vật cản không bị che đi), biến số chỗ đậu xe > 0
Tạo thêm 1 điều kiện lồng ghép: nếu phát hiện có xe (khoảng cách đến xe < 5cm)
Trong trường hợp bãi xe đã đầy chỗ (biến = 0): servo sẽ không mở barrier cho xe khác vào.
Sử dụng khối lệnh sau mỗi 1 giây kiểm tra cảm biến vật cản. Nếu trạng thái chân D9 là bật, tức là không có vật cản. Nếu trạng thái chân là TẮT, tức là có vật cản phía trên cảm biến biến số chỗ đậu xe sẽ thay đổi như sau:
8. Chương trình mẫu
Bãi đậu xe thông minh:
Link chương trình: https://app.ohstem.vn/#!/share/yolouno/2eImTbJnX7OTcXuia2a6kNi2i7O