
Բովանդակություն:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48

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


Մուտքեր:
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 ցուցիչի միացում




Անհրաժեշտ նյութեր
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- ին



*Հետևեք այս հղմանը (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- ում և տեսեք, թե արդյոք ձեր կատարելագործումներն ավելի անվտանգ են դարձնում համակարգը:
Խորհուրդ ենք տալիս:
Ինչպես. Raspberry PI 4 Headless (VNC) տեղադրելը Rpi- պատկերիչով և նկարներով. 7 քայլ (նկարներով)

Ինչպես. Raspberry PI 4 Headless (VNC) տեղադրելը Rpi-imager- ով և նկարներով. Ես պլանավորում եմ օգտագործել այս Rapsberry PI- ն իմ բլոգում զվարճալի նախագծերի փունջում: Ազատորեն ստուգեք այն: Ես ուզում էի նորից օգտագործել իմ Raspberry PI- ն, բայց իմ նոր վայրում Ստեղնաշար կամ մկնիկ չկար: Որոշ ժամանակ անց ես ստեղծեցի ազնվամորի
Atari Punk Console With Baby 8 քայլ հաջորդականիչ. 7 քայլ (նկարներով)

Atari Punk Console With Baby 8 Step Sequencer: Այս միջանկյալ կառուցվածքը հանդիսանում է Atari Punk Console- ը և Baby 8 Step Sequencer- ը `բոլորը մեկում: Դուք կարող եք տրորել Bantam Tools Desktop PCB ֆրեզերային մեքենայի վրա: Այն բաղկացած է երկու տպատախտակից ՝ մեկը օգտագործողի միջերեսի (UI) տախտակ է, իսկ մյուսը ՝ կոմունալ ծառայությունների
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ) `8 քայլ

Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ). Ուլտրաձայնային ձայնային փոխարկիչներ L298N Dc կանացի ադապտեր էներգիայի մատակարարում արական dc pin Arduino UNOBreadboard և անալոգային նավահանգիստներ ՝ կոդը փոխարկելու համար (C ++)
Ինչպես ապամոնտաժել համակարգիչը հեշտ քայլերով և նկարներով. 13 քայլ (նկարներով)

Ինչպես ապամոնտաժել համակարգիչը հեշտ քայլերով և նկարներով. Սա հրահանգ է, թե ինչպես ապամոնտաժել համակարգիչը: Հիմնական բաղադրիչների մեծ մասը մոդուլային են և հեշտությամբ հանվում են: Այնուամենայնիվ, կարևոր է, որ դուք կազմակերպված լինեք դրա վերաբերյալ: Սա կօգնի ձեզ զերծ պահել մասերի կորստից, ինչպես նաև նորից հավաքելիս
Ciclop 3D Scanner My Way Քայլ առ քայլ ՝ 16 քայլ (նկարներով)

Ciclop 3D Scanner My Way Քայլ առ քայլ. Ողջույն, ես գիտակցելու եմ հանրահայտ Ciclop 3D սկաները: Բոլոր այն քայլերը, որոնք լավ բացատրված են սկզբնական նախագծում, ներկա չեն: Ես որոշ շտկումներ կատարեցի ՝ գործընթացը պարզեցնելու համար, նախ Ես տպում եմ հիմքը, իսկ հետո վերականգնում եմ PCB- ն, բայց շարունակում եմ