Բովանդակություն:
- Քայլ 1. Նախագծի ստեղծում Vivado- ում Էռնիի համար
- Քայլ 2. Ստեղծեք Էռնիի PWM Vivado- ում
- Քայլ 3. Ստեղծեք Էռնիի TDOA- ն Vivado- ում
- Քայլ 4. Էռնիի փաթաթում և արտահանում
- Քայլ 5. Էռնի կառուցելը
- Քայլ 6: Էռնիի առաջին BSP- ը
- Քայլ 7: FreeRTOS'ing Ernie
- Քայլ 8. Էռնիի C կոդի ներմուծում
- Քայլ 9. Էռնիի կարգաբերում
- Քայլ 10. Էռնի ինքնավար դարձնելը
- Քայլ 11: Էռնիի գեղեցիկ դարձնելը
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Սա ձեռնարկ է, թե ինչպես կարելի է կառուցել Էռնի ՝ ձեր ինքնուրույն ձայնային ռոբոտին հետևելով, օգտագործելով Zybo տախտակ: Այն կներառի, թե ինչպես `ստեղծել նախագիծ Vivado- ում, ստեղծել FWA- ում PWM- ի նման սերվո շարժիչների շարժիչներ, ինտերֆեյս երկու ձայնային տվիչներով, ստեղծել ժամանման IP- ի ժամանակային տարբերություն, օգտագործել freeRTOS և մարտկոցից զիբո գործարկել: Սա մեր վերջին ծրագիրն էր իրական ժամանակի օպերացիոն համակարգերի դասի համար (CPE 439) Cal Poly SLO- ում:
Սարքավորումների ցուցակ.
- 1 - ZYBO Zynq 7000 զարգացման խորհուրդ
- 2 - Parallax Continuous Rotation Servo
- 2 - Ձայնի տվիչ (SparkFun Sound Detector)
- 1 - 5 վ Lithium Ion USB մարտկոցի փաթեթ (տախտակի համար)
- 4 - AA մարտկոցներ (սերվերի համար)
- 1 - AA մարտկոցի փաթեթ (w/ 4 մարտկոցի բնիկ)
- 1 - Միկրո USB մալուխ
- 1 - Breadboard
- շատերը - Արականից արական լարերը
- 1 - Servo շասսի
Softwareրագրային ապահովման պահանջներ.
- Xilinx Vivado Design Suite 2016.2
- Digilent Adept 2.16.1
Քայլ 1. Նախագծի ստեղծում Vivado- ում Էռնիի համար
- Կհայտնվի կախարդ
- Կտտացրեք Հաջորդը
-
Հաջորդը անվանեք նախագիծը
- Երբեք մի օգտագործեք ծրագրի անվանումը կամ գրացուցակի ուղին, որի մեջ բացատներ կան !!!!!
- Սա կլինի RTL նախագիծ:
- Մենք չենք ցանկանում աղբյուրներ նշել
-
Սեղմելով Հաջորդը ՝ մենք անցնում ենք Մաս էջին: Մենք օգտագործում ենք ZYNQ XC7Z010-1CLG400C:
- Vivado- ում Zybo- ն նշված չէ որպես իր նախապես որոշված տախտակներից մեկը: Ընտրեք ՝ «մասեր», ապա որոնեք xc7z010clg400-1:
- Եթե սխալմամբ սխալ հատված եք ընտրում, կարող եք հեշտությամբ փոխել չիպերը ՝ Գործիքներ -> Settingsրագրի կարգավորումներ -> Ընդհանուր և կտտացրեք «Projectրագրի սարքի» աջ կողմում գտնվող կետերին:
-
Կտտացրեք Ստեղծել բլոկի ձևավորում:
Առայժմ անվանեք այն design_1
- Դուք կտեսնեք կանաչ բար, որն ասում է Ավելացնել IP, կտտացրեք այն:
-
Որոնեք Zynq:
- Կրկնակի սեղմեք ZYNQ7 Processing System,
- Այս բլոկը կհայտնվի մեր բլոկի ձևավորման մեջ:
- Դուք կտեսնեք կանաչ սանդղակ, որն ասում է Run Block Automation, կտտացրեք այն:
- Ներբեռնեք zybo_zynq_def.xml ստորև:
-
Vivado- ում կտտացրեք «Ներմուծեք XPS կարգավորումներ» և ընտրեք «zybo_zynq_def.xml»
Սա նախապես համալրում է Vivado բլոկի կազմաձևը Zybo տախտակի ներկառուցված բոլոր ծայրամասային սարքերով և քորոցային առաջադրանքներով:
-
Կրկնակի սեղմեք ZYNQ բլոկի վրա:
-
MIO կազմաձևում
- Միացնել ժմչփ 0 -ը (Application Application Processor Unit - img 1)
- Միացնել Watchdog- ը (Application Application Processor Unit-img 1-ի ներքո)
- Միացնել GPIO-> GPIO MIO (Application Processor Unit - img 2)
- Միացնել GPIO-> ENET վերականգնումը (I/O Peripherals- ի ներքո img 2)
-
Clամացույցի կազմաձևում
Անջատել FCLK0- ը (PL գործվածքների ժամացույցների ներքո - img 3)
-
- Սեղմեք Ok:
-
«Գործարկեք արգելափակման ավտոմատացումը» հիմա:
Ազդանշանների վերաբերյալ որոշ հարցեր կլինեն, ասեք OK
-
Կտտացրեք «Ստեղծեք HDL փաթաթիչ»:
Մենք կցանկանանք պատճենել ստեղծված փաթաթանը ՝ օգտվողի խմբագրումները թույլ տալու համար:
- Սեղմեք OK:
Քայլ 2. Ստեղծեք Էռնիի PWM Vivado- ում
Այս քայլը կստեղծի PWM IP ՝ AXI գրադարանի միջոցով ուղարկվող մուտքերով:
-
Ստեղծեք AXI GPIO բլոկ ՝ ֆոնին աջ սեղմելով և «ավելացնել IP»
որոնման տողում մուտքագրեք «AXI_GPIO» և ընտրեք այս փաթեթը
-
Նորից անհատականացրեք IP- ն ՝ նոր axi_gpio_0 բլոկը կրկնակի սեղմելով
- GPIO- ի ներքո, սահմանեք GPIO- ի լայնությունը 2. Այս բիթերը կլինեն PWM_ON ազդանշանը `PWM մոդուլի յուրաքանչյուր օրինակ վարելու համար:
- կտտացրեք «միացնել երկակի ալիքը»
- GPIO 2 -ի ներքո, սահմանեք GPIO- ի լայնությունը 2. Այս բիթերը կլինեն PWM_FW ազդանշանը `PWM մոդուլի յուրաքանչյուր օրինակի ուղղությունը սահմանելու համար:
-
Աջ սեղմեք GPIO մակագրությամբ axi_gpio_0 ելքային պորտի վրա և ընտրեք «Արտաքին դարձնել»
- Կտտացրեք GPIO մակնշմամբ նոր ելքի վրա և անցեք ձախ մասում գտնվող «հատկություններ» ներդիրին և անունը փոխեք PWM_ON- ի
- Կտտացրեք GPIO2 պիտակով նոր ելքի վրա և անցեք ձախ մասում գտնվող «հատկություններ» ներդիրին և փոխեք անունը PWM_FW
-
Բլոկ -դիագրամից վերև գտնվող կանաչ դրոշի մեջ ընտրեք Գործարկել միացման ավտոմատացումը:
Եթե դուք ձեռքով միացնում եք նավահանգիստները, AXI հասցեները կարող են կազմաձևված չլինել, ինչը հետագայում կհանգեցնի հաղորդակցության խնդիրների
-
Flow Navigator- ի պատուհանում ընտրեք ծրագրի կառավարիչ -> Ավելացնել աղբյուրներ ՝ նոր անհատականացված IP բլոկ ստեղծելու համար
- ընտրեք «ավելացնել կամ ստեղծել դիզայնի աղբյուրներ» և կտտացրեք հաջորդը
- կտտացրեք «ստեղծել ֆայլ», փոխեք ֆայլի տեսակը «SystemVerilog» և ֆայլի անվան դաշտում մուտքագրեք «pwm», այնուհետև կտտացրեք Լավ
- սեղմեք Ավարտել
-
անտեսել Define Module- ի պատուհանը `սեղմելով OK (դրանք ավելի ուշ կգրենք)
եթե հարցնում է ՝ վստահ եք, կտտացրեք Այո
-
Աղբյուրների ներդիրում կրկնակի կտտացրեք pwm.sv- ին (գտնվում է «Դիզայնի աղբյուրներ/դիզայն_շղթա» բաժնում)
Պատճենեք/տեղադրեք SystemVerilog- ի ամբողջ ծածկագիրը ստորև կցված pwm.txt ֆայլից
Քայլ 3. Ստեղծեք Էռնիի TDOA- ն Vivado- ում
Այս քայլը կստեղծի TDOA IP, որի արտադրանքը կարելի է կարդալ AXI գրադարանի միջոցով
-
Ստեղծեք AXI GPIO բլոկ ՝ ֆոնին աջ սեղմելով և «ավելացնել IP»
որոնման տողում մուտքագրեք «AXI_GPIO» և ընտրեք այս փաթեթը
-
Նորից անհատականացրեք IP- ն ՝ նոր axi_gpio_1 բլոկը կրկնակի սեղմելով
- GPIO- ի ներքո նշեք «Բոլոր մուտքերը» վանդակը և սահմանեք GPIO- ի լայնությունը 32 -ի վրա: Այս ավտոբուսը կլինի երկու տվիչների միջև ժամանման տարբերությունը:
- axi_gpio_1 բլոկի ներսում կտտացրեք + GPIO նավահանգստի կողքին + ՝ gpio_io_i [31: 0] բացահայտելու համար:
-
Աջ սեղմեք gpio_io_i պիտակավորված axi_gpio_1 ելքային պորտի վրա [31: 0] և ընտրեք «Արտաքին դարձնել»
Կտտացրեք gpio_io_i պիտակավորված նոր մուտքագրման վրա [31: 0], և գնացեք դեպի «հատկություններ» ներդիրը ձախ գործիքագոտու վրա և փոխեք անունը TDOA_val
-
Բլոկ -դիագրամից վերև գտնվող կանաչ դրոշի մեջ ընտրեք Գործարկել միացման ավտոմատացումը:
Եթե դուք ձեռքով միացնում եք նավահանգիստները, AXI հասցեները կարող են չկարգավորվել, ինչը հետագայում կհանգեցնի հաղորդակցության խնդիրների
-
Flow Navigator- ի պատուհանում ընտրեք ծրագրի կառավարիչ -> Ավելացնել աղբյուրներ ՝ նոր անհատականացված IP բլոկ ստեղծելու համար
- ընտրեք «ավելացնել կամ ստեղծել դիզայնի աղբյուրներ» և կտտացրեք հաջորդը
- կտտացրեք «ստեղծել ֆայլ», փոխեք ֆայլի տեսակը «SystemVerilog» և ֆայլի անվան դաշտում մուտքագրեք «tdoa», այնուհետև կտտացրեք OK
- սեղմեք Ավարտել
-
անտեսել Define Module- ի պատուհանը `սեղմելով OK (դրանք ավելի ուշ կգրենք)
եթե հարցնում է ՝ վստահ եք, կտտացրեք Այո
-
Աղբյուրների ներդիրում կրկնակի կտտացրեք tdoa.sv- ին (գտնվում է «Դիզայնի աղբյուրներ/դիզայն_շղթա» բաժնում)
Պատճենեք/տեղադրեք SystemVerilog- ի ամբողջ ծածկագիրը ստորև կցված tdoa.txt ֆայլից
Քայլ 4. Էռնիի փաթաթում և արտահանում
- Ստուգեք, որ բլոկ -դիագրամը նման է կցված սքրինշոթին
-
Աղբյուրների ներդիրում աջ սեղմեք design_1.bd և ընտրեք «Ստեղծել HDL փաթաթիչ …»
- Ընտրեք «Պատճենել արտադրված ելքը ՝ օգտվողի խմբագրումները թույլատրելու համար», այնուհետև կտտացրեք «OK»
- Պատճենեք կոդը ներքևում կցված design_1_wrapper.txt- ից և տեղադրեք այն գեներացված դիզայնի_ wrapper.v ծածկագրի փոխարեն
- պահպանել design_1_wrapper.v
-
Աղբյուրների ներդիրում կրկնակի սեղմեք ZYBO_Master.xdc ֆայլը ՝ Սահմանափակումներ/constrs1
- Պատճենեք ծածկագիրը ստորև կցված ZYBO_Master.txt- ից և տեղադրեք այն գոյություն ունեցող ZYBO_Master.xdc կոդի փոխարեն
-
Նշեք հետևյալ մուտքային/ելքային կապերը.
- L15: PWM ազդանշան ձախ շարժիչի համար (Pmod JA2 Zybo- ում)
- L14: PWM ազդանշան աջ շարժիչի համար (Pmod JA8 Zybo- ում)
- V12. Դարպասի մուտքագրում ձայնի տվիչից 1 (Pmod JE1 Zybo- ի վրա)
- K16. Դարպասի մուտքագրում ձայնային տվիչից 2 (Pmod JE2 Zybo- ի վրա)
-
Flow Navigator- ի պատուհանում կտտացրեք «Ստեղծել Bitstream» ծրագրի և կարգաբերման ներքո
եթե կարծում եք, որ դա անմիջապես արվել է, հավանաբար դա այդպես չէ: լուրջ, թեյ պատրաստիր
-
Կտտացրեք Ֆայլ-> Արտահանում-> Ստեղծեք սարքավորում
Ստուգեք «Ներառեք Bitstream» - ը և կտտացրեք OK
- Կտտացրեք Ֆայլ-> Գործարկել SDK
Քայլ 5. Էռնի կառուցելը
- Տեղադրեք սերվերը սերվո շասսիին:
-
Հետևելով սերվերի տվյալների թերթիկին ՝ կատարեք հետևյալը.
- միացրեք servos- ի հիմքը Zybo's JA Pmod- ի գրունտային կապումներին (տե՛ս կից պատկերված պատկերը)
-
միացրեք սերվերի հոսանքի կապը AA մարտկոցի փաթեթին
Մենք պարզեցինք, որ երբ սպասարկողները միացված են Zybo- ի Vdd- ին, տախտակը չափազանց շատ հոսանք է ընդունում ՝ պատճառելով, որ խորհուրդը անընդհատ վերակայվի:
- միացրեք մուտքային ազդանշանի կապերը Zybo- ի համապատասխան ելքային կապերին (ձախ ՝ JA2, աջ ՝ JA8)
- տեղադրեք ձայնի տվիչները շասսիի առջևի կողմը ՝ ուղղված դեպի առաջ ՝ դրանք հնարավորինս մոտ պահելով միմյանց
-
ձայնային տվիչների ինտեգրման համար օգտագործեք ձայնային տվիչի միացման ուղեցույցը
- յուրաքանչյուր ձայնային տվիչի գետնին և Vdd կապումներն ամրացրեք գետնին և Vdd կապում Zybo's JE Pmod- ի վրա (տե՛ս կցված եզրագծի պատկերը)
- միացրեք ձախ ձայնային տվիչի Gate քորոցը JE1- ին
- միացրեք ձայնի տվիչի Gate քորոցը դեպի JE2
Քայլ 6: Էռնիի առաջին BSP- ը
-
Ստեղծեք BSP ՝ մեր ստեղծած հարթակը ամփոփելու համար:
Դուք կարող եք դա ստանալ Ֆայլ -> Նոր -> Տախտակի աջակցության փաթեթի միջոցով:
-
Կհայտնվի մի հրաշագործ, որը կօգնի ձեզ ստեղծել BSP:
- Մենք ցանկանում ենք այս BSP- ն կապել մեր ստեղծած Հարթակի հետ, այնպես որ
- Սարքավորումների պլատֆորմը պետք է համընկնի մեր ստեղծածի հետ (տես նկար 1)
- Մեր պրոցեսորը կլինի _0 պրոցեսորը:
- Կտտացրեք Ավարտել
- Համոզվեք, որ անջատեք lwip141- ը ՝ ձեր bsp- ով հայտնվող պատուհանում ներառելու համար (տե՛ս նկար 2)
Քայլ 7: FreeRTOS'ing Ernie
-
Ներբեռնեք FreeRTOS- ի վերջին թողարկումը Sourceforge- ից:
Եթե ներբեռնումը գործարկելի է, գործարկեք այն ՝ FreeRTOS ֆայլերը ձեր ծրագրի գրացուցակում հանելու համար:
- Պահեք այդ SDK- ն բաց և կտտացրեք Ֆայլ -> Ներմուծում:
- Մենք ցանկանում ենք սեղմել Ընդհանուր-> գոյություն ունեցող աշխատանքային տարածքից, այնուհետև մենք կցանկանանք նավարկել դեպի այն վայրը, որտեղ մենք ներբեռնել ենք FreeRTOS- ը:
-
Մեր ցուցադրական ցուցադրումը տեղադրվելու է FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702 հասցեում: Այս թղթապանակն ընտրելուց մենք պետք է տեսնենք, որ երեք նախագիծ է հայտնվում (մեր ծածկագիրը (ՕՀ), դա BSP- ն և HW պլատֆորմը):
ՄԻԱՅՆ ներմուծեք RTOSDemo ձեր ընթացիկ աշխատանքային տարածք:
-
Բոլոր «կապույտ» թղթապանակի նախագծերում փոխվում է հղված BSP- ն
- Աջ սեղմեք և ընտրեք «Փոխել հղված BSP- ը»:
- Ընտրեք BSP- ը, որը դուք պարզապես ստեղծել եք ձեր Zybo- ի համար
- Կոդի խմբագրումը Xilinx- ի SDK Blue թղթապանակներում իրական կոդի նախագծեր են:
Քայլ 8. Էռնիի C կոդի ներմուծում
- RTOSDemo/src գրացուցակում վերագրեք գոյություն ունեցող main.c- ն ՝ այստեղ կցված main.c ֆայլով:
- Պատճենեք main_sound.c ֆայլը RTOSDemo/src գրացուցակում:
Քայլ 9. Էռնիի կարգաբերում
- Ընտրեք Run -> Debug Configurations
- Ձախ վահանակում ստեղծեք System Debugger- ի նոր աշխատանք
-
Target Setup ներդիրում,
ընտրեք «Վերականգնել ամբողջ համակարգը», այնպես որ ընտրված են և՛ այն, և՛ ps7_init- ը
-
Այժմ ընտրեք «Դիմում» ներդիրը:
- Ընտրեք «Ներբեռնեք ծրագիրը»
- Cortexa9_0 միջուկը սահմանեք «կանգ առնել ծրագրի մուտքի մոտ»
- Կտտացրեք Դիմել և կարգաբերել:
- Ստուգեք, որ վրիպազերծման գործընթացում սխալներ չկան
- Ռոբոտի վրա ուշադիր հետևելով ՝ սեղմեք «Վերսկսել» կոճակը, մինչև ծրագիրը չաշխատի առանց որևէ կետի հարվածելու
- Այժմ ռոբոտը պետք է շրջվի և շարժվի դեպի բարձր ձայներ: Այո
Քայլ 10. Էռնի ինքնավար դարձնելը
- Երբ ձեր նախագիծը պատրաստ լինի ավարտին (դուք կարող եք առանց խնդիրների աշխատել վրիպազերծիչի միջոցով) դուք պատրաստ եք այն բեռնել ձեր տախտակի ֆլեշ հիշողության վրա:
-
Ստեղծեք այն, ինչ կոչվում է «առաջին փուլի բեռնիչ» (FSBL) նախագիծ և պարունակում է այն բոլոր հրահանգները, որոնք անհրաժեշտ կլինեն ձեր տախտակին ՝ ձեր նախագծի ֆայլերը (բիթ հոսքը և ՕՀ) գործարկման ժամանակ բեռնելու համար:
- Ընտրեք ՝ Ֆայլ-> Նոր-> Կիրառման նախագիծ և պետք է հայտնվի հետևյալ պատուհանը:
- Անվանեք այն, ինչ ցանկանում եք (այսինքն ՝ «FSBL»)
- Համոզվեք, որ ապարատային հարթակն այն է, որի հետ աշխատում եք
- Սեղմեք հաջորդ (Մի սեղմեք Ավարտել)
- Ընտրեք Zynq FSBL ձևանմուշը
- Կտտացրեք ավարտին:
- Ստեղծման գործընթացն ավարտվելուց հետո դուք կիմանաք, թե արդյոք ամեն ինչ աշխատե՞լ է, եթե Project Explorer- ի պատուհանում տեսնում եք հետևյալ երկու նոր թղթապանակները:
-
Ստեղծեք Boot Image Այժմ դուք պետք է ստեղծեք Boot պատկերը:
- Աջ սեղմեք ձեր ծրագրի թղթապանակի վրա (այս դեպքում իմը կոչվում է «RTOSDemo»)
- Կտտացրեք «Ստեղծել բեռնախցիկի պատկեր» բացվող ներքևում
-
Եթե ամեն ինչ ճիշտ է կապված, նախագիծը կիմանա, թե ինչ ֆայլերի կարիք ունի, և հետևյալ պատուհանը տեսք կունենա, ինչպես տեսնում եք ստորև (հիմնականը այն է, որ Boot image բաժնի տակ ունեք 3 միջնապատկեր, bootloader, ձեր բիթ ֆայլը և ձեր.elf ֆայլը:):
Եթե դա այդպես չէ, հնարավոր է ՝ ինչ -որ բան այն չէ, որ ձեր նախագիծը կապում է: Ապահովեք, որ ծրագրի թղթապանակները կապված լինեն իրենց համապատասխան BSP- ներին
- Կտտացրեք «Ստեղծել պատկեր» կոճակը
-
Stepրագրային ապահովման մեջ կատարելու վերջին քայլն այն է, որ ձեր նախկինում ստեղծված պատկերը ցատկեն գրատախտակին
- SDK- ի հիմնական գործիքի տողից ընտրեք Xilinx Tools-> Program Flash Memory
- Համոզվեք, որ ընտրված է ճիշտ ապարատային հարթակը և որ պատկերի ֆայլի ուղին ճիշտ է ցույց տալիս նախորդ քայլին ստեղծված. BIN ֆայլը:
- Flash տիպից ընտրեք «qspi single»
- Նշեք «Ստուգեք բռնկումից հետո» ՝ ամբողջականությունն ապահովելու համար, բայց դրա կարիքը չկա
- Կարգավորեք ձեր տախտակը Վերջապես դուք պետք է համոզվեք, որ տախտակների ծրագրավորման ռեժիմի jumper- ը (JP5) ճիշտ է դրված, որպեսզի BootROM- ը գործարկելիս սկսի բեռնաթափումը qspi- ից (որը պարունակում է այն, ինչ նոր բռնկվել եք):
- Այժմ պարզապես միացրեք սարքը և ապահովեք, որ «Տրամաբանական կազմաձևումն արված է» (LED 10) վառվի կանաչ:
Քայլ 11: Էռնիի գեղեցիկ դարձնելը
- Մորթու
- Շատ մորթուց
- Մեծ աչքեր!
- … ցիլինդր
Խորհուրդ ենք տալիս:
Ինչպես պատրաստել անլար թիթեղյա հեռախոս: (Arduino Walkie Talkie). 7 քայլ (նկարներով)
Ինչպես պատրաստել անլար թիթեղյա հեռախոս: (Arduino Walkie Talkie). Օրերս ես մի շատ կարևոր հեռախոսազանգի մեջ էի, երբ իմ բանանի հեռախոսը դադարեց աշխատել: Ես այնքան հիասթափված էի: Դա վերջին անգամն է, որ բաց եմ թողնում զանգը այդ հիմար հեռախոսի պատճառով: (Հետահայաց, ես գուցե մի փոքր չափազանց բարկացա
Ինչպես պատրաստել LED խորանարդ - LED խորանարդ 4x4x4: 3 քայլ
Ինչպես պատրաստել LED խորանարդ | LED Cube 4x4x4. LED Cube- ը կարելի է համարել որպես LED էկրան, որում պարզ 5 մմ LED- ները կատարում են թվային պիքսելների դերը: LED խորանարդը թույլ է տալիս մեզ ստեղծել պատկերներ և նախշեր ՝ օգտագործելով օպտիկական երևույթի հայեցակարգը, որը հայտնի է որպես տեսողության կայունություն (POV): Այսպիսով
Ինչպես պատրաստել LED ձայնային սպեկտրի անալիզատոր. 7 քայլ (նկարներով)
Ինչպես պատրաստել LED աուդիո սպեկտրի անալիզատոր. NeoPixe- ի միջոցով անալիզատոր
DIY -- Ինչպես պատրաստել սարդ ռոբոտ, որը կարելի է կառավարել սմարթֆոնի միջոցով Arduino Uno- ի միջոցով. 6 քայլ
DIY || Ինչպես պատրաստել սարդ ռոբոտ, որը կարելի է կառավարել սմարթֆոնի միջոցով Arduino Uno- ի միջոցով. Spider ռոբոտ պատրաստելիս կարելի է շատ բան սովորել ռոբոտաշինության մասին: Ինչպես և ռոբոտներ պատրաստելն ինչպես ժամանցային է, այնպես էլ դժվար: Այս տեսանյութում մենք ձեզ ցույց կտանք, թե ինչպես պատրաստել Spider ռոբոտ, որը կարող ենք գործել մեր սմարթֆոնի միջոցով (Անդրոյ
Ինչպես պատրաստել տատիկ -պապիկների օրացույց & Գրանցամատյան (նույնիսկ եթե չգիտեք, թե ինչպես գրանցամատյան կազմել). 8 քայլ (նկարներով)
Ինչպես պատրաստել տատիկ -պապիկների օրացույց & Գրանցամատյան (նույնիսկ եթե չգիտեք, թե ինչպես գրանցամատյան կազմել) Այս տարի ես պատրաստել եմ 5 օրացույց ՝ յուրաքանչյուրը 7 դոլարից պակաս: Նյութեր. Ձեր երեխայի, երեխաների, զարմուհիների, եղբորորդիների, շների, կատուների կամ այլ հարազատների 12 հիանալի լուսանկարներ 12 տարբեր կտորներ