Բովանդակություն:
- Քայլ 1: Նախադրյալներ
- Քայլ 2: Նախադրյալներ (չեն)
- Քայլ 3: Նախադրյալներ (չեն)
- Քայլ 4: Նախադրյալներ (չեն)
- Քայլ 5. Մաքրել Matlab- ը ՝ պատրաստվելու գործարկման կոդին
- Քայլ 6. Ընտրեք 10 նորմալ աչքի պատկեր և 10 պատկեր դիաբետիկ ռետինոպաթիայի ախտանիշներով
- Քայլ 7: Ընտրեք 10 նորմալ աչքի պատկեր և 10 պատկեր դիաբետիկ ռետինոպաթիայի ախտանիշներով (միացեք)
- Քայլ 8. Ստեղծեք 2 փոփոխական (նորմալ և ախտորոշված) և յուրաքանչյուրը հավասար 0 -ի
- Քայլ 9. Ստեղծեք օղակ `նորմալ պատկերներ ինքնաբերաբար վերբեռնելու համար
- Քայլ 10: Ստեղծեք օղակ `նորմալ պատկերներ ինքնաբերաբար վերբեռնելու համար (con't)
- Քայլ 11: Կտրեք պատկերի սահմանները
- Քայլ 12: Ստեղծեք մոխրագույն մասշտաբի պատկեր
- Քայլ 13: Ստեղծեք հակապատկեր պատկեր
- Քայլ 14: Բարելավեք հակապատկերային պատկերը
- Քայլ 15: Ստեղծեք միջին զտիչ
- Քայլ 16. Համակցեք միջինացված ֆիլտրը հակապատկեր պատկերի հետ
- Քայլ 17. Պատրաստեք նոր միջին դիմակ ՝ հանելով պիքսելները
- Քայլ 18. Ստեղծեք երկուական զտված պատկեր
- Քայլ 19. Հեռացրեք զտված պատկերներում հայտնաբերված փոքր բշտիկները
- Քայլ 20. Ստեղծեք սկավառակի կառուցվածքային տարր
- Քայլ 21. Կատարեք մորֆոլոգիական փակ գործողություններ
- Քայլ 22. Գտեք առնվազն 8 -ի միացման օբյեկտները
- Քայլ 23. Գտեք միացված պիքսելների առավելագույն թիվը
- Քայլ 24. Սահմանեք պիքսելների առավելագույն արժեքները 0 և գտեք պիքսելներ> = 26 պիքսելային կապով
- Քայլ 25. Հեռացրեք արյան անոթները պատկերով
- Քայլ 26. Նկարի ցուցադրում
- Քայլ 27. Հեռացրեք անոթները և հաշվեք արյան բշտիկները
- Քայլ 28. Աչքի ցանցաթաղանթի պատկերի ախտորոշում ՝ որոշված արյան թրոմբների քանակի հիման վրա
- Քայլ 29. Եթե կա ավելի քան 5 բշտիկ…
- Քայլ 30. Կրկնեք ֆիլտրման գործընթացը նորմալ պատկերների համար ՝ պատկերի թվանշանային արժեքներով ՝ 2 և 3
- Քայլ 31. Կրկնեք ախտորոշված պատկերների ամբողջ գործընթացը
- Քայլ 32. Վիճակագրական վերլուծություն
- Քայլ 33: Գտեք վստահության միջակայք
Video: Դիաբետիկ ռետինոպաթիայի ավտոմատ ախտորոշում MATLAB- ի միջոցով. 33 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
(Տես վերևի ծածկագիրը)
Դիաբետիկ ռետինոպաթիան շաքարային դիաբետի հետ կապված աչքի հիվանդություն է, որն առաջանում է արյան մեջ շաքարի բարձր մակարդակի պատճառով: Արյան մեջ շաքարի բարձր մակարդակը առաջացնում է ցանցաթաղանթների անոթների ուռչում, ինչը հանգեցնում է խոշորացված անոթների և նույնիսկ անոթների արտահոսքի, ինչը հանգեցնում է ցանցաթաղանթի պատկերների մուգ բծերի: Այս ծածկագրով մենք նպատակ ունենք արյան անոթների արտահոսքի բծերի տեսքը օգտագործել որպես ֆոնային դիաբետիկ ռետինոպաթիայի ցուցանիշ, չնայած իրական աշխարհում կպահանջվեն ախտորոշման հետագա տեխնիկա: Այս ծածկագրի նպատակն է ավտոմատացնել պատկերի մշակումը և ցանցաթաղանթի պատկերների ախտորոշումը `պարզելու շագանակագեղձի ռետինոպաթիայի նշանները, որոնք ցուցադրվում են ցանցաթաղանթի պատկերների մուգ բծերի միջոցով:
10 նորմալ ցանցաթաղանթ և 10 ախտորոշված ցանցաթաղանթ պատկերներ մշակվեցին մի ծածկագրի միջոցով, որը նախ կարդում և զտում է պատկերները, այնուհետև քանակականացնում մուգ բծերը `որոշելու համար, թե արդյոք առկա են շաքարային ռետինոպաթիայի ախտանիշներ` ելնելով տվյալ շեմից: Արդյունքներն այնուհետև տպվում են հրամանի պատուհանի վրա ՝ դիտողի մեկնաբանման համար:
Քայլ 1: Նախադրյալներ
1. Համոզվեք, որ MATLAB ծրագիրը ներբեռնված է ձեր համակարգչում:
2. Ներբեռնեք txt ֆայլը, որը գտնված է հղման մեջ: (Սեղմեք «ctrl+s» ՝ MATLAB ծածկագրի նույն գրացուցակում պահելու համար)
Քայլ 2: Նախադրյալներ (չեն)
4. Բացեք MATLAB- ը և հրամանի պատուհանում մուտքագրեք «uiimport»:
5. Ընտրեք officialdiagnoses.txt ֆայլը և ներմուծեք այն MATLAB որպես բջջային մատրիցա:
6. Համոզվեք, որ «պաշտոնական ախտորոշումները» տեսնում եք որպես փոփոխական աշխատանքային տարածքում:
Քայլ 3: Նախադրյալներ (չեն)
7. Ներբեռնեք ModWald.m գործառույթը, որը կարող է ստանալ վերը նշված կոդից կամ ներբեռնել այն Կտավից:
(Ծածկագիրը տրամադրվել է պրոֆեսոր Քինգի և պրոֆեսոր Չոյի կողմից)
Քայլ 4: Նախադրյալներ (չեն)
8. Ներբեռնեք 400 հում պատկեր ՝ «STARE» նախագծի տվյալների բաժնից:
Քայլ 5. Մաքրել Matlab- ը ՝ պատրաստվելու գործարկման կոդին
Ավելացնել կոդին ՝
1. փակել բոլորը (փակում է նախկինում բացված բոլոր պատկերները)
2. clearvars - բացառությամբ պաշտոնական ախտորոշումների (Մաքրում է բոլոր փոփոխականները, բացառությամբ նախկինում ներմուծված txt ֆայլերի պաշտոնական ախտորոշումների)
3. cclc (մաքրում է հրամանի պատուհանը)
Քայլ 6. Ընտրեք 10 նորմալ աչքի պատկեր և 10 պատկեր դիաբետիկ ռետինոպաթիայի ախտանիշներով
1. Վերցրեք ախտորոշման տեքստային ֆայլը և հանեք պատկերի անունները: Այս անունները պարունակվում են տեքստային ֆայլի առաջին սյունակում, այնպես որ դրանք հանելու համար մուտքագրեք «պաշտոնական ախտորոշումներ (:, 1)»: Պատկերների անունների մատրիցան վերագրված էր փոփոխականին ՝ «all_image_numbers»
2. Փոխակերպել all_image_numbers փոփոխականը բջջային զանգվածից մատրիցային զանգված օգտագործելով cell2mat գործառույթը
Քայլ 7: Ընտրեք 10 նորմալ աչքի պատկեր և 10 պատկեր դիաբետիկ ռետինոպաթիայի ախտանիշներով (միացեք)
3. Ընտրեք 10 սովորական աչքի պատկեր ՝ կոդը գործարկելու համար: Այս դեպքում ընտրված պատկերներն էին 278, 199, 241, 235, 35, 77, 82, 164, 239, 170:
Տեղադրեք այս թվերը մատրիցայի մեջ և նշանակեք դրանք մի փոփոխականի, որը կկոչվի պատկերները բեռնելիս:
4. Կրկնեք 3 -րդ քայլը ցանցաթաղանթային պատկերների համար, որոնց մոտ ախտորոշվել է դիաբետիկ ռետինոպաթիա: Այս դեպքում ընտրված պատկերներն էին 139, 137, 136, 135, 133, 140, 141, 116, 157, 188:
Քայլ 8. Ստեղծեք 2 փոփոխական (նորմալ և ախտորոշված) և յուրաքանչյուրը հավասար 0 -ի
Ստեղծեք այս փոփոխականները for loop- ից առաջ ՝ օղակի թվերը նախաստորագրելու համար:
Քայլ 9. Ստեղծեք օղակ `նորմալ պատկերներ ինքնաբերաբար վերբեռնելու համար
1. Ստեղծեք for loop
2. Հաշվարկի փոփոխականը (i, այս դեպքում) սահմանեք 1-10 արժեքների մատրիցայի վրա: Հաշվարկի այս փոփոխականը կօգտագործվի յուրաքանչյուր պատկեր առանձին կանչելու համար
3. Վերցրեք i տարրը պատկերների մատրիցում ՝ num2str գործառույթի միջոցով պատկերի տողը տողից հանելու և փոխարկելու համար:
Գտեք պատկերի անվան մեջ առկա թվանշանների թիվը ՝ օգտագործելով թվային գործառույթը: Նշանակեք այս արժեքը փոփոխականին ՝ digit_normal: Այս թիվը պետք է լինի 1 -նիշ թվերի համար 1, երկնիշ թվերի համար 2 և եռանիշ թվերի համար `3: Այս տեղեկատվությունը կօգտագործվի պատկերներ ինքնաբերաբար կանչելու համար:
Քայլ 10: Ստեղծեք օղակ `նորմալ պատկերներ ինքնաբերաբար վերբեռնելու համար (con't)
3. Ստեղծեք if հայտարարություն, որը պարունակում է նախորդ քայլերի բոլոր երեք հնարավորությունները: Եթե պատկերի անունն ունի 1 նիշ, ապա պատկերը կկոչվի որպես «im000», եթե այն ունի 2 թվանշան, պատկերը կկոչվի որպես «im00», իսկ եթե այն ունի 3, ապա պատկերը կկոչվի որպես «im0»:
4. Յուրաքանչյուր if հայտարարության ներքո նշանակեք փոփոխական ՝ imread «im» - ին համապատասխան, եթե համապատասխան թվով զրոներ (ինչպես նկարագրված է վերևում), որին հաջորդում է i- ն:
Քայլ 11: Կտրեք պատկերի սահմանները
Վերցրեք սկզբնական պատկերը և կիրառեք իմկրոպլտր ՝ սև եզրերը վերացնելու և I_crop փոփոխականին նշանակելու համար: Բերքի ուղղանկյունը նշվում է մատրիցի միջոցով [95, 95, 500, 410]:
Քայլ 12: Ստեղծեք մոխրագույն մասշտաբի պատկեր
Վերցրեք կտրված պատկերը և կիրառեք rbg2gray զտիչը ՝ պատկերը մոխրագույն չափի փոխելու համար: Այս պատկերը նշանակեք I2 փոփոխականին:
Քայլ 13: Ստեղծեք հակապատկեր պատկեր
Վերցրեք I2 պատկերը և օգտագործեք imadjust- ը ՝ ուժգնության արժեքները վերավաճառելու համար:
Վերցրեք արժեքներ, որոնք ընկած են [0.2, 0.7] միջակայքում և դրանք վերավաճառեք մինչև [0, 1]: Գամման սահմանվել է 0.8 ՝ պատկերը ավելի պայծառ դարձնելու համար: Նոր պատկերը հանձնարարեք I_adjusted- ին:
Քայլ 14: Բարելավեք հակապատկերային պատկերը
Վերցրեք I_ ճշգրտված պատկերը և օգտագործեք adapthisteq գործառույթը ՝ հակադրությունը բարձրացնելու համար:
Adapthisteq շարահյուսությունը պահանջում է պատկերի անվանումը, I_adjusted, ‘numTiles’, numTiles- ի չափը, ‘nBins’ և աղբարկղերի թիվը: NumTiles- ի չափը սահմանվում է [8 8] ՝ պատկերը բաժանելով 8x8 սալիկների և աղբարկղերի թիվը `28: Պատկերը նշանակեք I_constrast- ին:
Քայլ 15: Ստեղծեք միջին զտիչ
Ստեղծեք «meanfilt» անունով փոփոխական ՝ օգտագործելով fspecial գործառույթը: Մուտքագրեք «միջին գործառույթ» ՝ միջինացված զտիչ ստեղծելու և լոգարիթմական պատուհանի չափի համար տեղադրեք [90 90]:
Քայլ 16. Համակցեք միջինացված ֆիլտրը հակապատկեր պատկերի հետ
Ստեղծեք mask_mean անունով նոր փոփոխական և օգտագործեք imfilter գործառույթը ՝ I_contrast պատկերը վերցնելու և նախկինում ստեղծված միջին զտիչը կիրառելու համար:
Քայլ 17. Պատրաստեք նոր միջին դիմակ ՝ հանելով պիքսելները
Ստեղծեք mask_mean2 անունով փոփոխական և օգտագործեք imsubtract գործառույթը, որպեսզի յուրաքանչյուր պիքսելի արժեքը I_contrast- ում հանեք mask_mean- ի համապատասխան պիքսելից:
Քայլ 18. Ստեղծեք երկուական զտված պատկեր
Մոխրագույն գույնի պատկերները սև ու սպիտակ դարձնել ՝ օգտագործելով իմբինարիզացիա: Մուտքային դիմակ_ միջոց 2, «հարմարվողական», «նախնական բևեռականություն», «մութ», «զգայունություն», 0.6: Նշանակեք այս նոր պատկերը ՝ mask_binarize:
Քայլ 19. Հեռացրեք զտված պատկերներում հայտնաբերված փոքր բշտիկները
Mask_binarize- ի վրա bwareaopen գործառույթի միջոցով հեռացրեք 100 պիքսելից պակաս կապ ունեցող օբյեկտները և սահմանեք շեմը 100 -ի: Փոփոխականին նշանակեք bw:
Քայլ 20. Ստեղծեք սկավառակի կառուցվածքային տարր
Ստեղծեք սկավառակի կառուցվածքային տարր (2 շառավղով) ՝ օգտագործելով strel գործառույթը: Հանձնարարեք այն se.
Քայլ 21. Կատարեք մորֆոլոգիական փակ գործողություններ
Վերցրեք bw և կիրառեք imclose գործառույթը կառուցվածքային տարրի վրա ՝ օբյեկտի վրա ձևաբանական սերտ գործողություն կատարելու համար:
Քայլ 22. Գտեք առնվազն 8 -ի միացման օբյեկտները
Վերցրեք bw և օգտագործեք bwconncomp ՝ պատկերում գտնելով առնվազն 8 -ի միակցելիություն ունեցող օբյեկտներ: Թվերի ելքը նշանակեք cc_1- ին:
Քայլ 23. Գտեք միացված պիքսելների առավելագույն թիվը
Օգտագործեք բջջային զվարճանքի գործառույթը ՝ «թվանշան» գործառույթը կատարելու համար ՍԴ յուրաքանչյուր բջիջ: Սա գտնում է PixelIdxList բջիջի տարրերի քանակը: Արժեք նշանակեք «numPixels» - ին:
Գտեք numPIxels- ի առավելագույն արժեքները: Ամենամեծ առավելագույնը նշանակեք «ամենամեծին», իսկ առավելագույն արժեքի ինդեքսը ՝ «idx» -ին:
Քայլ 24. Սահմանեք պիքսելների առավելագույն արժեքները 0 և գտեք պիքսելներ> = 26 պիքսելային կապով
= 26 Pixel Connectivity "src =" https://content.instructables.com/ORIG/FXY/DTW3/JEOIIEL4/FXYDTW3JEOIIEL4-p.webp
= 26 Pixel Connectivity "src =" https://content.instructables.com/ORIG/FXO/GBX1/JEOIIELB/FXOGBX1JEOIIELB-p.webp
= 26 Pixel Connectivity "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">
= 26 Pixel Connectivity "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">
«Bw» պատկերում ամենամեծ արժեքներով պիքսելները սահմանեք 0 ՝ պիքսելները դարձնելով սև:
Գտեք պատկերի առնվազն 26 պիքսել կապ ունեցող օբյեկտները ՝ օգտագործելով bwconncomp: Նշանակել cc_1 փոփոխականին:
Քայլ 25. Հեռացրեք արյան անոթները պատկերով
Հեռացրեք պատկերում դեռ առկա անոթները ՝ օգտագործելով bwpropfilt գործառույթը [0, 0.9] միջակայքով:
[0.9, 1] -ը բացառվում է, քանի որ 1 -ին մոտ արժեքները ցույց են տալիս տող: Հանձնարարեք «RemoveVessels» - ին:
Քայլ 26. Նկարի ցուցադրում
Displayուցադրել յուրաքանչյուր զտված պատկեր ենթածրագրում: Ցուցադրել «սահման» և «ամուր» մուտքերով, ցուցադրում է յուրաքանչյուր պատկերի ենթածրագրի կառուցվածքում: Յուրաքանչյուր պատկերին ավելացրեք վերնագիր `տարբերելու համար, թե որ ֆիլտրն է օգտագործվել:
Քայլ 27. Հեռացրեք անոթները և հաշվեք արյան բշտիկները
1. Վերցրեք «RemoveVessels» - ը և կիրառեք «Centroid» գործառույթը տարածաշրջանային ծրագրերում ՝ պատկերում պատկերված օբյեկտների կենտրոնախույսերը բացահայտելու համար: Այս առարկաները պետք է համապատասխանեն պատկերում առկա արյան խցանումներին:
2. Հաշվեք արյան թրոմբների քանակը, որոնք հայտնաբերվել են կենտրոնական մատրիցի երկարությունը վերցնելով:
Քայլ 28. Աչքի ցանցաթաղանթի պատկերի ախտորոշում ՝ որոշված արյան թրոմբների քանակի հիման վրա
Օգտագործեք եթե հայտարարությունները `պատկերը ախտորոշելու համար` հիմնված հայտնաբերված արյան խցանումների քանակի վրա:
Եթե հայտնաբերված ցենտրոիդների թիվը փոքր էր կամ հավասար էր 5 -ի, ապա պատկերը նույնականացվեց որպես նորմալ:
Եթե ցենտրոիդների թիվը 5 -ից մեծ էր, պատկերի մոտ ախտորոշվում էր դիաբետիկ ռետինոպաթիա:
Արդյունքը տպվում է հրամանի պատուհանի վրա ՝ օգտագործելով fprintf:
Քայլ 29. Եթե կա ավելի քան 5 բշտիկ…
Կրկնեք վերը նշված հրահանգները ախտորոշված պատկերների համար ՝ որպես այլ հայտարարություն: Այս հատվածը կգործի, եթե բլբաների թիվը 5 -ից մեծ լինի:
Ավարտեք if հայտարարությունը:
Քայլ 30. Կրկնեք ֆիլտրման գործընթացը նորմալ պատկերների համար ՝ պատկերի թվանշանային արժեքներով ՝ 2 և 3
Կրկնեք գործընթացը բնօրինակի մնացորդի համար, եթե numel- ի դեպքում (երբ պատկերի թվանշանի թվանշանները) հավասար է 2 -ի և 3 -ի: Սա լրացնում է նորմալ պատկերների for loop- ը:
Վերջացրեք for loop- ը:
Քայլ 31. Կրկնեք ախտորոշված պատկերների ամբողջ գործընթացը
Կրկնեք ամբողջ գործընթացը ՝ օգտագործելով «թվեր_է_քաղվածք_ ախտորոշված» մատրիցով թվարկված ախտորոշված պատկերները:
Համոզվեք, որ անցեք յուրաքանչյուր գործիչ (i) և փոխեք այն գործչի (i+10), որպեսզի ախտորոշված թվերը հայտնվեն որպես պատկերներ 11 -ից 20 -ը:
Քայլ 32. Վիճակագրական վերլուծություն
1. 'Actual_Diagnosis_Matrix' օգտագործվում է արդյունքները համեմատելու համար txt ֆայլում հայտնաբերված պաշտոնական ախտորոշման հետ: Առաջին 10 զրոները նշում են, որ առաջին 10 պատկերները պետք է լինեն նորմալ: Վերջին 10 -ը ցույց են տալիս, որ վերջին 10 պատկերները պետք է դասակարգվեն որպես դիաբետիկ ռետինոպաթիա:
2. Կրկնակի հավասար նշանը, որն օգտագործվում է «number_crect» ստեղծելու համար, ստեղծում է տրամաբանական զանգված ՝ համեմատելով «Actual_Diagnosis_Matrix» - ի համապատասխան տարրերի արժեքը for- ի օղակից ստեղծված «Diagnosis_Matrix» - ի հետ:
Ախտորոշմանը համապատասխանող յուրաքանչյուր տարրի համար կավելացվի 1, ինչը նշանակում է, որ ծածկագիրը ճիշտ է ախտորոշել այդ պատկերը: Եթե դա սխալ է, այն մատրիցային կավելացնի 0:
Հետո, վերցնելով դրա գումարը, գումարվում է բոլոր մեկը: Այլ կերպ ասած, այն գտնում է ճիշտ ախտորոշված պատկերների գումարը:
3. «Վերջնական_ տոկոսային_ճիշտ» -ը հաշվարկված տոկոսն է, թե որքանով է ճշգրիտ ծածկագիրը ախտորոշել դիաբետիկ ռետինոպաթիա: Diagnosedիշտ ախտորոշված պատկերների թիվը բաժանվում է 20 -ի (նկարների ընդհանուր թիվը) և բազմապատկվում 100 -ով `հաջողված ախտորոշումների տոկոսը գտնելու համար:
Քայլ 33: Գտեք վստահության միջակայք
1. Համոզվեք, որ ներբեռնել եք ModWald.m- ը ՝ այն որպես գործառույթ կանչելու համար: Առանց գործառույթի, դուք ինքներդ պետք է հաշվեք վստահության միջակայքը ՝ օգտագործելով փոփոխված Wald մեթոդը:
2. ModWald գործառույթն ունի 2 մուտք, որտեղ առաջինը ճիշտ որոշված պատկերների թիվն է, իսկ երկրորդը `պատկերների ընդհանուր քանակը:
3. ModWald գործառույթը դուրս կբերի համամասնությունների վստահության միջակայքի ստորին և վերին սահմանները `ընտրանքային տվյալների ճշգրտության համար: Այլ կերպ ասած, դա ձեզ կտա տոկոսների ընդմիջում, որտեղ ծածկագրի ճշգրտության իրական տոկոսը կլինի:
4. Օգտագործեք ստորև բերված fprintf- ը ՝ վիճակագրությունը և վստահության միջակայքը հրամանի պատուհանում մուտքագրելու համար:
> fprintf ('ցանցաթաղանթի պատկերների 0%տոկոսը ճիշտ ախտորոշվել է ըստ պաշտոնական ախտորոշման: / n / n', Final_percentage_correct)
> fprintf («percentageշմարիտ տոկոսադրույքը, որով մեր ծածկագիրը ճիշտ ախտորոշելու է դիաբետիկ ռետինոպաթիան, / n կընկնի [%.3f, %.3f] միջակայքում, 20 նմուշառված պատկերի հիման վրա / n ', ստորին_կապված, վերին_կապված)
Խորհուրդ ենք տալիս:
Blynk հավելվածի միջոցով Nodemcu- ի միջոցով ինտերնետի միջոցով կառավարում. 5 քայլ
Blynk հավելվածի միջոցով Nodemcu- ի միջոցով ինտերնետի միջոցով կառավարելը. Բարև բոլորին, այսօր մենք ձեզ ցույց կտանք, թե ինչպես կարող եք վերահսկել LED- ը սմարթֆոնի միջոցով ինտերնետում
Ուլտրաձայնային տվիչի միջոցով ավտոմատ փողոցային լույսեր `3 քայլ
Ուլտրաձայնային տվիչի միջոցով ավտոմատ փողոցային լույսեր. Երբևէ մտածե՞լ եք, որ ինչպես են փողոցային լույսերը ավտոմատ կերպով միանում գիշերը և ինքնաբերաբար անջատվում առավոտյան: Կա՞ որևէ մարդ, ով միանում/անջատում է այս լույսերը: Փողոցի լույսերը միացնելու մի քանի եղանակ կա, բայց հետևյալ գ
Ավտոկանգառի օժանդակություն Հեշտ վերանորոգում / ախտորոշում ՝ 4 քայլ
Ավտոկանգառի օժանդակություն Հեշտ վերանորոգում / ախտորոշում. Լավ, եկեք սկսենք, ես ունեմ Chevrolet Avalanche մակնիշի ավտոմեքենա 2010 -ին, և այն ունի հետևի բամպերում կայանման 4 սենսոր: Այս անլուծելիը կարող է օգտագործվել և իմ փոխադրամիջոցի վրա ՝ ըստ իմ գիտության, եղանակի առջևից կամ Ռեայից կամ երկուսից էլ: Այսպիսով, ես գնացի դեպի իմ սիրած
Կոշտ սկավառակներ. Ախտորոշում, անսարքությունների վերացում և սպասարկում `3 քայլ
Կոշտ սկավառակներ. Ախտորոշում, անսարքությունների վերացում և սպասարկում. Ի՞նչ է կոշտ սկավառակը: Այն պարունակում է կոշտ սկավառակը, որտեղ ձեր բոլոր ֆայլերն ու թղթապանակները ֆիզիկապես տեղակայված են: Տեղեկատվությունը մագնիսականորեն պահվում է սկավառակի վրա, այնպես որ այն մնում է սկավառակի վրա նույնիսկ այն ժամանակ, երբ
Քայլ Servo շարժիչը սերիական հսկողության միջոցով Arduino- ի միջոցով օգտագործելով 3D տպիչ - Pt4: 8 քայլ
Arduino- ի միջոցով եռաչափ տպիչի միջոցով Step Servo Motor- ի սերիական կառավարում - Pt4. Motor Step շարքի այս չորրորդ տեսանյութում մենք կօգտագործենք այն, ինչ սովորել էինք նախկինում սերիական հաղորդակցության և իրական վերահսկողության միջոցով stepper servo շարժիչ կառուցելու համար: դիրքի հետադարձ կապ ՝ օգտագործելով դիմադրիչ կոդավորիչ, որը վերահսկվում է Arduino- ի կողմից: