İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Bugün birçok tren istasyonu, güvenlik eksikliği, bariyerler ve gelen trenin uyarısı nedeniyle güvensiz. Bunun düzeltilmesi gerektiğini gördük. Bu sorunu çözmek için Safer Better'ı yarattık. Bir tren istasyonuna güvenlik eklemek için Arduino Uno'da titreşim sensörleri, hareket sensörleri ve acil durum alarm sistemi kullandık.
Ihtiyaç duyulan malzemeler:
- Arduino Uno
- Jumper Telleri
- PIR Hareket Sensörü
- Piezo Titreşim Sensörü
- LCD ekran
- Piezo Hoparlör
- Fiziksel Anahtar
- Yumuşak Potansiyometre
- 330 ohm direnç
Yazan: Jacob Wimmer, Olivia Crawley, Jin Kim
Adım 1: Kartı Kablolayın
Arduino'muzu yukarıdaki şema gibi bağladık.
2. Adım: 3D Baskı LCD Standı
Daha iyi görünürlük için LCD ekranımızın standını 3D olarak bastık.
Adım 3: Matlab'da Arduino'ya bağlanın
Kodumuzu yazmanın ilk adımı Arduino kartımızı Matlab'a bağlamaktı. Bu, bir Arduino nesnesi oluşturarak yapılır. Aşağıdaki kodu kullandık:
a = arduino('/dev/tty.usbmodem14201', 'Uno', 'kütüphaneler', 'ÖrnekLCD/LCDAddon');
Adım 4: Matlab'da Kod Yazın
Arduino'muzu çalıştırmak için Matlab'da bir program oluşturduk. LCD ekranımızı başlattıktan sonra tren istasyonumuzu kontrol etmek için kod yazdık. Çeşitli çıktılar üretmek için titreşim sensörü, hareket sensörü ve fiziksel anahtar gibi girdiler kullandık. Bu girişler, çıkışlar ve karşılık gelen kod aşağıdaki adımlarda açıklanacaktır.
Adım 5: Titreşim Sensörü
Titreşim sensörü bir analog sensördür ve bu nedenle Matlab fonksiyonu readVoltage kullanılmıştır.
val_vibro = readVoltage(a, 'A0'); T
readVoltage işlevi bir dizi değer döndürdü, ancak 0,5'in üzerindeki bir değerin iyi bir titreşim olduğunu belirledik ve bunu temel değerimiz olarak kullandık. Voltaj 0,5'in üzerindeyse, tren istasyona geliyor demektir. Bu değer algılandığında LCD ekrana bir mesaj gönderilir. LCD ekrandaki mesaj, istasyondaki insanlara bir trenin geldiğini haber vermenin bir yoludur.
Aşağıdaki kodu kullanarak LCD ekranımıza yazdık:
eğer val_vibro <= 0,5;
elseif val_vibro > 0,5;
printLCD(lcd, '3 Dakikada Tren');
son
Adım 6: PIR Hareket Sensörü
PIR hareket sensörü, operatörün tren rayları üzerindeki engelleri bilmesini sağlamak için kullanılır. Sensör resimleri çeker ve en yeni resmi çekilen son resimle karşılaştırır ve herhangi bir şey hareket ederse Matlab 1 değerini döndürür. Raylarda bir şey algılandığında, tren operatörüne bir şey olduğunu bildirmek için bir grafik kullanıcı arayüzü (GUI) açılır. raylarda. Operatör daha sonra treni durdurma veya devam etme seçeneğine sahiptir. İstenen seçeneği seçtikten sonra bir onay mesajı görüntülenir.
Hareket sensörü için aşağıdaki kod kullanıldı:
eğer val_opt == 1;
d1 = 'İstasyondaki raylarda bir nesne algılandı';
op_input = questdlg(d1, 'Operatör Mesajı', 'Treni Durdur', 'Hareket Etmeye Devam Et', 'Hareket Etmeye Devam Et');
b1 = strcmp(op_input, 'Treni Durdur');
b2 = strcmp(op_input, 'Devam Et');
eğer b1 == 1
msgbox('Tren Durdurma')
duraklat(3)
yoksa b2 == 1
msgbox('Tren Devam Ediyor')
duraklat(3)
son
elseif val_opt == 0;
son
Adım 7: Fiziksel Anahtar
Ayrıca tren istasyonlarının daha fazla güvenlik özelliğine sahip olması gerektiğini düşünüyoruz. İstasyonda alarm çalacak bir anahtara sahip olmaya karar verdik. Bunu fiziksel bir anahtar kullanarak yaptık. Bu anahtar açıldığında, bir hoparlörden bir alarm çalar.
Bunu aşağıdaki kodla yaptık:
if s_val == 1 için i = 1:10
playTone(a, 'D10', 1800, 1)
duraklat(.1)
playTone(a, 'D10', 2000, 1)
duraklat(.1)
son
son