Բովանդակություն:

Անվտանգ ավելի լավ. Երկաթուղային կայարաններն ավելի անվտանգ դարձնել `7 քայլ
Անվտանգ ավելի լավ. Երկաթուղային կայարաններն ավելի անվտանգ դարձնել `7 քայլ

Video: Անվտանգ ավելի լավ. Երկաթուղային կայարաններն ավելի անվտանգ դարձնել `7 քայլ

Video: Անվտանգ ավելի լավ. Երկաթուղային կայարաններն ավելի անվտանգ դարձնել `7 քայլ
Video: orer.am 2024, Հուլիսի
Anonim
Անվտանգ ավելի լավ. Երկաթուղային կայարաններն ավելի անվտանգ դարձնել
Անվտանգ ավելի լավ. Երկաթուղային կայարաններն ավելի անվտանգ դարձնել

Այսօր շատ երկաթուղային կայարաններ անապահով են անվտանգության բացակայության, խոչընդոտների և մուտքի գնացքի մասին նախազգուշացման պատճառով: Մենք տեսանք, որ դրա շտկումը անհրաժեշտ է: Այս խնդիրը լուծելու համար մենք ստեղծեցինք Safer Better- ը: Երկաթուղային կայարանին անվտանգություն հաղորդելու համար մենք Arduino Uno- ում օգտագործեցինք թրթռման տվիչներ, շարժման տվիչներ և արտակարգ իրավիճակների ազդանշանային համակարգ:

Անհրաժեշտ պարագաներ.

  • Արդուինո Ունո
  • Jumper լարերը
  • PIR շարժման ցուցիչ
  • Պիեզո թրթռման տվիչ
  • LCD էկրան
  • Պիեզո խոսնակ
  • Ֆիզիկական անջատիչ
  • Փափուկ պոտենցիոմետր
  • 330 օմ դիմադրություն

Հեղինակ ՝ Յակոբ Ուիմեր, Օլիվիա Քրոուլի, Jinին Քիմ

Քայլ 1: Հաղորդալար խորհուրդը

Մետաղալար խորհուրդը
Մետաղալար խորհուրդը

Մենք միացրեցինք մեր Arduino- ն վերը նշված դիագրամի պես:

Քայլ 2: 3D տպման LCD տակդիր

3D տպման LCD տակդիր
3D տպման LCD տակդիր

Մենք 3D տպեցինք մեր LCD էկրանի տակդիրը ավելի լավ տեսանելիության համար:

Քայլ 3. Միացեք Arduino- ին Matlab- ում

Մեր կոդը գրելու առաջին քայլը մեր Arduino տախտակը Matlab- ին միացնելն էր: Դա արվում է ՝ ստեղծելով Arduino օբյեկտ: Մենք օգտագործեցինք հետևյալ ծածկագիրը.

a = arduino ('/dev/tty.usbmodem14201', 'Uno', 'գրադարաններ', 'Օրինակ LCD/LCDAddon');

Քայլ 4: Գրեք կոդը Matlab- ում

Մենք ստեղծեցինք ծրագիր Matlab- ում `մեր Arduino- ն գործարկելու համար: Մեր LCD էկրանը նախաստորագրելուց հետո մենք գրել ենք երկաթուղային կայարանը կառավարելու կոդ: Մենք օգտագործել ենք այնպիսի մուտքեր, ինչպիսիք են թրթռման տվիչը, շարժման տվիչը և ֆիզիկական անջատիչը `մի շարք ելքեր արտադրելու համար: Այս մուտքերը, ելքերը և համապատասխան ծածկագիրը կբացատրվեն ստորև բերված քայլերում:

Քայլ 5: Թրթռման ցուցիչ

Թրթռման ցուցիչ
Թրթռման ցուցիչ

Թրթռման տվիչը անալոգային սենսոր է և, հետևաբար, օգտագործում էր Matlab գործառույթը readVoltage:

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

նա readVoltage ֆունկցիան վերադարձրեց մի շարք արժեքներ, բայց մենք որոշեցինք, որ 0.5 -ից բարձր արժեքը արժանապատիվ թրթռում է, ուստի մենք դա օգտագործեցինք որպես մեր հիմնական արժեք: Եթե լարումը 0.5 -ից բարձր էր, նշանակում է, որ գնացքը գալիս է կայարան: Երբ այս արժեքը հայտնաբերվի, հաղորդագրություն է ուղարկվում LCD էկրանին: LCD էկրանին հայտնված հաղորդագրությունը կայարանում գտնվող մարդկանց հաղորդակցվելու միջոց է, որ գնացք է գալիս:

Մենք գրել ենք մեր LCD էկրանին ՝ օգտագործելով հետևյալ ծածկագիրը.

եթե val_vibro <= 0.5;

elseif val_vibro> 0.5;

printLCD (LCD, «Գնացիր 3 րոպեում»);

վերջ

Քայլ 6: PIR շարժման ցուցիչ

PIR շարժման ցուցիչ
PIR շարժման ցուցիչ
PIR շարժման ցուցիչ
PIR շարժման ցուցիչ
PIR շարժման ցուցիչ
PIR շարժման ցուցիչ

PIR շարժման տվիչը օգտագործվում է ապահովելու համար, որ օպերատորը գիտի գնացքների գծերի երկայնքով խոչընդոտների մասին: Սենսորը լուսանկարում է և համեմատում է ամենավերջին նկարը վերջին նկարածի հետ, և եթե որևէ բան տեղափոխվել է, Matlab- ը կվերադարձնի 1 արժեքը: հետքերի վրա է: Օպերատորն այնուհետև հնարավորություն ունի կանգնեցնել կամ շարունակել գնացքը: Theանկալի տարբերակն ընտրելուց հետո ցուցադրվում է հաստատման հաղորդագրություն:

Շարժման տվիչի համար օգտագործվել է հետևյալ ծածկագիրը.

եթե val_opt == 1;

d1 = 'Կայանի գծերի վրա օբյեկտ է հայտնաբերվել';

op_input = questdlg (d1, «Օպերատորի հաղորդագրություն», «Կանգնեցնել գնացքը», «Շարունակեք շարժվել», «Շարունակեք շարժվել»);

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

b2 = strcmp (op_input, 'Keep Moving');

եթե b1 == 1

msgbox ('Գնացքը կանգ է առնում')

դադար (3)

elseif b2 == 1

msgbox ('Գնացքը շարունակվում է')

դադար (3)

վերջ

elseif val_opt == 0;

վերջ

Քայլ 7: Ֆիզիկական անջատում

Մենք նաև կարծում ենք, որ երկաթուղային կայարանները պետք է ունենան ավելի շատ անվտանգության հնարավորություններ: Մենք որոշեցինք ունենալ անջատիչ, որն ահազանգ կհանգեցնի կայարանում: Մենք դա արեցինք ՝ օգտագործելով ֆիզիկական անջատիչ: Երբ այս անջատիչը միացված է, ահազանգ է հնչում բարձրախոսի միջոցով:

Մենք դա արեցինք հետևյալ ծածկագրով.

եթե s_val == 1 համար i = 1:10

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

դադար (.1)

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

դադար (.1)

վերջ

վերջ

Խորհուրդ ենք տալիս: