Բովանդակություն:
- Քայլ 1: Ի՞նչ է գրադարանը:
- Քայլ 2. Գրադարանի կառուցվածքը և ֆայլերը
- Քայլ 3: Վերնագրի ֆայլ
- Քայլ 4: Աղբյուրի ֆայլ
- Քայլ 5. Էսքիզների օրինակների տրամադրում
- Քայլ 6. Հրապարակում գրադարանի կառավարչին
- Քայլ 7: Հաջորդ քայլերը
Video: YouTube Տեսողության համար Arduino գրադարանի պատրաստում. 7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Բարեւ բոլորին, Վերջերս ես կառուցեցի մի ծառայություն, որը կոչվում է YouTube Sight, որը կարող է քաղել բաժանորդների տվյալները YouTube Analytics API- ից և ձեզ տալ ավելի ճշգրիտ բաժանորդներ, քանի որ YouTube- ը սկսել է համախմբել արդյունքները: Դրանով ես կառուցեցի օրինակելի ուրվագիծ, բայց նաև ցանկանում էի ստեղծել Arduino գրադարան, որպեսզի մարդիկ ավելի հեշտությամբ օգտագործեն այն:
Քայլ 1: Ի՞նչ է գրադարանը:
Գրադարանը կոդի մի կտոր է, որը կարող է կարգավորել որոշակի գործողություն, մշակել մի տեսակ տվյալներ կամ կարող է իմանալ, թե ինչպես փոխազդել որոշակի ապարատային տարրի հետ: Նրանք թույլ են տալիս մեզ հեշտությամբ ընդլայնել Arduino միջավայրը, և դրանցից շատերը նախապես տեղադրված են Arduino IDE- ով:
Իմ նման դեպքերում, երբ մենք ցանկանում ենք նոր հնարավորություններ ավելացնել Arduino- ին, մենք կարող ենք ստեղծել մեր սեփական գրադարանները, որպեսզի դրանք օգտագործեն այլ մարդիկ: Բոլոր տեղադրված գրադարանները ապրում են մեր համակարգչի որոշակի թղթապանակում: Իմ դեպքում Windows համակարգչի համար գրադարանները ապրում են Documents/Arduino թղթապանակի տակ: Ամբողջ ուղին ձեզ համար հատուկ կլինի ՝ հիմնված ձեր օգտվողի անվան վրա:
Քայլ 2. Գրադարանի կառուցվածքը և ֆայլերը
Մեր գրադարանը կառուցելու համար մենք նախ պետք է այստեղ ստեղծենք դրա անունով պանակ, այնպես որ ես ստեղծել եմ YouTube Sight անունով պանակ: Գրադարանի նվազագույն տարբերակում մենք պետք է ունենանք առնվազն երկու ֆայլ:
Առաջինը այսպես կոչված «վերնագրի» ֆայլ է, որը պարունակում է մեր գրադարանի տրամադրած մեթոդների և հատկությունների բոլոր սահմանումները, իսկ երկրորդը `սկզբնաղբյուրը, որը պարունակելու է ամբողջ աղբյուրի կոդը:
Վերնագրի ֆայլերն ունեն «.h» ընդլայնում, իսկ աղբյուրի ֆայլը ՝.cpp »և նրանք սովորաբար գրադարանի անուն ունեն որպես ֆայլի անուն: Իմ դեպքում երկու ֆայլերը կոչվում են «YouTubeSight.h» և «YouTubeSight.cpp»:
Գրադարանի ծածկագիրը գրելու գործընթացը կարող է մի փոքր հոգնեցուցիչ և հիասթափեցնող լինել, հատկապես, երբ առաջին անգամ եք գրադարան գրում, բայց շատ փորձությունների և սխալների դեպքում կարող եք հասնել ցանկալի արդյունքների: Դրա պատճառով ես ձեզ կառաջնորդեմ երկու ֆայլերի պատրաստի ծածկագրով և կբացատրեմ այն:
Ամբողջական ծածկագիրը և գրադարանը հասանելի են GitHub- ից ներբեռնելու համար հետևյալ հղումով ՝
Քայլ 3: Վերնագրի ֆայլ
Վերնագրի ֆայլի ներսում, սկզբում, ամբողջ ֆայլը փաթաթված է «ifndef» հայտարարության մեջ, որը ստուգում է ՝ նշված փոփոխականը սահմանված է, թե ոչ: Սա կկանխի գրադարանն օգտագործողների սխալները, եթե դրանք սխալմամբ երկու անգամ ներառեն նույն ուրվագծում:
Հաջորդը, մենք պետք է ներառենք հիմնական Arduino գրադարանը, և քանի որ մենք աշխատելու ենք ինչ -որ HTTP հաճախորդի հետ ՝ YouTube Sight- ին հարցում ուղարկելու համար, մենք նաև կներառենք բազային Հաճախորդների գրադարանը:
Նախքան մեր հիմնական դասի բովանդակությունը գրելը, մենք պետք է սահմանենք ցանկացած ստատիկ փոփոխականներ և պարամետրեր, որոնք մենք չենք ցանկանում փոփոխվել: Իմ դեպքում կա երկու նման փոփոխական: YouTube Sight ծառայության հիմնական URL- ն ու timeout փոփոխականը, որը մենք կօգտագործենք ՝ արժեքը կարդալու համար ստուգելու համար:
Նաև այս բաժնում մենք կարող ենք սահմանել ցանկացած հարմարեցված տեսակներ, որոնք մենք ցանկանում ենք օգտագործել այս ալիքի պես Վիճակագրական կառուցվածք, որտեղ մենք կպահենք արդյունքները:
Դասի կառուցվածքի սահմանումը բաժանված է երկու մասի: Առաջին մասը հանրային բոլոր գործառույթների և հատկությունների սահմանումն է, իսկ երկրորդը `բոլոր մասնավոր գործառույթների և հատկությունների սահմանումը: Երկուսի միջև տարբերությունն այն է, որ մեր գրադարանի վերջնական օգտագործողները չեն կարողանա ուղղակիորեն օգտագործել մասնավոր բաժնից որևէ բան, մինչդեռ նրանք կկարողանան ուղղակիորեն փոփոխել և օգտագործել հանրային մասի ցանկացած հատկություն և գործառույթ:
Հանրային բաժնում մենք սահմանում ենք դասի կոնստրուկտորը, channelStats փոփոխականը, որտեղ մենք կպահենք արդյունքները, գործառույթը, որը կստանա տվյալները և կարգաբերման հատկությունը, որը հետագայում կարող ենք օգտագործել ՝ այն դեպքերը ստուգելու համար, որտեղ հնարավոր է ՝ չստանանք ակնկալվող արդյունքները:
Անձնական սեփականությունների համար մենք կսահմանենք մեկը ՝ ալիքի GUID պահելու համար, ցուցիչ, որը մենք կօգտագործենք և գործառույթ, որը կբաժանի վերադարձված տողը YouTube Sight- ից:
Քայլ 4: Աղբյուրի ֆայլ
Այժմ եկեք նայենք այս ամենի իրական իրականացմանը աղբյուրի ֆայլում:
Մեզ համար առաջին քայլը ներառում է մեր ստեղծած վերնագրի ֆայլը, այնուհետև անհրաժեշտ է սահմանել գրադարանի կոնստրուկտորը: Դրա մեջ մենք անցնում ենք երկու փոփոխական: GUID- ը պահվում է մասնավոր փոփոխականի մեջ, որը մենք սահմանել էինք ավելի վաղ, և Հաճախորդը փոխանցվում է հղումով, որպեսզի մենք կարողանանք այնուհետև կանչել այն նույն օրինակը, որը ստացել ենք:
Գրադարանի հիմնական getData գործառույթը սահմանվում է ՝ նախ նշելով վերադարձի տեսակը, որին հաջորդում են գրադարանի անունը և գործառույթի անունը: Չեմ մանրամասնի, թե ինչ է անում այս տողում յուրաքանչյուր տող, բայց ընդհանուր առմամբ գործառույթը կապ է բացում YouTube Sight սերվերի հետ, ուղարկում վիճակագրություն ստանալու հարցումը, այնուհետև վերլուծում վերադարձված տվյալները մասնավոր getValue գործառույթը:
Այնուհետև ստացված արդյունքները դրվում են channelStats փոփոխականի վրա և ցուցանիշը վերադարձվում է, եթե մեզ հաջողվել է արդյունքները վերականգնել, թե ոչ և դրանով իսկ մեր գրադարանի միջուկը ամբողջական է:
Քայլ 5. Էսքիզների օրինակների տրամադրում
Սովորաբար դուք, յուրաքանչյուր գրադարան տալիս է օրինակներ, որոնք կարող եք արագ բեռնել և օգտագործել ՝ ցուցադրելու համար, թե գրադարանը ինչ կարող է անել և ինչպես դա անել: Նման օրինակներ տալու համար մենք պետք է փոփոխենք գրադարանի կառուցվածքը, որտեղ այժմ վերնագիրն ու սկզբնական ֆայլը կլինեն «src» թղթապանակում, իսկ գրադարանի արմատին կավելանա նոր թղթապանակ, որը կոչվում է «օրինակներ»:
Arduino- ի ցանկացած ուրվագիծ, որը դուք տեղադրում եք այս թղթապանակի ներսում, Arduino IDE- ից կառաջարկվի որպես օրինակ ձեր գրադարանի համար, և մարդիկ կարող են արագ ուսումնասիրել այն և սովորել, թե ինչպես է աշխատում գրադարանը:
Քայլ 6. Հրապարակում գրադարանի կառավարչին
Գրադարանից օգտվելու համար մարդիկ պետք է պարզապես ներառեն ձեր գրադարանի վերնագրի ֆայլը իրենց ուրվագծի մեջ, և Arduino IDE- ն այն կկառուցի դրա հետ միասին: Բայց դա անելու համար նրանք նախ պետք է այն տեղադրեն իրենց մեքենաների վրա:
Սովորական եղանակն այն է, որ գրադարանը ներբեռնեք GitHub- ից և տեղադրեք այն IDE- ի ZIP տեղադրողի միջոցով կամ պարզապես տեղադրեք գրադարանների պանակի ներսում, ինչպես դա արեցինք, երբ այն ստեղծում էինք: Այնուամենայնիվ, Arduino IDE- ն ներառում է նաև գործիք, որը կոչվում է Գրադարանի կառավարիչ, որը թույլ է տալիս գրադարան փնտրել անմիջապես IDE- ից:
Ձեր գրադարանը դրա մեջ ներառելու համար մենք նախ պետք է լրացուցիչ ֆայլ ստեղծենք արմատային թղթապանակում, որը կոչվում է «library.properties», և դրանում մենք պետք է նշենք գրադարանի անունը, ընթացիկ տարբերակը և որոշ լրացուցիչ տեղեկություններ, որոնք կօգնեն գրադարանի կառավարչին դրա մասին ավելի լավ տեղեկություններ ցուցադրելու համար:
Տեղադրված ֆայլով Arduino GitHub էջում պետք է ստեղծվի մի խնդիր, որը պարզապես խնդրում է ձեր գրադարանը ներառել ինդեքսում ՝ դրան հղումով, և Arduino- ի աշխատակիցների կողմից այն հաստատվելուց և ավելացնելուց հետո, գրադարանի ղեկավարը սկսեք առաջարկել ձեր գրադարանը արդյունքների մեջ: Բացի այդ, կառավարիչը հետագայում GitHub ռեպոյում կփնտրի ցանկացած տարբերակի պիտակ և փոփոխություններ կատարելուց հետո թարմացում կառաջարկի այն օգտագործողներին:
Քայլ 7: Հաջորդ քայլերը
Հուսով եմ, որ այս Instructable- ից հետո դուք ավելի լավ կհասկանաք, թե ինչպես են աշխատում Arduino գրադարանները, ինչպես կարող եք ստեղծել մեկը և ամենակարևորը, հուսով եմ, որ ոգեշնչված կլինեք ՝ սկսելու աշխատել ձեր հաջորդ մեծ գաղափարի վրա:
Լրացուցիչ հարցերի կամ առաջարկությունների դեպքում ազատ գրեք մեկնաբանություններում, բաժանորդագրվեք իմ YouTube ալիքին և հետևեք ինձ այստեղ ՝ Instructables- ում:
Խորհուրդ ենք տալիս:
Գիշերային տեսողության նախատիպ Airsoft/Paintball- ի համար. 4 քայլ
Գիշերային տեսողության ակնոցների նախատիպը Airsoft/Paintball- ի համար. Գիշերային տեսողության ակնթարթային ճշմարիտ ակնոցներ (սերունդ 1, gen2 և gen 3) սովորաբար աշխատում են ուժեղացնելով շրջապատող լույսը, սակայն գիշերային տեսողության ակնոցները, որոնք մենք այստեղ կկառուցենք, աշխատում են այլ սկզբունքով: Մենք կօգտագործենք Pi NoIR տեսախցիկը, որը
Գիշերային տեսողության ակնոցներ Google ստվարաթղթի համար. 10 քայլ (նկարներով)
Գիշերային տեսողության ակնոցներ Google ստվարաթղթի համար. Հրաժարում. Այս սարքի օգտագործումը նախատեսված է միայն ժամանցի, կրթության և գիտական օգտագործման համար. լրտեսության և (կամ) հսկողության համար չէ: «Լրտեսական գաջեթը» գործառույթները հավելվածին ավելացվել են պարզապես զվարճանալու համար և գործնական նշանակություն չեն ունենա
ScanUp NFC ընթերցող/գրող և աուդիո ձայնագրիչ ՝ կույրերի, տեսողության խնդիրներ ունեցողների և այլոց համար. 4 քայլ (նկարներով)
ScanUp NFC ընթերցող/գրող և աուդիո ձայնագրիչ ՝ կույրերի, տեսողության խնդիրներ ունեցողների և այլոց համար. Ես ուսումնասիրում եմ արդյունաբերական դիզայն, և նախագիծը իմ կիսամյակի աշխատանքն է: Նպատակն է աջակցել տեսողության խնդիրներ ունեցող և կույրերին այնպիսի սարքով, որը թույլ է տալիս ձայնը ձայնագրել SD քարտի վրա ՝ WAV ձևաչափով և այդ տեղեկատվությունը կանչել NFC պիտակով: Այսպիսով
Arduino- ի ծրագրավորում ՝ օգտագործելով մեկ այլ Arduino ՝ առանց գրադարանի ոլորվող տեքստ ցուցադրելու համար. 5 քայլ
Arduino- ի ծրագրավորում ՝ օգտագործելով մեկ այլ Arduino ՝ առանց գրադարանի ոլորվող տեքստ ցուցադրելու համար. Sony Spresense- ը կամ Arduino Uno- ն այդքան թանկ չեն և չեն պահանջում մեծ էներգիա: Այնուամենայնիվ, եթե ձեր նախագիծը սահմանափակումներ ունի էներգիայի, տարածքի կամ նույնիսկ բյուջեի վրա, գուցե ցանկանաք հաշվի առնել Arduino Pro Mini- ի օգտագործումը: Ի տարբերություն Arduino Pro Micro- ի, Arduino Pro Mi
Տեսողության խնդիրներ ունեցողներին օգնելու համար Sonar- ի, Lidar- ի և համակարգչային տեսողության օգտագործումը միկրոկոնտրոլերների վրա. 16 քայլ
Օգտագործելով Sonar, Lidar և Computer Vision միկրոկոնտրոլերների վրա ՝ թույլ տեսողություն ունեցողների համար. Ես ուզում եմ ստեղծել խելացի «ձեռնափայտ», որը կարող է օգնել տեսողության խնդիրներ ունեցող մարդկանց շատ ավելի, քան առկա լուծումները: Ձողիկը կկարողանա օգտագործողին ծանուցել առջևի կամ կողքի առարկաների մասին ՝ աղմուկ բարձրացնելով շրջապատող ձայնային տիպի գլխաձողի մեջ