Mục lục:

Phòng chống va chạm - Được hỗ trợ bởi Pi: 6 bước
Phòng chống va chạm - Được hỗ trợ bởi Pi: 6 bước

Video: Phòng chống va chạm - Được hỗ trợ bởi Pi: 6 bước

Video: Phòng chống va chạm - Được hỗ trợ bởi Pi: 6 bước
Video: Hỗ trợ và kháng cự trong phân tích kỹ thuật 2024, Tháng mười một
Anonim
Phòng chống va chạm - Do Pi hỗ trợ
Phòng chống va chạm - Do Pi hỗ trợ

Có thể hướng dẫn này sẽ cung cấp cho bạn hướng dẫn từng bước để xây dựng Hệ thống Phòng ngừa Va chạm. Để bắt đầu, người ta phải có được danh sách các vật liệu sau:

Raspberry PI 3 (với hợp âm nguồn và Ethernet), 1 Bảng mở rộng GPIO và Cáp ruy-băng (GPIO), 1 Bảng mạch lớn có sơ đồ, 2 bảng mạch nhỏ có sơ đồ, 14 cáp jumper, 3 điện trở 220 Ohms, 1 đèn LED RGB, 3 công tắc nút, Cảm biến siêu âm 1HB-SR04

Bước 1: Mở rộng GPIO

Phần mở rộng GPIO
Phần mở rộng GPIO
Phần mở rộng GPIO
Phần mở rộng GPIO

Kết nối bảng mở rộng GPIO với bảng mạch lớn. GPIO phải hướng thẳng đứng giống như breadboard. Gán phía bên trái của GPIO cho các cổng của breadboard D1-D20 bằng cách sử dụng sơ đồ được cung cấp. Sau đó, phía bên phải sẽ kết nối với H1-H20. Kết nối cáp ribbon với cả Raspberry Pi 3 và bo mạch mở rộng GPIO. Toàn bộ thành phần này bây giờ sẽ được gọi là bảng GPIO (GPIO)

Bước 2: Cảm biến siêu âm

Thiết bị cảm biến sóng siêu âm
Thiết bị cảm biến sóng siêu âm
Thiết bị cảm biến sóng siêu âm
Thiết bị cảm biến sóng siêu âm

Sử dụng một breadboard khác nhỏ hơn, kết nối cảm biến siêu âm HR-SR04 với các cổng breadboard nhỏ hơn A2-5 bằng cách sử dụng sơ đồ được cung cấp. Kết nối cáp jumper với bảng mạch nhỏ hơn (BB) E2, cắm đầu kia vào cổng bảng mở rộng GPIO J1. Theo cách tương tự, hãy nối thêm ba jumper theo cách sau. (BB E3, GPIO B17) (BB E4, GPIO B18) (BB E5, GPIO B20)

Bước 3: Đèn LED và Điện trở

LED và điện trở
LED và điện trở
LED và điện trở
LED và điện trở
LED và điện trở
LED và điện trở

Trên cùng một bảng mạch nhỏ được sử dụng trong hướng dẫn trước, kết nối ba điện trở 220 ohm theo cách sau. (E10, H10) (E12, H12) (E14, H14) Sau đó, kết nối jumper từ cùng breadboard E13 với đường ray nguồn nối đất trên bo mạch GPIO. Kết nối bốn ngạnh của đèn LED với các cổng breadboard nhỏ hơn (B13) (D14) (D12) (D10). Sau đó, kết nối ba jumper từ breadboard nhỏ hơn với board GPIO theo kiểu được chỉ định. (BB J10, GPIO J9) (BB J12, GPIO J8) (BB J14, GPIO J6). Breadboard này đã hoàn thành.

Bước 4: Tiếp đất

Đất
Đất

Sử dụng một jumper khác để kết nối bo mạch GPIO J7 với đường ray nguồn nối đất.

Bước 5: Các nút

nút
nút

Sử dụng breadboard thứ hai, đặt đầu nút chuyển vào cổng E1 và D1, đặt một nút khác ở E5 và D5, và một nút thứ ba ở E9 và D9. Kết nối ba jumper từ đường ray nguồn dương trên bo mạch GPIO với các cổng sau breadboard (D3) (D7) (D11). Sử dụng thêm ba cáp jumper, kết nối breadboard với bảng mở rộng GPIO trong trang viên sau: (BB D1, GPIO J16) (BB D5, GPIO J18) (BB D9, GPIO J20). Cuối cùng, sử dụng cáp jumper cuối cùng, kết nối GPIO A1 với ray điện dương. Thiết lập vật lý hiện đã hoàn tất.

Bước 6: Mã

Mã số
Mã số
Mã số
Mã số

Kết nối cáp Ethernet và cáp nguồn với Pi và vào các vị trí tương ứng của chúng. Mở MATLAB và chạy tập lệnh sau để khởi chạy bộ điều khiển vi mô:

rpi = raspi ('169.254.0.2', 'pi', 'raspberry');

Sau đó, sao chép và dán phần sau vào một tập lệnh mới, được gọi là Ping, để chạy hệ thống phòng ngừa va chạm:

hàm dist = ping () trig = 19; echo = 13; kiểm tra = 21; configPin (rpi, trig, 'DigitalOutput'); configPin (rpi, echo, 'DigitalInput'); configPin (rpi, test, 'DigitalInput');

disp ("Đang tiến hành đo khoảng cách");

trong khi true writeDigitalPin (rpi, trig, 0); disp ("Cảm biến để lắng"); tạm dừng (2);

writeDigitalPin (rpi, trig, 1); tạm dừng (0,002); writeDigitalPin (rpi, trig, 0);

while readDigitalPin (rpi, echo) == 0 tic end

while readDigitalPin (rpi, echo) == 1 T = toc; kết thúc

xung_dão = T; khoảng cách = xung_dão * 17150;

open = "Khoảng cách ="; đóng = "cm"; string = [mở, khoảng cách, đóng]; disp (chuỗi); dist = khoảng cách; kết thúc cuối cùng

Trong một tập lệnh mới, hãy chạy trạng thái có tên mã sau:

configPin (rpi, 21, 'DigitalInput'); configPin (rpi, 16, 'DigitalInput'); configPin (rpi, 12, 'DigitalInput');

trạng thái = 2; d = 10; % Trạng thái: 0-Đỏ / Dừng 1-Xanh lam / Chậm 2-Xanh lá / Đang chạy = true; khi đang chạy% d = ping (); if readDigitalPin (rpi, 21) == 1 status = 0; elseif readDigitalPin (rpi, 16) == 1 trạng thái = 1; elseif readDigitalPin (rpi, 12) == 1 trạng thái = 2; elseif d

Đề xuất: