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

Arduino IDE. Պատվերով տախտակների ստեղծում. 10 քայլ
Arduino IDE. Պատվերով տախտակների ստեղծում. 10 քայլ

Video: Arduino IDE. Պատվերով տախտակների ստեղծում. 10 քայլ

Video: Arduino IDE. Պատվերով տախտակների ստեղծում. 10 քայլ
Video: 1. Q Light Controller + Սկսել QLC +- ով: Արշավներ եւ գործառույթներ 2024, Նոյեմբեր
Anonim
Arduino IDE. Պատվերով տախտակների ստեղծում
Arduino IDE. Պատվերով տախտակների ստեղծում
Arduino IDE. Պատվերով տախտակների ստեղծում
Arduino IDE. Պատվերով տախտակների ստեղծում
Arduino IDE. Պատվերով տախտակների ստեղծում
Arduino IDE. Պատվերով տախտակների ստեղծում

Վերջին վեց ամիսների ընթացքում ես շատ ժամանակ եմ ծախսել տարբեր գրադարաններ տեղափոխելու համար Robo HAT MM1 տախտակին, որը մշակվել է Robotics Masters- ի կողմից: Սա հանգեցրեց նրան, որ շատ բան բացահայտվեց այս գրադարանների մասին, թե ինչպես են դրանք աշխատում կուլիսներում և ամենակարևորը `ինչ անել, որպեսզի հետագայում նոր տախտակներ ավելացվեն:

Սա առաջին գրառումներից է, որը ես կանեմ օգնելու մյուսներին, ովքեր ցանկանում են գրադարաններ տեղափոխել իրենց տախտակների համար: Տեղեկատվության աղբյուրներից շատերը կարող են անորոշ կամ դժվար ընկալելի լինել կողմնակի մարդկանց համար: Հուսով եմ, որ «ապաստուսաբանեմ» և կբացատրեմ, թե ինչպես հասնել հաջողակ նավահանգստի բոլորի համար:

Այսօր մենք կանդրադառնանք Arduino հարթակին: Այն ունի ավելի քան 700, 000 տարբեր տախտակների տարբերակներ ամբողջ աշխարհում և կրթության, արդյունաբերության և արտադրողների համար էլեկտրոնիկայի ամենահայտնի հարթակներից է:

Ես կարողացա գտնել միայն շատ սահմանափակ տեղեկատվության աղբյուրներ, թե ինչպես դա անել Google- ի բազմաթիվ որոնումներից հետո: Այսպիսով, ես մտածեցի, որ մանրամասն կգրեմ, թե ինչպես եմ դա արել:

Գնացի՜նք!

Քայլ 1: Նախքան սկսելը

Նախքան ծրագրային գրադարան կամ որոնվածը ձեր տախտակ տեղափոխելը սկսելը, դուք պետք է իմանաք օգտագործվող տեխնոլոգիայի մի քանի հիմնական կետեր և կարողանաք պատասխանել ստորև բերված հարցերին:

  1. Ինչ պրոցեսոր եք օգտագործում:
  2. Ի՞նչ ճարտարապետություն է այն օգտագործում:
  3. Արդյո՞ք ինձ հասանելի է այս միկրոպրոցեսորի տվյալների թերթը:
  4. Շուկայում կա՞ նմանատիպ տախտակ, որն օգտագործում է նույն միկրոպրոցեսորը:

Սրանք շատ կարևոր են: Դա կազդի բազմաթիվ ասպեկտների վրա, թե ինչպես եք մոտենում զարգացման գործընթացին:

Arduino- ի տախտակները սովորաբար օգտագործում են սահմանափակ թվով պրոցեսորների տեսակներ և ճարտարապետություններ: Առավել տարածվածը ATMEGA տեսականին է ՝ օգտագործելով AVR ճարտարապետությունը (Arduino Uno): Կան նոր սերունդներ Arduinos, որոնք դառնում են ավելի տարածված `օգտագործելով SAMD պրոցեսորները (ARM) և այլ ավելի հզոր պրոցեսորներ: Այսպիսով, կարևոր է ստուգել, թե որ մեկն եք օգտագործում:

Միկրոպրոցեսորի համար նախատեսված տվյալների թերթիկը բացարձակապես կարևոր է `ապահովելու համար, որ խորհուրդը արձագանքում է սպասվածին, երբ կազմաձևում եք որոնվածը: Առանց դրա, դուք չեք կարողանա սահմանել քորոցային ելքի ճիշտ գործառույթները կամ կարգավորել սերիական նավահանգիստները:

Ձեր օգտագործած պրոցեսորի մասին ձեզ անհրաժեշտ բոլոր տեղեկությունները ստանալուց հետո կարող եք սկսել նայել ծրագրակազմին և փոփոխել այն ՝ ձեր հարմարեցված տախտակի համար աշխատելու համար:

Քայլ 2: Ակնարկ

Projectանկացած նախագծի ամենադժվար մասը լավ ելակետ գտնելն է: Սա ոչնչով չի տարբերվում: Ես դժվարանում էի գտնել լավ ձեռնարկներ ՝ բավական մանրամասն նկարագրելով, թե ինչպես ստեղծել Arduino- ի համար հատուկ տախտակներ: Ձեռնարկների մեծ մասը ցույց է տալիս, թե ինչպես «ավելացնել սովորական տախտակ», բայց ոչ ՝ ինչպես «ստեղծել սովորական տախտակ»: Ահա մի կարճ ամփոփում, թե ինչ է ներառված:

  1. Ներբեռնեք գոյություն ունեցող խորհրդի սահմանումները և պատճենեք
  2. Սահմանման ֆայլերի թարմացում (variant.h, varient.cpp)
  3. Ստեղծել գրատախտակ (board.txt)
  4. Թարմացնել տախտակի տարբերակը (platform.txt)
  5. Տեղադրման նախապատրաստում (json)
  6. Arduino IDE- ում տախտակի տեղադրում

Յուրաքանչյուր քայլ մանրամասն կբացատրվի ստորև: Նաև ծավալուն քննարկում կլինի այն մասին, թե ինչպես է յուրաքանչյուր ֆայլ փոխազդում միմյանց հետ ՝ օգնելու պարզել, թե ինչպես է ամեն ինչ աշխատում Arduino IDE- ի հետևում:

Այս ձեռնարկի համար ես ձեզ ցույց կտամ, թե ինչպես ստեղծել հարմարեցված տախտակ SAMD պրոցեսորների համար: Ավելի կոնկրետ ՝ SAMD21G18A - որը միկրոպրոցեսոր է, որն օգտագործվում է Robo HAT MM1 տախտակի վրա, որը ես տեղափոխում էի:

Ես նաև ենթադրում եմ, որ դուք արդեն ունեք Arduino IDE 1.8 կամ ավելի ուշ ներբեռնված: Գրելու պահին ես օգտագործել եմ Arduino 1.8.9:

Քայլ 3. Ներբեռնեք գոյություն ունեցող տախտակները

Ներբեռնում գոյություն ունեցող տախտակները
Ներբեռնում գոյություն ունեցող տախտակները
Ներբեռնում գոյություն ունեցող տախտակները
Ներբեռնում գոյություն ունեցող տախտակները
Ներբեռնում գոյություն ունեցող տախտակները
Ներբեռնում գոյություն ունեցող տախտակները

Առաջին քայլն է ներբեռնել Arduino- ի ամենամոտ տարբերակը, որը համապատասխանում է ձեր տախտակին: SAMD տախտակների համար սա Arduino Zero- ն է:

Arduino IDE 1.6 -ից սկսած ՝ նոր տախտակներ շրջակա միջավայր ներբեռնելու մեթոդը եղել է ծրագրակազմի մշակողների տրամադրած հատուկ JSON ֆայլերի ավելացումը, այնուհետև «Տախտակների կառավարիչ» -ի միջոցով անհատական տախտակների տեղադրումը: Arduino IDE- ի նախորդ տարբերակներն օգտագործում էին այլ մեթոդ, որը մենք այսօր չենք քննարկի: Այս ձեռնարկում ավելի ուշ մենք կստեղծենք մեր սեփական JSON ֆայլը, այնուամենայնիվ, նախ պետք է ավելացնել Arduino Zero տախտակը ՝ օգտագործելով այս մեթոդը:

Մեր բախտը բերեց, որ այն տախտակը, որը մենք ցանկանում ենք ներբեռնել, JSON ֆայլի կարիք չունի, քանի որ JSON ֆայլը նախապես միավորված է Arduino IDE- ով, ուստի մեզ պարզապես անհրաժեշտ է տեղադրել տախտակը «Տախտակների կառավարիչից»:

Դա անելու համար գնացեք «Գործիքներ», ապա ընդլայնեք «Տախտակ» ցանկը: «Տախտակ» ցանկի վերևում կլինի «Տախտակների կառավարիչ»: Կտտացրեք այս ընտրացանկի ընտրանքին ՝ Տախտակների կառավարիչ դաստիարակելու համար:

(Տես նկարներ)

Երբ բացվում է Տախտակների կառավարիչը, այն կանդրադառնա բոլոր JSON ֆայլերին, որոնք նա պահել է Arduino IDE- ում և այնուհետև ներբեռնել կարգավորումները ֆայլից: Դուք պետք է տեսնեք առկա Arduino տախտակների երկար ցուցակ, որոնք կարող եք տեղադրել:

(Տես նկարներ)

Այս ձեռնարկի համար մեզ հետաքրքրում է միայն «Arduino SAMD տախտակները (32-բիթանոց ARM Cortex-M0+)» տախտակը, բայց դուք կարող եք շեղվել և տեղադրել այս պահին անհրաժեշտ տախտակը: Խնդրում ենք որոնել և տեղադրել «Arduino SAMD տախտակներ (32-բիթանոց ARM Cortex-M0+) տախտակ: Դա կարելի է անել ՝ կտտացնելով ցուցակից տեքստին, որին հաջորդում է աջ կողմում գտնվող «Տեղադրեք» կոճակը, որը կհայտնվի տեքստին կտտացնելուց հետո: Տեղադրելու համար կպահանջվի մի քանի րոպե:

Նոր տախտակներ տեղադրելու լրացուցիչ մանրամասների համար. Adafruit- ն այստեղ ունի հիանալի ձեռնարկ, որը բացատրում է, թե ինչպես տեղադրել իրենց Feature M0 տախտակները:

Այժմ, երբ տեղադրվել են տախտակի ֆայլերը, մենք կարող ենք պատճենել դրանք, որպեսզի դրանք փոփոխվեն ձեր հարմարեցված տախտակի համար:

Քայլ 4: Գտնել և պատճենել տախտակի ֆայլերը

Տախտակի ֆայլերի որոնում և պատճենում
Տախտակի ֆայլերի որոնում և պատճենում
Տախտակի ֆայլերի որոնում և պատճենում
Տախտակի ֆայլերի որոնում և պատճենում
Գտնել և պատճենել տախտակի ֆայլերը
Գտնել և պատճենել տախտակի ֆայլերը

Windows- ի համար տախտակի ֆայլերը գտնվում են (հիշեք, որ օգտվողի անունը փոխեք ձեր օգտանվան):

C: / Users / username / AppData / Local / Arduino15 / փաթեթներ

Այս թղթապանակում դուք պետք է մի փոքր ավելի խորանաք ՝ այն ֆայլերին հասնելու համար, որոնք անհրաժեշտ է պատճենել ՝ փոփոխելու համար: Այս ձեռնարկի համար մենք կգնանք և կստանանք Arduino Zero տախտակի ֆայլերը, որոնք կտեղադրվեն (հիշեք, որ օգտվողի անունը փոխեք ձեր օգտանվան):

C: / Users / username / AppData / Local / Arduino15 / packages / arduino / hardware / samd

Այս գրացուցակում տեղակայված տարբերակի համարակալված թղթապանակը պատճենեք ձեր ընտրած Փաստաթղթերի թղթապանակի կամ թղթապանակի նոր թղթապանակում: Այս ձեռնարկի նպատակների համար ես դրանք կդնեմ նոր թղթապանակում ՝ «Custom board» անունով Փաստաթղթերի ներսում:

Թղթապանակը պարունակում է մի շարք թղթապանակներ և գրացուցակներ: Նրանք, որոնք մենք կօգտագործենք, նշված են էկրանի պատկերի աղյուսակում:

Քայլ 5: Տարբերակի ստեղծում

Տարբերակի ստեղծում
Տարբերակի ստեղծում
Տարբերակի ստեղծում
Տարբերակի ստեղծում
Տարբերակի ստեղծում
Տարբերակի ստեղծում
Տարբերակի ստեղծում
Տարբերակի ստեղծում

Այժմ մենք պատրաստ ենք սկսել սովորական տախտակի մուտքի ստեղծումը: Այս ձեռնարկի համար ես որպես օրինակ կօգտագործեմ Robo HAT MM1- ը: Ինչպես արդեն նշվեց, դա SAMD- ի վրա հիմնված տախտակ է, որն առավել մոտ է Arduino Zero կառուցվածքին:

Մենք կսկսենք տարբերակների պանակ մտնելը և այնտեղ տեղադրված arduino_zero պանակը պատճենելը: Տախտակի նոր տարբերակը կվերանվանենք «robohatmm1»: Դուք կարող եք ձերն անվանել այն, ինչ ցանկանում եք:

(Տես նկարը)

Robohatmm1 պանակի ներսում կլինեն երկու կապում, որոնք մենք պետք է սկսենք խմբագրել ՝ variant.cpp և variant.h: Երկուսն էլ բացեք:

Սա որոշ ժամանակ տևեց, որպեսզի ես աշխատեմ, ուստի ես դա կբացատրեմ այստեղ ՝ ձեզ որոշ ժամանակ խնայելու համար: Variant.cpp ֆայլը պարունակում է կապերի շատ մեծ զանգված, որը հղում է կատարում variant.h- ի վրա: Բոլոր pin- ի հղումները variant.h- ում հղում են variant.cpp զանգվածի որոշակի դիրքում գտնվող pin- ի կազմաձևին:

(Տես երկու ֆայլով սքրինշոթ)

Այսպիսով, ձեր խմբագրումների մեծ մասը տեղի է ունենալու այս երկու ֆայլերում, բայց դուք պետք է համոզվեք, որ եթե դուք փոփոխում եք կապերի կարգը variant.cpp- ում, ապա պետք է փոխեք վերնագրի ֆայլի հղումները (variant.h): Robo HAT MM1- ի համար ինձ միայն անհրաժեշտ էր փոխել որոշ կապումներն ու գործառույթները: Դա արվում էր տարբերակներով: ժ. Ես ավելացրեցի մի քանի նոր PWM կապում, քանի որ SAMD21- ն ի վիճակի է կարգավորել 12 PWM ալիք: Ես նաև ավելացրեցի որոշ անուններ Servos- ի, Signals- ի (ADC/Digital- ի փոխարեն) և հատուկ քարտեզագրում ճիշտ գործառույթներին `SPI, UART և I2C:

Կարևորը, որ պետք է նշել, կրկնակի ստուգելն է, որ variant.h- ում նշված գործառույթների համար օգտագործվող զանգվածների հղումները համապատասխանում են varaints.cpp- ի քորոցին, որին այժմ կանդրադառնանք:

Variants.cpp- ն շատ հզոր և կարևոր ֆայլ է: Այն կատարում է բոլոր քրտնաջան աշխատանքը ՝ կապումներն ապարատային պարամետրերին համապատասխանեցնելու համար: Սա բացատրելու ամենահեշտ ձևը յուրաքանչյուր մասի օրինակով և բացատրությամբ է:

(Տե՛ս Աղյուսակը սքրինշոթում)

Օրինակ (քաղվածք variant.cpp- ից)

{PORTA, 22, PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE}, // SDA

Սա Robo HAT MM1- ի variant.cpp զանգվածի առաջին քորոցն է: Տվյալների թերթիկի աղյուսակը տրամադրվել է որպես պատկեր (մոխրագույն աղյուսակ):

(Տես նկարներ)

Այս հատուկ քորոցը օգտագործվում է I2C Data Pin գործառույթի համար: Աղյուսակին նայելով ՝ մենք կարող ենք տեսնել, որ այս քորոցը կարող է օգտագործվել որպես I2C SDA քորոց (լավ սկիզբ): Քորոցը կոչվում է «PA22», որը կարճ է PORTA- ի համար 22 -րդ փոսի համար: Անմիջապես մենք կարող ենք սահմանել PORT- ի և PIN- ի համարը:

Հաջորդ բանը, որ մենք պետք է անենք, քորոցն է որպես սերիական հաղորդակցության նավահանգիստ: Պինն ունի սերիական հաղորդակցություն, որը հասանելի է C (PIO_SERCOM) գործառույթի միջոցով `օգտագործելով SERCOM 3 -ը և D- ն` օգտագործելով SERCOM5- ը (PIO_SERCOM_ALT): Robo HAT MM1- ի նպատակների համար մենք SERCOM3- ն օգտագործում ենք I2C հաղորդակցության համար: Սա C գործառույթի վրա է. aka. PIO_SERCOM variant.cpp- ի համար:

Քանի որ մենք նախատեսում ենք օգտագործել այս քորոցը միայն որպես I2C SDA, կարիք չկա այլ գործառույթներ սահմանել: Նրանք բոլորը կարող են սահմանվել որպես «Ոչ» կամ «Ոչ» տարբերակներ նախորդ աղյուսակից: Այնուամենայնիվ, եթե մենք իսկապես ցանկանայինք օգտագործել մյուս գործառույթները, մենք կարող էինք անցնել տվյալների թերթիկ և դրանք բոլորը տեղադրել ճիշտ տարածությունների մեջ: Այդ ամենը տվյալների թերթիկում է:

Տարբերակի ֆայլերի փոփոխումը կարող է որոշ ժամանակ տևել: Beգույշ եղեք և միշտ եռակի ստուգեք:

Քայլ 6: Ստեղծեք խորհրդի սահմանում

Ստեղծեք խորհրդի սահմանում
Ստեղծեք խորհրդի սահմանում

Ձեր տարբերակի ֆայլերը պատրաստ լինելուց հետո այն պետք է ուղիղ լինի այստեղից: Աշխատանքի մեծ մասը կլինի ֆայլերի պատճենումը և տեղադրումը կամ փոփոխումը և թարմացումը:

Սկսած boards.txt- ից:

(Տես նկարը)

Դուք կցանկանաք պատճենել և տեղադրեք տախտակի սահմանումը, որն արդեն կա: Կրկին խորհուրդ կտայի Arduino Zero- ին:

Պարզության համար փոխեք միայն տախտակի անունը (առաջին տող), usb_product, usb_man Manufacturer և տարբերակ (robohat): Հետագայում կարող եք հարմարեցնել մյուս փաստարկները `ըստ ձեր կարիքների, օրինակ` անհատական բեռնիչ կամ տարբեր USB VID/PID- ներ `ձեր տախտակը նույնականացնելու համար:

Տախտակի տարբերակը պետք է համապատասխանի սկզբում ստեղծված թղթապանակին տրված անունին: Այս ձեռնարկի համար ես այն անվանեցի «robohatmm1»:

Նաև խորհուրդ է տրվում փոխել յուրաքանչյուր տողի առաջին մասը `ձեր տախտակի անվան հետ համընկնելու համար: Սքրինշոթում այն փոխվել է ‘robo_hat_mm1’: Դուք պետք է ընտրեք ձեր տախտակի անունը նույն ձևաչափով:

Դա բոլորն են boards.txt- ի համար, եթե չես ցանկանում հետագայում վերը նշված փոփոխությունները կատարել:

Քայլ 7: Թարմացրեք տախտակի տարբերակը

Թարմացնել տախտակի տարբերակը
Թարմացնել տախտակի տարբերակը

Platforms.txt- ում փոխեք անունը ձեր հարմարեցված տախտակի անվան: Փոխեք նաև տարբերակի համարը: Հիշեք, թե ինչի վրա եք դրել սա, մեզ դա ավելի ուշ պետք կգա:

Քայլ 8: Ստեղծեք JSON փաթեթային ֆայլ

Ստեղծեք JSON փաթեթային ֆայլ
Ստեղծեք JSON փաթեթային ֆայլ
Ստեղծեք JSON փաթեթային ֆայլ
Ստեղծեք JSON փաթեթային ֆայլ

Arduino IDE- ում ձեր խորհուրդը տեղադրելու համար ձեզ հարկավոր է ստեղծել JSON ֆայլ, որը դուք կներմուծեք: JSON ֆայլը պատմում է Arduino IDE- ին, թե որտեղից կարելի է ֆայլերը տեղադրել տախտակը տեղադրելու համար, ինչ լրացուցիչ փաթեթներ են անհրաժեշտ և մի քանի այլ մետատվյալներ:

Շատ կարևոր է, որ դուք պահեք այս ֆայլը այն թղթապանակից դուրս, որտեղ մենք նոր ենք աշխատում:

Ֆայլի մեծ մասը կարող է պատճենվել և տեղադրվել ձեր մեջ: Ձեզ հարկավոր է միայն փոխել «տախտակներ» բաժինը և ֆայլի վերևում գտնվող մյուս մետատվյալները: Տեսեք, թե ինչ պետք է թարմացվի սքրինշոթում:

(Տես նկարը)

  • Կարմիր բաժին. Սա մետատվյալներ են, որոնք օգտվողները կարող են օգտագործել օգնություն գտնելու համար: Այն ունի շատ քիչ տեխնիկական համապատասխանություն:
  • Կապույտ բաժին. Այս բոլորը կարևոր են: Դրանք ցուցադրվում են Arduino IDE- ում: Անունը, ճարտարապետությունը և տարբերակը կցուցադրվեն բոլորին, ովքեր փորձում են տեղադրել փաթեթը: Սա այն է, որտեղ դուք պետք է տեղադրեք տարբերակի համարը platforms.txt- ից: Երկրորդ կապույտ բաժինը տախտակների ցանկն է, որոնք ներառված են փաթեթում: Դուք կարող եք ունենալ մի քանի տախտակ:
  • Կանաչ բաժին. Այս բաժինը լրացուցիչ բացատրության կարիք ունի:

(Տե՛ս Պատկերների աղյուսակը)

Երբ ստեղծեք zip ֆայլը, ստացեք zip ֆայլի ստուգման գումարը և ֆայլի չափը, այժմ կարող եք zip ֆայլը վերբեռնել որևէ վայրում: Դուք պետք է այդ URL- ը տեղադրեք «url» դաշտում: Եթե անունը կամ վերը նշված մանրամասներից որևէ մեկը սխալ է, ձեր հատուկ տախտակը չի տեղադրվի:

Համոզվեք, որ նաև ձեր pack_boardname_index.json ֆայլը վերբեռնեք ինտերնետում հանրային վայրում: GitHub- ը լավ տարբերակ է:

Robo HAT MM1 սովորական տախտակի ֆայլը կարելի է գտնել այստեղ:

Քայլ 9. Վերջնական քայլ. Տեղադրեք ձեր անհատական խորհուրդը:

Վերջնական քայլ - Տեղադրեք ձեր անհատական խորհուրդը
Վերջնական քայլ - Տեղադրեք ձեր անհատական խորհուրդը
Վերջնական քայլ - Տեղադրեք ձեր անհատական խորհուրդը
Վերջնական քայլ - Տեղադրեք ձեր անհատական խորհուրդը

Ամեն ինչ լավ է ընթանում, այժմ դուք պետք է կարողանաք ներառել ձեր JSON ֆայլը Arduino IDE- ում և տեղադրել ձեր հարմարեցված տախտակը:

JSON ֆայլը ներառելը հեշտ է: Arduino IDE- ում պարզապես գնացեք «Ֆայլ»> «Նախընտրանքներ» և պատճենեք և տեղադրեք ձեր package_boardname_index.json- ի գտնվելու վայրը (URL) «Նախընտրանքներ» ցանկի ներքևի «Լրացուցիչ խորհուրդների մենեջերների URL» բաժնում:

(Տես նկարը)

Այնուհետեւ կտտացրեք OK:

Եթե մոռացել եք, գործարկեք վերևից տրված հրահանգները: Հիշեք, որ այս անգամ փնտրեք ձեր հարմարեցված տախտակը:

(Տես նկարը)

Նոր տախտակներ տեղադրելու լրացուցիչ մանրամասների համար. Adafruit- ն այստեղ ունի հիանալի ձեռնարկ, որը բացատրում է, թե ինչպես տեղադրել իրենց Feature M0 տախտակները:

Քայլ 10: Եզրակացություն

Եզրակացություն
Եզրակացություն
Եզրակացություն
Եզրակացություն

Սա զվարճալի էր ՝ ստեղծելով սովորական Arduino տախտակներ: Ինձ համար դեռ շատ բան կա փորձելու ապագայում (հավելյալ սերիական նավահանգիստներ ավելացնելով), բայց դա ուսուցման հիանալի փորձ էր:

Համոզվեք, որ ստուգեք նաև Crowd Supply արշավը: Ավարտվում է 2019 թվականի հունիսի 11 -ին:

www.crowdsupply.com/robotics-masters/robo-…

Հուսով եմ, որ սա օգնեց ձեզ, կամ դուք հաճույք ստացաք կարդալուց:

Շնորհակալություն

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