Turinys:

Saugesnis ir geresnis: traukinių stočių saugumas: 7 žingsniai
Saugesnis ir geresnis: traukinių stočių saugumas: 7 žingsniai

Video: Saugesnis ir geresnis: traukinių stočių saugumas: 7 žingsniai

Video: Saugesnis ir geresnis: traukinių stočių saugumas: 7 žingsniai
Video: Часть 7 — Аудиокнига «Дракула» Брэма Стокера (главы 24–27) 2024, Liepa
Anonim
Saugesnis ir geresnis: traukinių stočių saugumas
Saugesnis ir geresnis: traukinių stočių saugumas

Daugelis geležinkelio stočių šiandien yra nesaugios, nes trūksta saugumo, kliūčių ir įspėjimo apie įvažiuojantį traukinį. Matėme, kad reikia tai ištaisyti. Norėdami išspręsti šią problemą, sukūrėme saugesnį. Norėdami padidinti traukinių stoties saugumą, „Arduino Uno“naudojome vibracijos jutiklius, judesio jutiklius ir avarinės signalizacijos sistemą.

Reikalingos medžiagos:

  • Arduino Uno
  • Trumpieji laidai
  • PIR judesio jutiklis
  • Pjezo vibracijos jutiklis
  • LCD ekranas
  • Pjezo garsiakalbis
  • Fizinis jungiklis
  • Minkštas potenciometras
  • 330 omų rezistorius

Autoriai: Jacob Wimmer, Olivia Crawley, Jin Kim

1 žingsnis: laido prijungimas

Sujunkite lentą
Sujunkite lentą

Mes prijungėme „Arduino“, kaip parodyta aukščiau esančioje diagramoje.

2 žingsnis: 3D spausdinimo LCD stovas

3D spausdinimo LCD stovas
3D spausdinimo LCD stovas

Mes 3D atspausdinome LCD ekrano stovą, kad būtų geriau matomas.

3 žingsnis: prisijunkite prie „Arduino“„Matlab“

Pirmasis mūsų kodo rašymo žingsnis buvo prijungti „Arduino“plokštę prie „Matlab“. Tai daroma sukuriant „Arduino“objektą. Mes naudojome šį kodą:

a = arduino ('/dev/tty.usbmodem14201', 'Uno', 'bibliotekos', 'PavyzdysLCD/LCDAddon');

4 žingsnis: parašykite kodą „Matlab“

Mes sukūrėme programą „Matlab“, kad paleistume „Arduino“. Inicijuodami LCD ekraną, parašėme kodą, skirtą valdyti mūsų traukinių stotį. Mes panaudojome įvestis, tokias kaip vibracijos jutiklis, judesio jutiklis ir fizinis jungiklis, kad gautume įvairius išėjimus. Šie įėjimai, išėjimai ir atitinkamas kodas bus paaiškinti atlikus toliau nurodytus veiksmus.

5 žingsnis: vibracijos jutiklis

Vibracijos jutiklis
Vibracijos jutiklis

Vibracijos jutiklis yra analoginis jutiklis, todėl naudojo Matlab funkciją readVoltage.

val_vibro = readVoltage (a, 'A0'); T

jis skaitė Įtampos funkcija grąžino daugybę verčių, tačiau mes nustatėme, kad didesnė nei 0,5 vertė yra tinkama vibracija, todėl mes ją panaudojome kaip savo bazinę vertę. Jei įtampa buvo didesnė nei 0,5, tai reiškia, kad traukinys ateina į stotį. Aptikus šią vertę, į LCD ekraną siunčiamas pranešimas. Pranešimas LCD ekrane yra būdas pranešti stoties žmonėms, kad atvyksta traukinys.

Mes rašėme savo LCD ekrane naudodami šį kodą:

jei val_vibro <= 0,5;

elseif val_vibro> 0,5;

printLCD (LCD, „Traukinys per 3 minutes“);

galas

6 žingsnis: PIR judesio jutiklis

PIR judesio jutiklis
PIR judesio jutiklis
PIR judesio jutiklis
PIR judesio jutiklis
PIR judesio jutiklis
PIR judesio jutiklis

PIR judesio jutiklis naudojamas užtikrinti, kad operatorius žinotų apie kliūtis palei traukinio bėgius. Jutiklis fotografuoja ir palygina naujausią nuotrauką su paskutine padaryta ir, jei kas nors pajudėjo, „Matlab“grąžins reikšmę 1. Kai vėžėse aptinkama kažkas, pasirodo grafinė vartotojo sąsaja (GUI), pranešanti traukinio operatoriui, kad kažkas yra trasose. Tada operatorius turi galimybę sustabdyti traukinį arba važiuoti toliau. Pasirinkus norimą parinktį, rodomas patvirtinimo pranešimas.

Judėjimo jutikliui buvo naudojamas šis kodas:

jei val_opt == 1;

d1 = 'Stoties takeliuose aptiktas objektas';

op_input = questdlg (d1, „Operator Message“, „Stop Train“, „Keep Moving“, „Keep Moving“);

b1 = strcmp (op_input, 'Sustabdyti traukinį');

b2 = strcmp (op_input, 'Tęsti judėjimą');

jei b1 == 1

„msgbox“(„Traukinio sustojimas“)

pauzė (3)

elseif b2 == 1

„msgbox“(„Traukinys tęsiasi“)

pauzė (3)

galas

elseif val_opt == 0;

galas

7 žingsnis: fizinis jungiklis

Mes taip pat manome, kad traukinių stotys turi turėti daugiau apsaugos funkcijų. Mes nusprendėme turėti jungiklį, kuris stotyje skambėtų aliarmu. Mes tai padarėme naudodami fizinį jungiklį. Įjungus šį jungiklį, per garsiakalbį skamba aliarmas.

Mes tai padarėme naudodami šį kodą:

jei s_val == 1, kai i = 1:10

playTone (a, „D10“, 1800, 1)

pauzė (.1)

playTone (a, „D10“, 2000, 1)

pauzė (.1)

galas

galas

Rekomenduojamas: