Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Bu gün bir çox qatar stansiyası təhlükəsizlik, maneələr və içəri girən qatar xəbərdarlığı olmadığı üçün təhlükəli vəziyyətdədir. Bunun aradan qaldırılmasına ehtiyac gördük. Bu problemi həll etmək üçün Safer Better yaratdıq. Bir qatar stansiyasına təhlükəsizlik əlavə etmək üçün bir Arduino Uno -da titrəmə, hərəkət sensoru və təcili siqnalizasiya sistemindən istifadə etdik.
Lazım olan təchizatlar:
- Arduino Uno
- Jumper telləri
- PIR Hərəkət Sensoru
- Piezo Titrəmə Sensoru
- LCD Ekran
- Piezo Dinamik
- Fiziki keçid
- Yumşaq Potansiyometr
- 330 ohm müqavimət
Müəllif: Jacob Wimmer, Olivia Crawley, Jin Kim
Addım 1: lövhəni bağlayın
Arduinomuzu yuxarıdakı diaqram kimi bağladıq.
Addım 2: 3D Çaplı LCD Stand
Daha yaxşı görünürlük üçün LCD ekranımız üçün bir stend 3D çap etdik.
Addım 3: Matlab -da Arduino -ya qoşulun
Kod yazmağın ilk addımı Arduino lövhəmizi Matlab -a bağlamaq oldu. Bu bir Arduino obyekti yaratmaqla edilir. Aşağıdakı kodu istifadə etdik:
a = arduino ('/dev/tty.usbmodem14201', 'Uno', 'libraries', 'ExampleLCD/LCDAddon');
Addım 4: Matlab -da Kod yazın
Matlab -da Arduinomuzu işə salmaq üçün bir proqram yaratdıq. LCD ekranı işə saldıqdan sonra qatar stansiyamızı idarə etmək üçün kod yazdıq. Müxtəlif çıxışlar istehsal etmək üçün vibrasiya sensoru, hərəkət sensoru və fiziki keçid kimi girişlərdən istifadə etdik. Bu girişlər, çıxışlar və müvafiq kod aşağıdakı addımlarda izah ediləcəkdir.
Addım 5: Titrəmə Sensoru
Titrəmə sensoru analoq bir sensordur və buna görə Matlab funksiyası readVoltage istifadə olunur.
val_vibro = readVoltage (a, 'A0'); T
readVoltage funksiyası bir sıra dəyərlər qaytardı, ancaq 0,5 -dən yuxarı olan bir dəyərin yaxşı bir titrəmə olduğunu təyin etdik və buna görə də bunu əsas dəyərimiz olaraq istifadə etdik. Gərginlik 0,5 -dən yuxarı olsaydı, bu, qatarın stansiyaya gəldiyini bildirir. Bu dəyər aşkar edildikdə LCD ekrana bir mesaj göndərilir. LCD ekrandakı mesaj, stansiyadakı insanlara bir qatarın gəldiyini bildirmək üçün bir yoldur.
Aşağıdakı kodu istifadə edərək LCD ekranda yazdıq:
əgər val_vibro <= 0.5;
elseif val_vibro> 0.5;
printLCD (lcd, '3 Dəqiqədə Qatar');
bitmək
Addım 6: PIR Hərəkət Sensoru
PIR hərəkət sensoru, operatorun qatar yolları boyunca maneələri bilməsini təmin etmək üçün istifadə olunur. Sensor şəkil çəkir və ən yeni şəkli son çəkilənlə müqayisə edir və bir şey hərəkət etsə Matlab 1 dəyərini qaytaracaq cığırdadır. Operator daha sonra qatarı dayandırmaq və ya davam etmək imkanına malikdir. İstədiyiniz seçimi seçdikdən sonra bir təsdiq mesajı görünür.
Hərəkət sensoru üçün aşağıdakı kod istifadə edilmişdir:
əgər val_opt == 1;
d1 = 'Stansiyadakı relslərdə bir obyekt aşkarlandı';
op_input = questdlg (d1, 'Operator Mesajı', 'Traini Durdur', 'Hərəkətə Davam et', 'Hərəkətə davam et');
b1 = strcmp (op_input, 'Stop Train');
b2 = strcmp (op_input, 'Hərəkətə davam et');
b1 == 1 olarsa
msgbox ('Train Stopping')
fasilə (3)
başqa b2 == 1
msgbox ('Qatar Davam edir')
fasilə (3)
bitmək
elseif val_opt == 0;
bitmək
Addım 7: Fiziki keçid
Qatar stansiyalarının daha çox təhlükəsizlik xüsusiyyətinə sahib olması lazım olduğunu da düşünürük. Stansiyada həyəcan siqnalı verən bir keçid almağa qərar verdik. Fiziki keçiddən istifadə edərək bunu etdik. Bu açar açıldıqda dinamikdən səs siqnalı eşidilir.
Bunu aşağıdakı kodla etdik:
i = 1:10 üçün s_val == 1 olarsa
playTone (a, 'D10', 1800, 1)
fasilə (.1)
playTone (a, 'D10', 2000, 1)
fasilə (.1)
bitmək
bitmək