Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Mnoho dnešných železničných staníc nie je bezpečných z dôvodu nedostatočného zabezpečenia, závor a varovania pred príchodom vlaku. Videli sme, že je potrebné to opraviť. Aby sme tento problém vyriešili, vytvorili sme bezpečnejšie a lepšie. Na zvýšenie bezpečnosti vlakovej stanice sme použili senzory vibrácií, senzory pohybu a núdzový poplašný systém na Arduino Uno.
Potrebné zásoby:
- Arduino Uno
- Prepojovacie vodiče
- PIR snímač pohybu
- Piezo snímač vibrácií
- LCD obrazovka
- Piezo reproduktor
- Fyzický prepínač
- Mäkký potenciometer
- Odpor 330 ohmov
Autor: Jacob Wimmer, Olivia Crawley, Jin Kim
Krok 1: Zapojte dosku
Zapojili sme naše Arduino podľa vyššie uvedeného diagramu.
Krok 2: Stojan LCD pre 3D tlač
Pre lepšiu viditeľnosť sme 3D tlačili stojan na LCD obrazovku.
Krok 3: Pripojte sa k Arduinu v Matlabe
Prvým krokom k napísaniu nášho kódu bolo pripojenie našej dosky Arduino k Matlabu. To sa dosiahne vytvorením objektu Arduino. Použili sme nasledujúci kód:
a = arduino ('/dev/tty.usbmodem14201', 'Uno', 'knižnice', 'ExampleLCD/LCDAddon');
Krok 4: Napíšte kód v programe Matlab
V Matlabe sme vytvorili program na spustenie nášho Arduina. Po inicializácii našej obrazovky LCD sme napísali kód na ovládanie našej vlakovej stanice. Na výrobu rôznych výstupov sme použili vstupy, ako sú snímač vibrácií, snímač pohybu a fyzický spínač. Tieto vstupy, výstupy a zodpovedajúci kód budú vysvetlené v nasledujúcich krokoch.
Krok 5: Senzor vibrácií
Senzor vibrácií je analógový snímač, a preto používal funkciu Matlab readVoltage.
val_vibro = readVoltage (a, 'A0'); T
funkcia readVoltage vrátila rozsah hodnôt, ale zistili sme, že hodnota nad 0,5 bola slušná vibrácia, a preto sme ju použili ako svoju základnú hodnotu. Ak bolo napätie vyššie ako 0,5, znamená to, že vlak prichádza do stanice. Keď bola táto hodnota zistená, na LCD obrazovku sa odošle správa. Správa na LCD obrazovke je spôsob, ako ľuďom na stanici oznámiť, že prichádza vlak.
Na obrazovku LCD sme napísali pomocou nasledujúceho kódu:
ak val_vibro <= 0,5;
elseif val_vibro> 0,5;
printLCD (lcd, 'Train in 3 Min');
koniec
Krok 6: PIR snímač pohybu
Pohybový snímač PIR slúži na to, aby operátor vedel o prekážkach pozdĺž vlakových koľají. Senzor fotografuje a porovnáva najnovší obrázok s naposledy nasnímaným obrázkom a ak sa niečo pohlo, Matlab vráti hodnotu 1. Keď je na koľajniciach niečo zistené, zobrazí sa grafické používateľské rozhranie (GUI), ktoré upozorní prevádzkovateľa vlaku na to, že niečo je na koľajach Prevádzkovateľ má potom možnosť vlak zastaviť alebo pokračovať. Po výbere požadovanej možnosti sa zobrazí potvrdzovacia správa.
Pre snímač pohybu bol použitý nasledujúci kód:
ak val_opt == 1;
d1 = 'Na koľajach v stanici bol detegovaný predmet';
op_input = questdlg (d1, 'Správa operátora', 'Zastaviť vlak', 'Pokračovať v pohybe', 'Pokračovať v pohybe');
b1 = strcmp (op_input, 'Zastaviť vlak');
b2 = strcmp (op_input, 'Pokračovať v pohybe');
ak b1 == 1
msgbox ('Vlak zastavuje')
pauza (3)
elseif b2 == 1
msgbox („Pokračovanie vlaku“)
pauza (3)
koniec
elseif val_opt == 0;
koniec
Krok 7: Fyzický prepínač
Myslíme si tiež, že vlakové stanice musia mať viac bezpečnostných funkcií. Rozhodli sme sa mať vypínač, ktorý by na stanici spustil poplach. Urobili sme to pomocou fyzického prepínača. Keď je tento spínač zapnutý, z reproduktora zaznie alarm.
Urobili sme to pomocou nasledujúceho kódu:
ak s_val == 1 pre i = 1:10
playTone (a, 'D10', 1800, 1)
pauza (.1)
playTone (a, 'D10', 2000, 1)
pauza (.1)
koniec
koniec