Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Tài liệu hướng dẫn này sẽ hướng dẫn bạn cách tạo hệ thống đèn để cảnh báo hành khách đang chờ khi tàu đang đến gần và cũng như cách nhận thông báo xuất hiện trên máy tính xách tay khi tàu đến ga. Âm thanh khi tàu đi qua ga sẽ được tạo ra cùng với một loạt đèn LED nhấp nháy. Tất cả những điều này có thể được thực hiện bằng Raspberry Pi.
Bước 1: Nguồn cung cấp
Một máy tính
MatLab 2016 hoặc mới hơn
Tải xuống gói Raspberry Pi
máy in 3D
Ga xe lửa in 3D để chứa quả mâm xôi pi
Raspberry Pi với các thành phần sau:
2 cảm biến hồng ngoại
5 đèn LED tùy chọn màu sắc của bạn
11 dây
2 điện trở
Điện trở 200-300 Ohm
USB Chord để kết nối máy tính với raspberry pi
Bước 2: Thiết kế mạch cho các đầu ra và đầu vào mong muốn
Sử dụng mạch cơ bản, đèn và bộ thu và phát hồng ngoại phải được kết nối với Raspberry Pi. Đèn LED đỏ được nối với đất và sau đó được kết nối với các chân GPIO 4, 5, 6 và 7. Bộ thu hồng ngoại được kết nối với chân GPIO 21 và bộ phát hồng ngoại được kết nối với chân 5V.
Bước 3: Phát triển mã hóa để đáp ứng kết quả mong muốn
Các dòng quan trọng nhất của mã là dòng 12 và 16 khởi chạy các hộp thoại. Dòng 18, câu lệnh if, đang đọc nếu các cảm biến hồng ngoại có vật cản giữa chúng và nếu chúng bị cản trở thì điều đó có nghĩa là tàu đang đi qua, còi sẽ kêu và đèn sẽ bật. Nếu tuyên bố sai sẽ không có gì xảy ra vì tàu không đến gần.
Mã: %% Header
% Dự án vi điều khiển-Chuyến tàu đêm
% John Brown, Trent Payne, Karsten Parker; Phần 9
% 3 tháng 10, 2017
% Mô tả dự án: Thiết kế một bộ vi điều khiển có hai đầu vào và
% tạo ra hai đầu ra để giúp cải thiện các khía cạnh của thiết lập tàu mô hình
% Giải pháp Phương pháp: Sử dụng các tài nguyên khác nhau và Matlab để cải thiện các khía cạnh của
% thiết lập tàu mô hình.
%% Thiết lập-Đầu vào / Đầu ra Đầu tiên
trong khi đúng
a = 0;% khởi tạo a
trong khi readDigitalPin (rpi, 21) == 1
a = 1;% dừng mã đèn chạy trước mã hộp thoại câu hỏi
question = ('Tàu đang dừng ở ga. Bạn có muốn bóp còi không?');
question_title = ('Còi xe lửa');
resp = questdlg (question, question_title, 'yes', 'no', 'no');% bật lên hộp thoại câu hỏi với hai tùy chọn và một câu trả lời mặc định
tf = strcmp (resp, 'yes');% so sánh độ dài mảng ký tự phản hồi với mảng ký tự có.
nếu tf == 1% nếu resp = 'có'
[Y, FS] = audioread ('train_horn.m4a');% lấy tệp âm thanh và chuyển đổi nó thành dữ liệu mẫu, y và tốc độ lấy mẫu, FS.
Lệnh âm thanh sound (Y, FS)% lấy dữ liệu được lấy mẫu và tốc độ lấy mẫu và tạo ra âm thanh
msgbox ('Còi tàu đang kêu!')
tạm dừng (2)
nghỉ
else% if resp = 'no', tf sẽ là logic 0 vì không và có, các mảng char có độ dài khác nhau
msgbox ('Kèn tàu không kêu!')
tạm dừng (2)
nghỉ
kết thúc
kết thúc
while readDigitalPin (rpi, 21) == 1 && a == 1% bắt đầu vòng lặp while trong khi bật công tắc và hộp thoại câu hỏi đã chạy
% Đoạn mã đầu tiên này bật đèn theo thứ tự.
writeDigitalPin (rpi, 4, 0)
tạm dừng (0,25)
writeDigitalPin (rpi, 5, 0)
tạm dừng (0,25)
writeDigitalPin (rpi, 6, 0)
tạm dừng (0,25)
writeDigitalPin (rpi, 7, 0)
tạm dừng (0,25)
% Đoạn mã thứ hai này tắt đèn theo thứ tự.
writeDigitalPin (rpi, 4, 1)
tạm dừng (0,25)
writeDigitalPin (rpi, 5, 1)
tạm dừng (0,25)
writeDigitalPin (rpi, 6, 1)
tạm dừng (0,25)
writeDigitalPin (rpi, 7, 1)
tạm dừng (0,25)
end% end while vòng lặp
kết thúc
Bước 4: Lắng nghe con tàu đến quanh góc, và quan sát khi ánh sáng cảnh báo bạn lùi lại
Khi tàu đến gần và vượt qua cảm biến hồng ngoại, đèn sẽ tắt, còi tàu tắt để hành khách bước ra khỏi mép tàu; tuy nhiên, cũng sẽ có một hộp thoại bật lên hỏi người điều khiển tàu, "Tàu đang đến gần ga, tàu đang dừng?", sau đó một giây ghi "Còi tàu đang kêu", và nếu còi thì không. kéo, một hộp thoại thứ ba sẽ cho biết, "còi không được kêu."
Bước 5: Thiết lập cuối cùng
Để hoàn thành dự án, toàn bộ hệ thống nên được kết hợp thành ga xe lửa màu xanh lam đã được In 3D để tăng tính thẩm mỹ. Ga xe lửa tượng trưng cho nơi hành khách sẽ đến khi tàu đến. Giờ đây, họ sẽ được an toàn nhờ hệ thống cảnh báo Tàu đêm.