Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Mnoho dnešních nádraží není bezpečných kvůli nedostatku zabezpečení, závor a varování před přijíždějícím vlakem. Viděli jsme, že je třeba to opravit. Abychom tento problém vyřešili, vytvořili jsme bezpečnější lepší. Pro zvýšení bezpečnosti vlakového nádraží jsme použili snímače vibrací, snímače pohybu a nouzový poplašný systém na Arduino Uno.
Potřebné zásoby:
- Arduino Uno
- Propojovací dráty
- Senzor pohybu PIR
- Piezo snímač vibrací
- LCD obrazovka
- Piezo reproduktor
- Fyzický přepínač
- Měkký potenciometr
- Rezistor 330 ohmů
Autor: Jacob Wimmer, Olivia Crawley, Jin Kim
Krok 1: Zapojte desku
Zapojili jsme naše Arduino jako výše uvedený diagram.
Krok 2: 3D tisk LCD stojanu
Pro lepší viditelnost jsme 3D vytiskli stojan pro naši LCD obrazovku.
Krok 3: Připojte se k Arduinu v Matlabu
Prvním krokem k napsání našeho kódu bylo připojení naší desky Arduino k Matlabu. To se provádí vytvořením objektu Arduino. Použili jsme následující kód:
a = arduino ('/dev/tty.usbmodem14201', 'Uno', 'knihovny', 'ExampleLCD/LCDAddon');
Krok 4: Napište kód do Matlabu
Vytvořili jsme program v Matlabu pro spuštění našeho Arduina. Po inicializaci naší obrazovky LCD jsme napsali kód pro ovládání naší vlakové stanice. K výrobě různých výstupů jsme použili vstupy, jako je snímač vibrací, snímač pohybu a fyzický přepínač. Tyto vstupy, výstupy a odpovídající kód budou vysvětleny v následujících krocích.
Krok 5: Senzor vibrací
Vibrační senzor je analogový senzor, a proto používal funkci Matlab readVoltage.
val_vibro = readVoltage (a, 'A0'); T
funkce readVoltage vrátila řadu hodnot, ale zjistili jsme, že hodnota nad 0,5 byla slušná vibrace, a tak jsme ji použili jako základní hodnotu. Pokud bylo napětí vyšší než 0,5, znamená to, že vlak přichází do stanice. Když byla tato hodnota detekována, je na LCD obrazovku odeslána zpráva. Zpráva na LCD obrazovce je způsob, jak lidem na stanici sdělit, že přijíždí vlak.
Na náš LCD displej jsme napsali pomocí následujícího kódu:
pokud val_vibro <= 0,5;
elseif val_vibro> 0,5;
printLCD (lcd, 'Train in 3 Min');
konec
Krok 6: PIR snímač pohybu
Senzor pohybu PIR slouží k zajištění toho, aby operátor věděl o překážkách podél kolejí. Senzor pořizuje snímky a porovnává nejnovější obrázek s naposledy pořízeným a pokud se cokoli pohnulo, Matlab vrátí hodnotu 1. Když je na kolejích něco detekováno, objeví se grafické uživatelské rozhraní (GUI), které upozorní provozovatele vlaku na něco je na kolejích Provozovatel má poté možnost vlak zastavit nebo pokračovat. Po výběru požadované možnosti se zobrazí potvrzovací zpráva.
Pro pohybový senzor byl použit následující kód:
pokud val_opt == 1;
d1 = 'Na kolejích ve stanici byl detekován předmět';
op_input = questdlg (d1, 'Zpráva operátora', 'Zastavit vlak', 'Pokračovat v pohybu', 'Pokračovat v pohybu');
b1 = strcmp (op_input, 'Stop Train');
b2 = strcmp (op_input, 'Keep Moving');
pokud b1 == 1
msgbox ('Train Stopping')
pauza (3)
elseif b2 == 1
msgbox ('Train Continuing')
pauza (3)
konec
elseif val_opt == 0;
konec
Krok 7: Fyzický přepínač
Myslíme si také, že vlaková nádraží musí mít více bezpečnostních funkcí. Rozhodli jsme se mít vypínač, který by na stanici spustil poplach. Udělali jsme to pomocí fyzického přepínače. Když je tento přepínač zapnutý, ozve se z reproduktoru alarm.
Udělali jsme to pomocí následujícího kódu:
pokud s_val == 1 pro i = 1:10
playTone (a, 'D10', 1800, 1)
pauza (.1)
playTone (a, 'D10', 2000, 1)
pauza (.1)
konec
konec