Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Aujourd'hui, de nombreuses gares ne sont pas sûres en raison d'un manque de sécurité, de barrières et d'avertissements de l'arrivée du train. Nous avons constaté qu'il était nécessaire que cela soit corrigé. Afin de résoudre ce problème, nous avons créé Safer Better. Nous avons utilisé des capteurs de vibrations, des capteurs de mouvement et un système d'alarme d'urgence sur un Arduino Uno pour renforcer la sécurité d'une gare.
Fournitures nécessaires:
- Arduino Uno
- Fils de cavalier
- Capteur de mouvement PIR
- Capteur de vibrations piézo
- Écran LCD
- Haut-parleur piézo
- Commutateur physique
- Potentiomètre souple
- résistance de 330 ohms
Par: Jacob Wimmer, Olivia Crawley, Jin Kim
Étape 1: câbler la carte
Nous avons câblé notre Arduino comme le schéma ci-dessus.
Étape 2: Support LCD d'impression 3D
Nous avons imprimé en 3D un support pour notre écran LCD pour une meilleure visibilité.
Étape 3: Connectez-vous à Arduino dans Matlab
La première étape de l'écriture de notre code a été de connecter notre carte Arduino à Matlab. Cela se fait en créant un objet Arduino. Nous avons utilisé le code suivant:
a = arduino('/dev/tty.usbmodem14201', 'Uno', 'bibliothèques', 'ExampleLCD/LCDAddon');
Étape 4: Écrire du code dans Matlab
Nous avons créé un programme en Matlab pour exécuter notre Arduino. Après avoir initialisé notre écran LCD, nous avons écrit du code pour contrôler notre gare. Nous avons utilisé des entrées telles qu'un capteur de vibration, un capteur de mouvement et un commutateur physique pour produire une variété de sorties. Ces entrées, sorties et le code correspondant seront expliqués dans les étapes ci-dessous.
Étape 5: Capteur de vibrations
Le capteur de vibration est un capteur analogique et utilise donc la fonction Matlab readVoltage.
val_vibro = readVoltage(a, 'A0'); T
La fonction readVoltage a renvoyé une plage de valeurs, mais nous avons déterminé qu'une valeur supérieure à 0,5 était une vibration décente et nous l'avons donc utilisée comme valeur de base. Si la tension était supérieure à 0,5, cela signifie que le train arrive en gare. Lorsque cette valeur a été détectée, un message est envoyé à l'écran LCD. Le message sur l'écran LCD est un moyen de communiquer aux personnes à la gare qu'un train arrive.
Nous avons écrit sur notre écran LCD en utilisant le code suivant:
si val_vibro <= 0.5;
sinon si val_vibro > 0.5;
printLCD(lcd, 'Entraînement en 3 minutes');
finir
Étape 6: Capteur de mouvement PIR
Le capteur de mouvement PIR est utilisé pour s'assurer que l'opérateur connaît les obstacles le long des voies ferrées. Le capteur prend des photos et compare la dernière photo à la dernière prise et si quelque chose a bougé, Matlab renverra une valeur de 1. Lorsque quelque chose est détecté sur les voies, une interface utilisateur graphique (GUI) apparaît pour informer l'opérateur du train que quelque chose est sur les rails. L'opérateur a alors la possibilité d'arrêter le train ou de continuer. Après avoir sélectionné l'option souhaitée, un message de confirmation s'affiche.
Le code suivant a été utilisé pour le détecteur de mouvement:
si val_opt == 1;
d1 = 'Un objet a été détecté sur les voies de la gare';
op_input = questdlg(d1, 'Message de l'opérateur', 'Arrêter le train', 'Continuer à avancer', 'Continuer à avancer');
b1 = strcmp(op_input, 'Arrêter le train');
b2 = strcmp(op_input, 'Continuer à bouger');
si b1 == 1
msgbox('Arrêt du train')
pause(3)
sinon b2 == 1
msgbox('Train continue')
pause(3)
finir
elseif val_opt == 0;
finir
Étape 7: commutateur physique
Nous pensons également que les gares doivent avoir plus de dispositifs de sécurité. Nous avons décidé d'avoir un interrupteur qui déclencherait une alarme à la gare. Nous l'avons fait en utilisant un commutateur physique. Lorsque ce commutateur est activé, une alarme retentit via un haut-parleur.
Nous l'avons fait avec le code suivant:
si s_val == 1 pour i = 1:10
playTone(a, 'D10', 1800, 1)
pause(.1)
playTone(a, 'D10', 2000, 1)
pause(.1)
finir
finir