Satura rādītājs:

Drošāk un labāk: vilcienu staciju drošāka padarīšana: 7 soļi
Drošāk un labāk: vilcienu staciju drošāka padarīšana: 7 soļi

Video: Drošāk un labāk: vilcienu staciju drošāka padarīšana: 7 soļi

Video: Drošāk un labāk: vilcienu staciju drošāka padarīšana: 7 soļi
Video: "Aculiecinieks" - Jaunā stacija 2024, Jūlijs
Anonim
Drošāk un labāk: dzelzceļa staciju drošība
Drošāk un labāk: dzelzceļa staciju drošība

Daudzas dzelzceļa stacijas šodien ir nedrošas, jo trūkst drošības, barjeru un brīdinājuma par iebraucošo vilcienu. Mēs redzējām nepieciešamību to novērst. Lai atrisinātu šo problēmu, mēs izveidojām drošāku. Mēs izmantojām vibrācijas sensorus, kustības sensorus un avārijas signalizācijas sistēmu Arduino Uno, lai dzelzceļa stacijai pievienotu drošību.

Nepieciešamie piederumi:

  • Arduino Uno
  • Jumper vadi
  • PIR kustības sensors
  • Pjezo vibrācijas sensors
  • LCD ekrāns
  • Pjezo skaļrunis
  • Fiziskais slēdzis
  • Mīksts potenciometrs
  • 330 omu rezistors

Autori: Džeikobs Vimmers, Olīvija Kroulija, Džins Kims

1. solis: savienojiet vadu

Vadu vadu
Vadu vadu

Mēs savienojām savu Arduino kā iepriekš redzamo diagrammu.

2. solis: 3D drukas LCD statīvs

3D drukas LCD statīvs
3D drukas LCD statīvs

Mēs 3D drukājām statīvu mūsu LCD ekrānam, lai nodrošinātu labāku redzamību.

3. darbība: izveidojiet savienojumu ar Arduino Matlab

Pirmais mūsu koda rakstīšanas solis bija savienot mūsu Arduino plāksni ar Matlab. Tas tiek darīts, izveidojot Arduino objektu. Mēs izmantojām šādu kodu:

a = arduino ('/dev/tty.usbmodem14201', 'Uno', 'bibliotēkas', 'PiemērsLCD/LCDAddon');

4. darbība. Ierakstiet kodu programmā Matlab

Mēs izveidojām programmu Matlab, lai palaistu mūsu Arduino. Pēc LCD ekrāna inicializācijas mēs uzrakstījām kodu, lai kontrolētu savu dzelzceļa staciju. Mēs izmantojām ieejas, piemēram, vibrācijas sensoru, kustības sensoru un fizisku slēdzi, lai iegūtu dažādas izejas. Šīs ieejas, izejas un atbilstošais kods tiks izskaidrots tālāk norādītajās darbībās.

5. solis: vibrācijas sensors

Vibrācijas sensors
Vibrācijas sensors

Vibrācijas sensors ir analogs sensors, tāpēc izmantoja Matlab funkciju readVoltage.

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

Viņš lasīja sprieguma funkciju, atgriežot virkni vērtību, bet mēs noskaidrojām, ka vērtība virs 0,5 ir pienācīga vibrācija, un tāpēc mēs to izmantojām kā savu pamatvērtību. Ja spriegums bija virs 0,5, tas nozīmē, ka vilciens ierodas stacijā. Kad šī vērtība tika konstatēta, LCD ekrānā tiek nosūtīts ziņojums. LCD ekrānā redzamais ziņojums ir veids, kā paziņot stacijas cilvēkiem, ka tuvojas vilciens.

Mēs rakstījām uz mūsu LCD ekrāna, izmantojot šādu kodu:

ja val_vibro <= 0,5;

elseif val_vibro> 0,5;

printLCD (lcd, 'Vilciens 3 minūtēs');

beigas

6. darbība: PIR kustības sensors

PIR kustības sensors
PIR kustības sensors
PIR kustības sensors
PIR kustības sensors
PIR kustības sensors
PIR kustības sensors

PIR kustības sensoru izmanto, lai nodrošinātu, ka operators zina par šķēršļiem gar vilciena sliedēm. Sensors uzņem attēlus un salīdzina jaunāko attēlu ar pēdējo uzņemto, un, ja kaut kas ir pārvietots, Matlab atgriezīs vērtību 1. Kad sliežu ceļā tiek konstatēts kaut kas, tiek parādīts grafiskais lietotāja interfeiss (GUI), kas vilciena operatoram paziņo, ir uz sliedēm. Operatoram ir iespēja apturēt vilcienu vai turpināt. Pēc vēlamās opcijas izvēles tiek parādīts apstiprinājuma ziņojums.

Kustības sensoram tika izmantots šāds kods:

ja val_opt == 1;

d1 = 'Stacijas sliedēs ir atklāts objekts';

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

b1 = strcmp (op_input, 'Stop Train');

b2 = strcmp (op_input, 'Turpināt kustēties');

ja b1 == 1

msgbox ("Vilciena apstāšanās")

pauze (3)

elseif b2 == 1

msgbox ("Vilciena turpināšana")

pauze (3)

beigas

elseif val_opt == 0;

beigas

7. solis: fiziskais slēdzis

Mēs arī domājam, ka dzelzceļa stacijām ir jābūt vairākām drošības funkcijām. Mēs nolēmām izveidot slēdzi, kas stacijā atskanētu trauksmi. Mēs to izdarījām, izmantojot fizisku slēdzi. Ieslēdzot šo slēdzi, caur skaļruni atskan trauksmes signāls.

Mēs to izdarījām ar šādu kodu:

ja s_val == 1, ja i = 1:10

playTone (a, 'D10', 1800, 1)

pauze (.1)

playTone (a, 'D10', 2000, 1)

pauze (.1)

beigas

beigas

Ieteicams: