Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Shumë stacione trenash sot janë të pasigurt për shkak të mungesës së sigurisë, barrierave dhe paralajmërimit të trenit që vjen. Ne pamë një nevojë që kjo të rregullohet. Për të zgjidhur këtë problem, ne krijuam Safer Better. Ne përdorëm sensorë dridhjeje, sensorë lëvizjeje dhe një sistem alarmi emergjence në një Arduino Uno për të shtuar sigurinë në një stacion treni.
Furnizimet e nevojshme:
- Arduino Uno
- Telat Jumper
- Sensori i lëvizjes PIR
- Sensori i dridhjeve Piezo
- Ekran LCD
- Altoparlanti Piezo
- Ndërrimi fizik
- Potenciometër i butë
- Rezistencë 330 ohm
Nga: Jacob Wimmer, Olivia Crawley, Jin Kim
Hapi 1: Lidhni bordin
Ne e lidhëm Arduino -n tonë si diagramin e mësipërm.
Hapi 2: Qëndrim LCD i printimit 3D
Ne shtypëm 3D një stendë për ekranin tonë LCD për shikueshmëri më të mirë.
Hapi 3: Lidhuni me Arduino në Matlab
Hapi i parë për të shkruar kodin tonë ishte lidhja e bordit tonë Arduino me Matlab. Kjo bëhet duke krijuar një objekt Arduino. Ne përdorëm kodin e mëposhtëm:
a = arduino ('/dev/tty.usbmodem14201', 'Uno', 'biblioteka', 'ShembullLCD/LCDAddon');
Hapi 4: Shkruani kodin në Matlab
Ne krijuam një program në Matlab për të drejtuar Arduino -n tonë. Pas fillimit të ekranit tonë LCD, ne shkruam kodin për të kontrolluar stacionin tonë të trenit. Ne përdorëm hyrje të tilla si një sensor dridhjeje, një sensor lëvizjeje dhe një ndërprerës fizik për të prodhuar një larmi daljesh. Këto hyrje, dalje dhe kodi përkatës do të shpjegohen në hapat e mëposhtëm.
Hapi 5: Sensori i dridhjeve
Sensori i dridhjeve është një sensor analog dhe për këtë arsye ka përdorur funksionin Matlab readVoltage.
val_vibro = readVoltage (a, 'A0'); T
funksioni i leximit të tensionit ktheu një sërë vlerash, por ne përcaktuam se një vlerë mbi 0.5 ishte një dridhje e mirë dhe kështu e përdorëm atë si vlerë bazë. Nëse tensioni ishte mbi 0.5, kjo do të thotë se treni po vjen në stacion. Kur kjo vlerë u zbulua, një mesazh dërgohet në ekranin LCD. Mesazhi në ekranin LCD është një mënyrë për të komunikuar me njerëzit në stacion se një tren po vjen.
Ne kemi shkruar në ekranin tonë LCD duke përdorur kodin e mëposhtëm:
nëse val_vibro <= 0.5;
elseif val_vibro> 0.5;
printLCD (lcd, 'Train In 3 Min');
fund
Hapi 6: Sensori i lëvizjes PIR
Sensori i lëvizjes PIR përdoret për të siguruar që operatori të dijë për pengesat përgjatë shinave të trenit. Sensori merr fotografi dhe krahason fotografinë më të re me atë të fundit të bërë dhe nëse diçka ka lëvizur Matlab do të kthejë një vlerë 1. Kur diçka zbulohet në shinat, një ndërfaqe grafike e përdoruesit (GUI) shfaqet për të njoftuar operatorin e trenit se diçka është në binarë. Operatori pastaj ka mundësinë të ndalojë trenin ose të vazhdojë. Pas zgjedhjes së opsionit të dëshiruar, shfaqet një mesazh konfirmimi.
Kodi i mëposhtëm është përdorur për sensorin e lëvizjes:
nëse val_opt == 1;
d1 = 'Një objekt është zbuluar në shinat në stacion';
op_input = questdlg (d1, 'Mesazhi i Operatorit', 'Ndal Treni', 'Vazhdoni të Lëvizni', 'Vazhdoni të Lëvizni');
b1 = strcmp (op_input, 'Stop Train');
b2 = strcmp (op_input, 'Vazhdoni të Lëvizni');
nëse b1 == 1
msgbox ('Treni ndalon')
pauzë (3)
elseif b2 == 1
msgbox ('Treni vazhdon')
pauzë (3)
fund
elseif val_opt == 0;
fund
Hapi 7: Kalimi fizik
Ne gjithashtu mendojmë se stacionet e trenit duhet të kenë më shumë veçori sigurie. Ne vendosëm të kishim një ndërprerës që do të jepte një alarm në stacion. Ne e bëmë këtë duke përdorur një ndërprerës fizik. Kur ky çelës është i ndezur, një alarm bie përmes një altoparlanti.
Ne e bëmë këtë me kodin e mëposhtëm:
nëse s_val == 1 për i = 1:10
playTone (a, 'D10', 1800, 1)
pauzë (.1)
playTone (a, 'D10', 2000, 1)
pauzë (.1)
fund
fund