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

LifeGuard 2.0: 7 քայլ (նկարներով)
LifeGuard 2.0: 7 քայլ (նկարներով)

Video: LifeGuard 2.0: 7 քայլ (նկարներով)

Video: LifeGuard 2.0: 7 քայլ (նկարներով)
Video: Decoding Hard Disk Dilemmas: From Clicks to Crashes 2024, Հուլիսի
Anonim
LifeGuard 2.0
LifeGuard 2.0

Երբևէ ցանկացե՞լ եք կատարել մաթեմատիկական գործողություններ, վերցնել սենսորների ընթերցումներ, վերահսկել անալոգային և թվային մուտքերը և վերահսկել անալոգային և թվային ելքերը ՝ առանց էլեկտրոնիկայի նախկին փորձի: Եթե այո, ապա այս նախագիծը հենց ձեզ համար է: Մենք կօգտագործենք միկրոկառավարիչ և MATLAB ՝ սարք ստեղծելու համար, որը կարող է օգտագործվել EF Express SMART RAIL համակարգի մոնիտորինգի և կատարելագործման համար: Միկրոկառավարիչի միջոցով մուտքերի և ելքերի հնարավորությունները (ազդանշան/տեղեկատվություն, որը մտնում է տախտակ և ազդանշան դուրս է գալիս տախտակից) հնարավոր չէ: Որպես մուտքի աղբյուր ՝ մենք կօգտագործենք ճկուն տվիչ և պոտենցիոմետր: Նրանց ելքերը կլինեն համապատասխանաբար LCD էկրանով և LED լույսերով ձայնային ազդանշանի միջոցով: Այն բարելավումները, որոնք մենք հույս ունենք ներդնել SMART RAIL համակարգում, վերաբերում են համակարգի անվտանգության բարձրացմանը: Վերցրեք ձեր նոութբուքը և միկրոկառավարիչը և եկեք սկսենք:

Քայլ 1: Softwareրագրակազմ և նյութեր

Softwareրագրային ապահովում և նյութեր
Softwareրագրային ապահովում և նյութեր
Softwareրագրային ապահովում և նյութեր
Softwareրագրային ապահովում և նյութեր
Softwareրագրային ապահովում և նյութեր
Softwareրագրային ապահովում և նյութեր
Softwareրագրային ապահովում և նյութեր
Softwareրագրային ապահովում և նյութեր

Անհրաժեշտ է ծրագրային ապահովում

1.) MATLAB

- Ձեզ անհրաժեշտ կլինի ներբեռնել MATLAB- ի տեղական տարբերակը ձեր համակարգչում: Գնացեք mathworks.com և ստեղծեք MATHWORKS հաշիվ, ներբեռնեք ֆայլեր և ակտիվացրեք ձեր լիցենզիան:

-Դուք պետք է ներբեռնեք և տեղադրեք ԲՈԼՈՐ հասանելի տուփերը ամենավերջին թողարկման համար (R2016a կամ R2016b):

-Mac օգտվողներ. R2015b գործարկելու համար դուք պետք է ունենաք OSX 10.9.5 կամ ավելի նոր տարբերակ, նորմալ է MATLAB- ի ավելի վաղ տարբերակը գործարկելը:

2.) Arduino Hardware Support Package:

-Տեղադրեք Arduino- ի ապարատային աջակցության փաթեթը: Բացեք MATLAB- ը: MATLAB Home ներդիրում, Շրջակա միջավայրի ընտրացանկում, ընտրեք Լրացուցիչներ Ստացեք ապարատային աջակցության փաթեթներ Ընտրեք «MATLAB աջակցության փաթեթ Arduino սարքաշարի համար»: Դուք պետք է մուտք գործեք ձեր MATHWORKS հաշիվ

-Եթե տեղադրումը ընդհատվի, և ապարատային փաթեթը տեղադրելիս հաջորդաբար ձախողվեն փորձեր/սխալներ - գտեք և ջնջեք Arduino- ի ներբեռնման թղթապանակը ձեր կոշտ սկավառակի վրա և սկսեք սկզբից:

Անհրաժեշտ նյութեր

1.) Նոթբուք կամ աշխատասեղան

2.) SparkFun Arduino տախտակ

3.) Flex ցուցիչ

4.) պոտենցիոմետր

5.) LCD էկրան

6.) LED լույս

7.) SparkFun Inventor's Kit (Գտեք առցանց)

8.) USB մալուխ և մինի USB

9.) Jumper լարերը

10.) Պիեզո ազդանշան

Քայլ 2. Միացեք ձեր Arduino- ին և որոշեք COM նավահանգիստը

(Ձեր COM պորտը կարող է փոխվել ամեն անգամ միացնելիս) Arduino USB մալուխը միացրեք համակարգչին, իսկ մինի USB- ը `Arduino տախտակին: Հնարավոր է, որ մի քանի րոպե սպասեք, մինչև վարորդները ներբեռնվեն:

COM պորտը որոշելու համար.

ԱՀ -ում

Մեթոդ 1. MATLAB- ում օգտագործեք հրամանը `բացել (սերիական ('nada'))

-ձեր com պորտը որոշելու համար: Դուք կարող եք ստանալ այսպիսի սխալ. Սերիա/բացում (սխալ 72) օգտագործման սխալ Մատչելի նավահանգիստներ ՝ COM3: Այս սխալը ցույց է տալիս, որ ձեր նավահանգիստը 3 է:

-Եթե ձեր համակարգչում մեթոդ 1 -ը ձախողվի, բացեք ձեր Սարքի կառավարիչը և ընդլայնեք Պորտերի (COM և LPT) ցուցակը: Նշեք USB սերիայի պորտի համարը: օրինակ 'USB սերիայի նավահանգիստ (COM *)' Պորտի համարը * այստեղ է:

-Եթե նավահանգիստ չի ցուցադրվում, փակեք MATLAB- ը և վերագործարկեք ձեր համակարգիչը: Բացեք MATLAB- ը և նորից փորձեք բացել (սերիական («nada»)):

-Եթե դա ձախողվի, ձեզ կարող է անհրաժեշտ լինել ներբեռնել SparkFun- ի վարորդները CDM_v2.12.00_WHQL_Certified.exe ֆայլից, բացել և գործարկել CDM_v2.12.00_WHQL_Certified.exe ֆայլը և ընտրել Extract: (Ձեզ կարող է անհրաժեշտ լինել ֆայլը բացել Explorer- ից, աջ սեղմել և «Գործարկել որպես ադմինիստրատոր»):

-MATLAB հրամանի պատուհանում ստեղծեք Arduino օբյեկտ `a = arduino ('comx', 'uno'); % x- ը ձեր նավահանգստի համարն է վերևից ՝ ԱՀ -երի համար (առանց նախորդ զրոյի)

Mac- ի վրա

Մեթոդ 1. MATLAB հրամանի տողից կամ Mac տերմինալից և մուտքագրեք ՝ 'ls /dev/tty.*' Նշեք dev/tty.usbmodem*կամ dev/tty.usbserial*համար նշված նավահանգստի համարը: Պորտի համարը * այստեղ է:

-Եթե մեթոդը 1 ձախողվի ձեր MAC- ում, գուցե դա անհրաժեշտ լինի

-Ելք MATLAB- ից

-Փակեք Arduino ծրագիրը և անջատեք Arduino USB մալուխը

-Տեղադրեք Java 6 Runtime- ը

-տեղադրեք USB վարորդի միջուկի ընդլայնում

-Վերագործարկեք ձեր համակարգիչը

-Միացրեք Arduino USB մալուխը

-Գործարկել MATLAB հրամանի տողից կամ Mac տերմինալից. Ls /dev/tty.*

-Նշեք dev/tty.usbmodem* կամ dev/tty.usbserial* համար նշված նավահանգստի համարը: Պորտի համարը * այստեղ է:

-MATLAB հրամանի պատուհանում ստեղծեք Arduino օբյեկտ ՝ a = arduino ('/dev/tty.usbserial*', 'uno'); % * - ը ձեր նավահանգստի համարն է վերևից MAC- երի համար, կամ '/dev/tty.usbmodem*'

Քայլ 3: Matlab Code

Matlab ծածկագիր
Matlab ծածկագիր
Matlab ծածկագիր
Matlab ծածկագիր

Մուտքեր:

1.) Flex ցուցիչ

2.) պոտենցիոմետր

Արդյունքներ:

1.) LCD էկրան, որի վրա գրված է «Գնացք է գալիս»

2.) LED լույս

3.) Պիեզո ազդանշան

Այս քայլով մենք կկառուցենք այն կոդը, որը կվերլուծի Arduino- ի տախտակի մուտքերը և արդյունքներ կտրամադրի MATLAB- ի վերլուծության արդյունքների հիման վրա: Հետևյալ ծածկագիրը թույլ կտա ձեզ կատարել մի քանի գործառույթ. Երբ պոտենցիոմետրը գործարկվում է, պիեզո ազդանշանը կարտադրի փոփոխական հաճախականություններ, և կարմիր LED լուսարձակը: Երբ գնացքը չի հայտնաբերվում, կանաչ լուսադիոդը լուսավորված կլինի: Երբ Flex Sensor- ը գործարկվում է, ագահության LED- ն կանջատվի, կարմիր LED- ը լուսավորվում է, և LCD- ում կցուցադրվի հաղորդագրություն, որը կարդում է «Գնացք է գալիս»:

MATLAB կոդ:

%remery1, shornsb1, wmurrin

Նպատակը ՝ գնացքի նախազգուշացում

%II մուտքագրում ՝ պոտենցիոմետր, ճկման տվիչ

%ելք `LCD, ձայն, լույս

Եթե խորհուրդը նախաստորագրված չէ կամ ունի կապի խնդիրներ, կատարեք

մեկնաբանություններում ստորև նշված %հրամաններ: Նրանք կարիք չունեն ամեն անգամ մահապատժի ենթարկվելու

%մաքրել բոլորը

%փակել բոլորը

%clc

%a = arduino ('/dev/tty.usbserial-DN01DXOM', 'uno');

%lcd = addon (a, 'ExampleLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});

%Կարգավորել խորհուրդը միացնելուց հետո

configurePin (a, 'D8', 'pullup');%կազմաձևել D8

configurePin (a, 'D9', 'PWM');%կազմաձևել D9

ժամանակ = 50; %սահմանել ժամանակը `50

clearLCD (LCD) %սկզբնական LCD

%Սկիզբ հանգույց

ժամանակ> 0

Flex ցուցիչի լարումը որոշում է, թե արդյոք կանաչը կանաչ է, թե լույսը

%-ը կարմիր է, իսկ LCD- ը ցուցադրում է «գնացքը մոտենում է»

flex_status = readVoltage (a, 'A0'); flexկուն սենսորի կարդալ լարումը

եթե flex_status> 4 %, եթե լարումը 4 -ից մեծ է, ձգանման հանգույց

writeDigitalPin (a, 'D12', 0) %անջատեք կանաչ գույնը

writeDigitalPin (a, 'D11', 1) %-ը միանում է կարմիրին

printLCD (lcd, 'Train Coming') %ցուցադրում է «գնացքը գալիս է» LCD- ով

դադար (5) %Սպասեք 5 վայրկյան

clearLCD (lcd) %Մաքրել հաղորդագրությունը LCD- ից

writeDigitalPin (a, 'D11', 0) %Անջատեք կարմիր LED- ը

ուրիշ

վերջ

pe_status = readVoltage (a, 'A2'); %Կարդացեք պոտենցիոմետրերի լարումը

եթե pe_status> 2 %, եթե լարումը 2 -ից մեծ է, ձգանման հանգույց

writeDigitalPin (a, 'D13', 1);%միացրեք կարմիր LED- ը

playTone (a, 'D9', 400,.25);% Պիեզո ազդանշանի վրա նվագարկել 400Hz,.25 վրկ

writeDigitalPin (a, 'D13', 0)%անջատեք կարմիր LED- ը

դադար (.25)%սպասել.25 վայրկյան

writeDigitalPin (a, 'D13', 1) %Կրկնել վերը ՝ 200Hz- ով ազդանշանով

playTone (a, 'D9', 200,.25);

writeDigitalPin (a, 'D13', 0)

դադար (.25)

writeDigitalPin (a, 'D13', 1);%Կրկնեք վերևում

playTone (a, 'D9', 400,.25);

writeDigitalPin (a, 'D13', 0)

դադար (.25)

writeDigitalPin (a, 'D13', 1)

playTone (a, 'D9', 200,.25);

writeDigitalPin (a, 'D13', 0)

դադար (.25)

writeDigitalPin (a, 'D13', 1) %Կրկնել վերը նշվածը

playTone (a, 'D9', 400,.25);

writeDigitalPin (a, 'D13', 0)

դադար (.25)

writeDigitalPin (a, 'D13', 1)

playTone (a, 'D9', 200,.25);

writeDigitalPin (a, 'D13', 0)

դադար (.25)

writeDigitalPin (a, 'D13', 1) %Կրկնել վերը նշվածը

playTone (a, 'D9', 400,.25);

writeDigitalPin (a, 'D13', 0)

դադար (.25)

writeDigitalPin (a, 'D13', 1)

playTone (a, 'D9', 200,.25);

writeDigitalPin (a, 'D13', 0)

դադար (.25)

ուրիշ

writeDigitalPin (a, 'D12', 1)%, եթե լարումը 2 -ից պակաս է, միացրեք կանաչ LED

writeDigitalPin (a, 'D13', 0) Red LED- ի շրջադարձ

վերջ

վերջ

Քայլ 4: Flex ցուցիչի միացում

Flex ցուցիչի միացում
Flex ցուցիչի միացում
Flex ցուցիչի միացում
Flex ցուցիչի միացում
Flex ցուցիչի միացում
Flex ցուցիչի միացում
Flex ցուցիչի միացում
Flex ցուցիչի միացում

Անհրաժեշտ նյութեր

1.) 1 Flex ցուցիչ

2.) 1 10K Օմ դիմադրություն

3.) 8 Jumper լարերը

*Անդրադարձեք համապատասխանաբար նկարներին:

Այս շղթայում մենք չափելու ենք ճկունությունը: Flexկվող սենսորը օգտագործում է ածխածինը պլաստիկի շերտի վրա ՝ փոփոխական դիմադրության պես գործելու համար, բայց պտուտակը պտտելով դիմադրությունը փոխելու փոխարեն, դուք փոխում եք բաղադրիչը ճկելով: Լարման բաժանարար `դիմադրության փոփոխությունը հայտնաբերելու համար: Մեր դեպքում, ճկվող սենսորը կօգտագործի գնացքը հայտնաբերելու համար, որը LCD էկրանին հրաման կտա (տես նկարը) `« Գնացքը մոտենում է »հաղորդագրությունը կարդալու համար:

*Նկարներում, որոնք ցույց են տալիս Flex Sensor- ի միացման հրահանգները, վերաբերում են միայն Flex Sensor- ի միացմանը վերաբերող լարերին: Անտեսեք Servo- ի էլեկտրագծերը:

Հաղորդալարերի կապումներն են ՝

Քայլ 1. Arduino- ի տախտակին POWER բաժնում միացրեք 1 լար 5V լարման և 1 մետաղալար մուտքի GND (հող): Միացրեք 5 Վ լարի մյուս ծայրը տպատախտակի վրա դրված դրական (+) մուտքի մեջ: Միացրեք GND լարի մյուս ծայրը տպատախտակի վրա բացասական (-) մուտքի մեջ:

Քայլ 2. Arduino- ի տախտակին ANALOG IN բաժնում միացրեք 1 -ը A0 մուտքագրման մեջ: Միացրեք այդ մետաղալարի ծայրը տպատախտակի j20 մուտքի մեջ:

Քայլ 3. Arduino տախտակին DIGITAL I / O բաժնում միացրեք 1 մետաղալարը մուտքի մեջ 9. Մյուս ծայրը միացրեք մուտքը a3:

Քայլ 4. Տախտակի վրա միացրեք 1 մետաղալարը դրական (+) մուտքի մեջ: Միացրեք մյուս ծայրը h24 մուտքագրման մեջ:

Քայլ 5. Տախտակի վրա միացրեք 1 մետաղալարը բացասական (+) մուտքի մեջ: Միացրեք մյուս ծայրը a2 մուտքագրման մեջ:

Քայլ 6. Տախտակի վրա միացրեք 1 մետաղալարը բացասական (-) մուտքի մեջ: Միացրեք մյուս ծայրը մուտքագրման մեջ b1:

Քայլ 7. Տախտակի վրա միացրեք 1 մետաղալարը բացասական (-) մուտքի մեջ: Միացրեք մյուս ծայրը i19 մուտքագրման մեջ:

Քայլ 8. Տախտակի վրա տեղադրեք դիմադրությունը i20 և i24 մուտքերում:

*Վերջին նկարը վերաբերում է իրական աշխարհի ծրագրերին:

Քայլ 5. Միացրեք Arduino- ն LCD- ին

Միացրեք Arduino- ն LCD- ին
Միացրեք Arduino- ն LCD- ին
Միացրեք Arduino- ն LCD- ին
Միացրեք Arduino- ն LCD- ին
Միացրեք Arduino- ն LCD- ին
Միացրեք Arduino- ն LCD- ին

*Հետևեք այս հղմանը (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…) և այնուհետև անդրադարձեք ստորև բերված քայլերին ՝ LCD- ն Arduino- ին միացնելու համար.

Քայլ 1: Բացեք zip ֆայլը

Քայլ 2. Բացեք ReadMe ֆայլը և հետևեք հրահանգներին

Անհրաժեշտ նյութեր

1.) Այս սարքի նման 16x2 LCD SparkFun- ից -

2.) Jumper լարերը

*Անդրադարձեք համապատասխանաբար նկարներին:

Այս քայլը ցույց կտա, թե ինչպես ստեղծել LCD հավելյալ գրադարան և ցուցադրել «Գնացքը գալիս է» LCD- ով:

Հաղորդալարերի կապումներն հետևյալն են.

LCD Pin -> Arduino Pin

1 (VSS) -> Գրունտ

2 (VDD) -> 5V

3 (V0) -> Միջին քորոց Flex Sensor- ի վրա

4 (RS) -> D7

5 (R/W) -> Ground

6 (E) -> d6

11 (DB4) - D5 (PWM)

12 (DB5) -> D4

13 (DB6) -> D3 (PWM)

14 (DB7) -> D2

15 (LED+) -> 5 Վ

16 (LED-) -> Գրունտ

Քայլ 6. Փափուկ պոտենցիոմետրի միացում

Փափուկ պոտենցիոմետրի միացում
Փափուկ պոտենցիոմետրի միացում
Փափուկ պոտենցիոմետրի միացում
Փափուկ պոտենցիոմետրի միացում
Փափուկ պոտենցիոմետրի միացում
Փափուկ պոտենցիոմետրի միացում

Անհրաժեշտ նյութեր

1.) 1 LED

2.) 1 փափուկ պոտենցիոմետր

3.) Jumper լարերը

4.) 3 330 Օմ դիմադրություն

5.) 10K Օմ դիմադրություն

*Անդրադարձեք համապատասխանաբար նկարներին:

Այս շղթայում մենք մտադիր ենք օգտագործել մեկ այլ տեսակի փոփոխական դիմադրություն ՝ փափուկ պոտենցիոմետր: Սա բարակ և ճկուն ժապավեն է, որը կարող է որոշել, թե որտեղ է ճնշում գործադրվում: Downապավենի տարբեր մասերի վրա սեղմելով ՝ կարող եք դիմադրությունը փոխել 100 -ից 10 Կ Օմ: Դուք կարող եք օգտագործել այս ունակությունը պոտենցիոմետրի վրա կամ որպես կոճակ հետևելու շարժմանը: Այս միացումում մենք գործարկելու ենք փափուկ պոտենցիոմետրը ՝ RGB LED- ը վերահսկելու համար:

Քայլ 1. Arduino տախտակին DIGITAL I / O բաժնում միացրեք 1 կապը մուտքի 10 -ին, իսկ 1 կապը `մուտքի 11. Համապատասխանաբար, այդ կապերի մյուս ծայրը միացրեք h6 և h7 մուտքին:

Քայլ 2. Տախտակի վրա միացրեք LED- ը a4, a5, a6 և a7 մուտքերի մեջ:

Քայլ 3. Շրջանակային տախտակի վրա տեղադրեք 3 330 օհմ ռեզիստորները e4-g4, e6-g6 և e7-g7 մուտքերում:

Քայլ 4. Տախտակի վրա միացրեք 1 կապը մուտքի e5- ին: Միացրեք այդ քորոցի մյուս ծայրը բացասական (-) մուտքի մեջ:

Քայլ 5. Տախտակի վրա տեղադրեք 10K օմ դիմադրիչը i19- բացասական (-) մուտքերի մեջ:

Քայլ 6. Տախտակի վրա միացրեք 1 կապը j18- ին: Միացրեք այդ քորոցի մյուս ծայրը դրական (+) մուտքի մեջ:

Քայլ 7. Տախտակի վրա միացրեք 1 կապը j20 մուտքագրման մեջ: Միացրեք այդ քորոցի մյուս ծայրը բացասական (-) մուտքի մեջ:

Քայլ 7: Փորձարկեք ձեր կատարելագործումը խելացի երկաթուղային համակարգի վրա

Փորձեք ձեր կատարելագործումը խելացի երկաթուղային համակարգի վրա
Փորձեք ձեր կատարելագործումը խելացի երկաթուղային համակարգի վրա
Փորձարկեք ձեր կատարելագործումը խելացի երկաթուղային համակարգի վրա
Փորձարկեք ձեր կատարելագործումը խելացի երկաթուղային համակարգի վրա

Այս պահին ձեր MATLAB կոդը պետք է լինի ֆունկցիոնալ, և Arduino տախտակը պետք է ճշգրիտ միացված լինի բոլոր ավելացված բաղադրիչների հետ միասին: Փորձեք այն հավաստագրված Smart Rail System- ում և տեսեք, թե արդյոք ձեր կատարելագործումներն ավելի անվտանգ են դարձնում համակարգը:

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