Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Monet rautatieasemat ovat nykyään vaarallisia turvallisuuden puutteen, esteiden ja junan saapumisesta johtuvan puutteen vuoksi. Näimme tarpeen korjata se. Tämän ongelman ratkaisemiseksi loimme Safer Better. Käytimme tärinäantureita, liikeantureita ja hätähälytysjärjestelmää Arduino Unossa turvallisuuden lisäämiseksi rautatieasemalle.
Tarvittavat tarvikkeet:
- Arduino Uno
- Hyppyjohdot
- PIR -liiketunnistin
- Pietsovärähtelyanturi
- LCD-näyttö
- Pietsokaiutin
- Fyysinen kytkin
- Pehmeä potentiometri
- 330 ohmin vastus
Kirjailija: Jacob Wimmer, Olivia Crawley, Jin Kim
Vaihe 1: Johdota levy
Johdotimme Arduinon yllä olevan kaavion mukaisesti.
Vaihe 2: 3D -tulostus LCD -jalusta
Tulostimme 3D -telineen LCD -näyttöämme paremman näkyvyyden saavuttamiseksi.
Vaihe 3: Yhdistä Arduinoon Matlabissa
Ensimmäinen askel koodin kirjoittamisessa oli liittää Arduino -korttimme Matlabiin. Tämä tehdään luomalla Arduino -objekti. Käytimme seuraavaa koodia:
a = arduino ('/dev/tty.usbmodem14201', 'Uno', 'kirjastot', 'EsimerkkiLCD/LCDAddon');
Vaihe 4: Kirjoita koodi Matlabiin
Loimme Matlabissa ohjelman Arduinon ajamiseen. LCD -näytön alustamisen jälkeen kirjoitimme koodin hallitaksemme rautatieasemaa. Käytimme tuloja, kuten tärinäanturia, liikeanturia ja fyysistä kytkintä erilaisten lähtöjen tuottamiseen. Nämä tulot, lähdöt ja vastaava koodi selitetään alla olevissa vaiheissa.
Vaihe 5: Tärinäanturi
Tärinätunnistin on analoginen anturi, ja siksi se käytti Matlab -funktiota readVoltage.
val_vibro = readVoltage (a, 'A0'); T
hän luki jännitefunktio palautti useita arvoja, mutta päätimme, että arvo yli 0,5 oli kunnollinen värähtely, joten käytimme sitä perusarvona. Jos jännite oli yli 0,5, se tarkoittaa, että juna on tulossa asemalle. Kun tämä arvo havaittiin, LCD -näyttöön lähetetään viesti. Nestekidenäytön viesti on tapa viestiä asemalla oleville ihmisille junan saapumisesta.
Kirjoitimme nestekidenäytöllemme käyttämällä seuraavaa koodia:
jos val_vibro <= 0,5;
elseif val_vibro> 0,5;
printLCD (lcd, 'Train In 3 Min');
loppuun
Vaihe 6: PIR -liiketunnistin
PIR -liiketunnistinta käytetään varmistamaan, että kuljettaja tuntee junan raiteilla olevat esteet. Anturi ottaa kuvia ja vertaa uusinta kuvaa viimeiseen otettuun, ja jos jokin on siirtynyt, Matlab palauttaa arvon 1. Kun raiteilla havaitaan jotain, graafinen käyttöliittymä (GUI) ponnahtaa esiin ja ilmoittaa junan kuljettajalle, että jotain on raiteilla. Kuljettajalla on tällöin mahdollisuus pysäyttää juna tai jatkaa. Kun olet valinnut haluamasi vaihtoehdon, näyttöön tulee vahvistusviesti.
Liikeanturia varten käytettiin seuraavaa koodia:
jos val_opt == 1;
d1 = 'Asema on havaittu aseman raiteilla';
op_input = questdlg (d1, 'Käyttäjän viesti', 'Pysäytä juna', 'Jatka liikkumista', 'Jatka liikkumista');
b1 = strcmp (op_input, 'Pysäytä juna');
b2 = strcmp (op_input, 'Jatka liikkumista');
jos b1 == 1
msgbox ('Juna pysähtyy')
tauko (3)
elseif b2 == 1
msgbox ('Juna jatkuu')
tauko (3)
loppuun
elseif val_opt == 0;
loppuun
Vaihe 7: Fyysinen kytkin
Mielestämme myös rautatieasemilla on oltava enemmän turvaominaisuuksia. Päätimme, että meillä on kytkin, joka soi hälytyksen asemalla. Teimme tämän käyttämällä fyysistä kytkintä. Kun tämä kytkin on päällä, hälytysääni kuuluu kaiuttimen kautta.
Teimme tämän seuraavalla koodilla:
jos s_val == 1 i = 1:10
playTone (a, 'D10', 1800, 1)
tauko (.1)
playTone (a, 'D10', 2000, 1)
tauko (.1)
loppuun
loppuun