Πίνακας περιεχομένων:

Ασφαλέστερο καλύτερο: Κάνοντας πιο ασφαλείς τους σταθμούς των τρένων: 7 βήματα
Ασφαλέστερο καλύτερο: Κάνοντας πιο ασφαλείς τους σταθμούς των τρένων: 7 βήματα

Βίντεο: Ασφαλέστερο καλύτερο: Κάνοντας πιο ασφαλείς τους σταθμούς των τρένων: 7 βήματα

Βίντεο: Ασφαλέστερο καλύτερο: Κάνοντας πιο ασφαλείς τους σταθμούς των τρένων: 7 βήματα
Βίντεο: ΘΕΑΤΡΟ:"8 γυναίκες κατηγορούνται" του Ρομπέρ Τομά(ΑΣΤΥΝΟΜΙΚΟ) 2024, Ιούλιος
Anonim
Ασφαλέστερη καλύτερη: Κάνοντας ασφαλέστερους τους σταθμούς των τρένων
Ασφαλέστερη καλύτερη: Κάνοντας ασφαλέστερους τους σταθμούς των τρένων

Πολλοί σιδηροδρομικοί σταθμοί σήμερα δεν είναι ασφαλείς λόγω έλλειψης ασφάλειας, φραγμών και προειδοποίησης για το τρένο που έρχεται. Είδαμε την ανάγκη να διορθωθεί. Για να λύσουμε αυτό το πρόβλημα δημιουργήσαμε το Safer Better. Χρησιμοποιήσαμε αισθητήρες δόνησης, αισθητήρες κίνησης και σύστημα συναγερμού έκτακτης ανάγκης σε ένα Arduino Uno για να προσθέσουμε ασφάλεια σε έναν σιδηροδρομικό σταθμό.

Απαιτούμενα αναλώσιμα:

  • Arduino Uno
  • Jumper Wires
  • Αισθητήρας κίνησης PIR
  • Αισθητήρας δόνησης Piezo
  • Οθόνη LCD
  • Ηχείο Piezo
  • Φυσικός διακόπτης
  • Μαλακό Ποτενσιόμετρο
  • Αντίσταση 330 ohm

Από: Jacob Wimmer, Olivia Crawley, Jin Kim

Βήμα 1: Καλωδίωση του πίνακα

Καλώδιο του πίνακα
Καλώδιο του πίνακα

Συνδέσαμε το Arduino μας όπως το παραπάνω διάγραμμα.

Βήμα 2: Βάση LCD εκτύπωσης 3D

Τρισδιάστατη βάση εκτύπωσης LCD
Τρισδιάστατη βάση εκτύπωσης LCD

Εκτυπώσαμε 3D μια βάση για την οθόνη LCD μας για καλύτερη ορατότητα.

Βήμα 3: Συνδεθείτε στο Arduino στο Matlab

Το πρώτο βήμα για τη σύνταξη του κώδικα ήταν να συνδέσουμε τον πίνακα Arduino στο Matlab. Αυτό γίνεται με τη δημιουργία ενός αντικειμένου Arduino. Χρησιμοποιήσαμε τον ακόλουθο κώδικα:

a = arduino ('/dev/tty.usbmodem14201', 'Uno', 'βιβλιοθήκες', 'ΠαράδειγμαLCD/LCDAddon');

Βήμα 4: Γράψτε κώδικα στο Matlab

Δημιουργήσαμε ένα πρόγραμμα στο Matlab για να τρέξουμε το Arduino μας. Αφού προετοιμάσαμε την οθόνη LCD, γράψαμε κώδικα για τον έλεγχο του σιδηροδρομικού μας σταθμού. Χρησιμοποιήσαμε εισόδους όπως αισθητήρα δόνησης, αισθητήρα κίνησης και φυσικό διακόπτη για να παράγουμε μια ποικιλία εξόδων. Αυτές οι είσοδοι, οι έξοδοι και ο αντίστοιχος κώδικας θα εξηγηθούν στα παρακάτω βήματα.

Βήμα 5: Αισθητήρας δόνησης

Αισθητήρας δόνησης
Αισθητήρας δόνησης

Ο αισθητήρας δόνησης είναι ένας αναλογικός αισθητήρας και ως εκ τούτου χρησιμοποίησε τη λειτουργία Matlab readVoltage.

val_vibro = readVoltage (a, 'A0'); Τ

Η λειτουργία readVoltage επέστρεψε ένα εύρος τιμών, αλλά προσδιορίσαμε ότι μια τιμή πάνω από 0,5 ήταν μια αξιοπρεπής δόνηση και έτσι το χρησιμοποιήσαμε ως βασική τιμή. Εάν η τάση ήταν πάνω από 0,5, σημαίνει ότι το τρένο μπαίνει στο σταθμό. Όταν εντοπιστεί αυτή η τιμή, αποστέλλεται ένα μήνυμα στην οθόνη LCD. Το μήνυμα στην οθόνη LCD είναι ένας τρόπος επικοινωνίας στους ανθρώπους του σταθμού ότι έρχεται ένα τρένο.

Γράψαμε στην οθόνη LCD χρησιμοποιώντας τον ακόλουθο κώδικα:

αν val_vibro <= 0,5;

elseif val_vibro> 0,5;

printLCD (lcd, 'Train In 3 Min');

τέλος

Βήμα 6: Αισθητήρας κίνησης PIR

Αισθητήρας κίνησης PIR
Αισθητήρας κίνησης PIR
Αισθητήρας κίνησης PIR
Αισθητήρας κίνησης PIR
Αισθητήρας κίνησης PIR
Αισθητήρας κίνησης PIR

Ο αισθητήρας κίνησης PIR χρησιμοποιείται για να διασφαλίσει ότι ο χειριστής γνωρίζει εμπόδια κατά μήκος των γραμμών του τρένου. Ο αισθητήρας τραβά φωτογραφίες και συγκρίνει την πιο πρόσφατη εικόνα με την τελευταία που τραβήχτηκε και αν κάτι έχει μετακινηθεί, το Matlab θα επιστρέψει μια τιμή 1. Όταν εντοπιστεί κάτι στα ίχνη, εμφανίζεται μια γραφική διεπαφή χρήστη (GUI) για να ειδοποιήσει τον χειριστή του τρένου ότι κάτι είναι στις πίστες. Ο χειριστής έχει τότε την επιλογή να σταματήσει το τρένο ή να συνεχίσει. Αφού ορίσετε την επιθυμητή επιλογή, εμφανίζεται ένα μήνυμα επιβεβαίωσης.

Ο ακόλουθος κωδικός χρησιμοποιήθηκε για τον αισθητήρα κίνησης:

αν val_opt == 1;

d1 = 'Εντοπίστηκε ένα αντικείμενο στα ίχνη του σταθμού';

op_input = questdlg (d1, 'Operator Message', 'Stop Train', 'Keep Moving', 'Keep Moving');

b1 = strcmp (op_input, 'Stop Train');

b2 = strcmp (op_input, 'Keep Moving');

αν b1 == 1

msgbox ('Train Stopping')

παύση (3)

elseif b2 == 1

msgbox ('Συνεχίζεται το τρένο')

παύση (3)

τέλος

elseif val_opt == 0;

τέλος

Βήμα 7: Φυσική αλλαγή

Πιστεύουμε επίσης ότι οι σιδηροδρομικοί σταθμοί πρέπει να έχουν περισσότερα χαρακτηριστικά ασφαλείας. Αποφασίσαμε να έχουμε έναν διακόπτη που θα σήμανε συναγερμό στο σταθμό. Αυτό το κάναμε χρησιμοποιώντας έναν φυσικό διακόπτη. Όταν αυτός ο διακόπτης είναι ενεργοποιημένος, ακούγεται ένας συναγερμός μέσω ενός ηχείου.

Το κάναμε με τον ακόλουθο κώδικα:

αν s_val == 1 για i = 1:10

playTone (a, 'D10', 1800, 1)

παύση (.1)

playTone (a, 'D10', 2000, 1)

παύση (.1)

τέλος

τέλος

Συνιστάται: