INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Baie treinstasies vandag is onveilig weens 'n gebrek aan veiligheid, versperrings en waarskuwing dat die trein binnekom. Ons het 'n behoefte gesien om dit reg te stel. Om hierdie probleem op te los, het ons Safer Better geskep. Ons het vibrasiesensors, bewegingsensors en 'n noodalarmstelsel op 'n Arduino Uno gebruik om veiligheid by 'n treinstasie te gee.
Benodighede benodig:
- Arduino Uno
- Jumper Wires
- PIR bewegingsensor
- Piezo -vibrasiesensor
- LCD skerm
- Piezo -spreker
- Fisiese skakelaar
- Sagte potensiometer
- 330 ohm weerstand
Deur: Jacob Wimmer, Olivia Crawley, Jin Kim
Stap 1: Bedraad die bord
Ons het ons Arduino bedraad soos die diagram hierbo.
Stap 2: 3D -druk LCD -staander
Ons het 'n standaard vir ons LCD -skerm gedruk vir 'n beter sigbaarheid.
Stap 3: Koppel aan Arduino in Matlab
Die eerste stap om ons kode te skryf, was om ons Arduino -bord aan Matlab te koppel. Dit word gedoen deur 'n Arduino -voorwerp te skep. Ons het die volgende kode gebruik:
a = arduino ('/dev/tty.usbmodem14201', 'Uno', 'biblioteke', 'VoorbeeldLCD/LCDAddon');
Stap 4: Skryf kode in Matlab
Ons het 'n program in Matlab geskep om ons Arduino te bestuur. Nadat ons ons LCD -skerm geïnitialiseer het, het ons kode geskryf om ons treinstasie te beheer. Ons het insette soos 'n vibrasiesensor, bewegingsensor en fisiese skakelaar gebruik om 'n verskeidenheid uitsette te lewer. Hierdie insette, uitsette en ooreenstemmende kode sal in die onderstaande stappe verduidelik word.
Stap 5: Trillingsensor
Die vibrasiesensor is 'n analoog sensor en het daarom die Matlab -funksie readVoltage gebruik.
val_vibro = readVoltage (a, 'A0'); T
die readVoltage -funksie het 'n reeks waardes teruggegee, maar ons het vasgestel dat 'n waarde bo 0,5 'n behoorlike vibrasie is, en daarom gebruik ons dit as ons basiswaarde. As die spanning bo 0,5 was, beteken dit dat die trein die stasie binnekom. As hierdie waarde opgespoor is, word 'n boodskap na die LCD -skerm gestuur. Die boodskap op die LCD -skerm is 'n manier om aan mense by die stasie te kommunikeer dat 'n trein kom.
Ons het op ons LCD -skerm geskryf met behulp van die volgende kode:
as val_vibro <= 0,5;
elseif val_vibro> 0.5;
printLCD (lcd, 'Train In 3 Min');
einde
Stap 6: PIR -bewegingsensor
Die PIR -bewegingsensor word gebruik om te verseker dat die operateur van hindernisse langs die treinspore weet. Die sensor neem foto's en vergelyk die nuutste foto met die laaste wat geneem is, en as iets beweeg het, gee Matlab 'n waarde van 1. As iets op die spore opgespoor word, verskyn 'n grafiese gebruikerskoppelvlak (GUI) om die treinoperateur in kennis te stel dat iets is op die spore. Die operateur het dan die opsie om die trein te stop of om voort te gaan. Nadat u die gewenste opsie gekies het, word 'n bevestigingsboodskap vertoon.
Die volgende kode is gebruik vir die bewegingsensor:
as val_opt == 1;
d1 = ''n Voorwerp is op die spore in die stasie opgespoor';
op_input = questdlg (d1, 'Operator Message', 'Stop Train', 'Keep Moving', 'Keep Moving');
b1 = strcmp (op_input, 'Stop Train');
b2 = strcmp (op_input, 'Keep Moving');
as b1 == 1
msgbox ('Treinstop')
pouse (3)
andersif b2 == 1
msgbox ('Trein word voortgesit')
pouse (3)
einde
elseif val_opt == 0;
einde
Stap 7: Fisiese skakelaar
Ons dink ook dat treinstasies meer sekuriteitsfunksies moet hê. Ons het besluit om 'n skakelaar te hê wat 'n alarm by die stasie sou laat klink. Ons het dit gedoen deur 'n fisiese skakelaar te gebruik. As hierdie skakelaar aangeskakel word, klink 'n alarm deur 'n luidspreker.
Ons het dit gedoen met die volgende kode:
as s_val == 1 vir i = 1:10
playTone (a, 'D10', 1800, 1)
pouse (.1)
playTone (a, 'D10', 2000, 1)
pouse (.1)
einde
einde