Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Številne železniške postaje danes niso varne zaradi pomanjkanja varnosti, ovir in opozarjanja na prihod vlaka. Videli smo, da je treba to popraviti. Za rešitev tega problema smo ustvarili Varnejše bolje. Za večjo varnost železniške postaje smo uporabili senzorje vibracij, senzorje gibanja in alarmni sistem v sili.
Potrebne zaloge:
- Arduino Uno
- Mostične žice
- Senzor gibanja PIR
- Piezo senzor vibracij
- LCD zaslon
- Piezo zvočnik
- Fizično stikalo
- Mehki potenciometer
- 330 ohmski upor
Avtor: Jacob Wimmer, Olivia Crawley, Jin Kim
1. korak: Ožičite ploščo
Arduino smo povezali tako kot zgornji diagram.
2. korak: stojalo za LCD -tiskanje s 3D -tiskanjem
Za boljšo vidljivost smo 3D natisnili stojalo za LCD zaslon.
3. korak: Povežite se z Arduinom v Matlabu
Prvi korak pri pisanju naše kode je bil povezati našo Arduino ploščo z Matlabom. To naredite tako, da ustvarite predmet Arduino. Uporabili smo naslednjo kodo:
a = arduino ('/dev/tty.usbmodem14201', 'Uno', 'knjižnice', 'PrimerLCD/LCDAddon');
4. korak: Napišite kodo v Matlab
V Matlabu smo ustvarili program za izvajanje našega Arduina. Po inicializaciji LCD zaslona smo napisali kodo za nadzor naše železniške postaje. Za izdelavo različnih izhodov smo uporabili vhode, kot so senzor vibracij, senzor gibanja in fizično stikalo. Ti vhodi, izhodi in ustrezna koda bodo pojasnjeni v spodnjih korakih.
5. korak: Senzor vibracij
Senzor vibracij je analogni senzor in zato uporablja funkcijo Matlab readVoltage.
val_vibro = readVoltage (a, 'A0'); T
Funkcija readVoltage je vrnila obseg vrednosti, vendar smo ugotovili, da je vrednost nad 0,5 spodobna vibracija, zato smo to uporabili kot osnovno vrednost. Če je bila napetost nad 0,5, to pomeni, da vlak prihaja na postajo. Ko je ta vrednost zaznana, se na LCD zaslon pošlje sporočilo. Sporočilo na LCD zaslonu je način obveščanja ljudi na postaji, da prihaja vlak.
Na LCD zaslonu smo pisali z naslednjo kodo:
če je val_vibro <= 0,5;
elseif val_vibro> 0,5;
printLCD (lcd, 'Vlak v 3 minutah');
konec
6. korak: PIR senzor gibanja
Senzor gibanja PIR se uporablja za zagotovitev, da upravljavec pozna ovire na tirih vlaka. Senzor fotografira in primerja najnovejšo sliko z zadnjo posneto in če se je kaj premaknilo, bo Matlab vrnil vrednost 1. Ko se na tirih nekaj zazna, se prikaže grafični uporabniški vmesnik (GUI), ki obvesti vlakovca, da nekaj je na tirih. Operater ima nato možnost ustaviti vlak ali nadaljevati. Ko izberete želeno možnost, se prikaže potrditveno sporočilo.
Za senzor gibanja je bila uporabljena naslednja koda:
če je val_opt == 1;
d1 = 'Na tirih na postaji je bil zaznan predmet';
op_input = questdlg (d1, 'Operater Message', 'Stop Train', 'Keep Moving', 'Keep Moving');
b1 = strcmp (op_input, 'Ustavi vlak');
b2 = strcmp (op_input, 'Nadaljuj');
če je b1 == 1
msgbox ('Ustavljanje vlaka')
premor (3)
sicer b2 == 1
msgbox ('Vlak se nadaljuje')
premor (3)
konec
elseif val_opt == 0;
konec
7. korak: Fizično stikalo
Menimo tudi, da morajo železniške postaje imeti več varnostnih funkcij. Odločili smo se, da imamo na postaji stikalo, ki bo sprožilo alarm. To smo storili s fizičnim stikalom. Ko je stikalo vklopljeno, se skozi zvočnik oglasi alarm.
To smo naredili z naslednjo kodo:
če je s_val == 1 za i = 1:10
playTone (a, 'D10', 1800, 1)
premor (.1)
playTone (a, 'D10', 2000, 1)
premor (.1)
konec
konec