Բովանդակություն:
- Քայլ 1: Պաշարներ
- Քայլ 2: Կտրեք շրջանակի կտորներ
- Քայլ 3: Շրջանակ հավաքեք
- Քայլ 4. Շղթայի դիագրամ և կեղծ կոդ
- Քայլ 5: Breadboard- ի նախատիպը
- Քայլ 6: Կոդ
- Քայլ 7: oldոդման միացում
- Քայլ 8: Օգտագործեք այն:
Video: Հեշտ անսահման հայելի Arduino Gemma- ի և NeoPixels- ի հետ. 8 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Ահա՛ Նայեք խորը կախարդիչ և խաբուսիկորեն պարզ անվերջության հայելու մեջ: LED- ների մեկ շերտը ներսից փայլում է հայելու սենդվիչի վրա `ստեղծելով անվերջ արտացոլման ազդեցություն: Այս նախագիծը կկիրառի իմ ներածական Arduino Class- ի հմտություններն ու տեխնիկան և բոլորը միասին կդնի վերջնական ձևի ՝ օգտագործելով ավելի փոքր Arduino Gemma տախտակ:
Դիտեք այս նախագծի վեբինարը: Ստուգեք այս վեբինարը, որը ես ղեկավարել եմ 2017 թվականի հունիսի 28 -ին, որպեսզի տեսնեք, թե ինչպես եմ ավարտում այս կառուցումը:
Աշխատանքին հետևելու համար հետևեք ինձ YouTube- ում, Instagram- ում, Twitter- ում, Pinterest- ում և բաժանորդագրվեք իմ տեղեկագրին:
Քայլ 1: Պաշարներ
Այս դասին հաջորդելու համար ձեզ հարկավոր է.
- Կտրուկ օգտակար դանակ
- Մետաղական քանոն կամ T- քառակուսի
- Կտրող գորգ կամ ջարդոն ստվարաթուղթ
- Տպիչ ՝ կաղապարի կամ շրջանագծի կողմնացույցի համար
- Պլաստիկ գնահատման դանակ (ըստ ցանկության, բայց գեղեցիկ)
- Տաք հալեցման սոսինձ ատրճանակ կամ E6000/Quick Hold արհեստական սոսինձ
- Հագուստի ամրակ (ըստ ցանկության, որպես սոսինձ սեղմիչ օգտագործելու համար)
- 4 "կլոր հայելի
- Հայելի պլաստիկ թափանցիկ
- Սև փրփուր տախտակ, 3/16 "հաստությամբ
- Arduino Uno և առանց զոդման տախտակ ՝ ամրացման ափսեի վրա
- USB A-B մալուխ
- Փոքր կոճակ (որը դուք ավելի վաղ զոդել եք)
- Հացաթղթերի լարեր
- RGBW NeoPixel ժապավեն (կամ այլ WS2812b RGBW LED ժապավեն) (19 պիքսել, օգտագործում է նույն ժապավենը, որը դուք ավելի վաղ զոդել եք)
- Oldոդման և զոդման սարք
- Մետաղալարեր
- Լվանալ անկյունագծային կտրիչներ
- Երրորդ ձեռքի գործիք
- Բազմաչափ (ըստ ցանկության)
- Փոքր ասեղ տափակաբերան աքցան
- Պինցետ
- Arduino Gemma տախտակ
- Միկրո USB մալուխ
- USB հանգույց, եթե ձեր համակարգիչն ունի միայն USB 3 պորտ (օրինակ ՝ նոր Mac- ներ)
- USB երկարացման մալուխ (ըստ ցանկության)
- USB հոսանքի ադապտեր
- Lipoly մարտկոց և լիցքավորիչ (ըստ ցանկության)
Այս նախագիծը ձեզ ուղեկցում է փրփուրի տախտակից էլեկտրոնիկայի պատյան կառուցելու համար, որը պահանջում է պաշտպանված աշխատանքային մակերես (կտրող գորգ կամ ստվարաթղթի մի քանի շերտեր), մետաղյա քանոն և սուր օգտակար դանակ: Կտորները հավաքելու համար կարող եք կամ օգտագործել տաք սոսինձ ատրճանակ, կամ ընտրել E6000- ի նման արհեստական սոսինձ: Կլոր ապակու հայելին գտնվում է անսահմանության հայելու կենտրոնում, իսկ թափանցիկ հայելիի պլաստմասե կտորը անսահման թունելի էֆեկտի գաղտնի բաղադրիչն է: Եթե պլաստմասսայե դանակ չունեք, կարող եք օգտագործել մի զույգ ամուր մկրատ `հայելու պլաստիկը կտրելու համար, բայց թողնել ավելի մեծ լուսանցք, քան կարծում եք, որ ձեզ հարկավոր կլինի, քանի որ հայելու ֆիլմը հակված է մի փոքր փաթաթվել մկրատի շուրջը: կտրված եզրեր: Սուր գործիքներ օգտագործելիս զգույշ եղեք, սառցաջուրը պահեք տաք սոսինձի ցանկացած նախագծի մոտ `այրվածքների արագ բուժման համար և օգտագործեք համապատասխան օդափոխություն ցանկացած սոսինձի համար:
Arduino Gemma - Անսահմանության հայելու նախագիծը փոքրացնում է Arduino- ի միացումը `Arduino Uno- ն փոխարինելով Arduino Gemma- ով: Gemma- ն մի փոքրիկ տախտակ է, որը կառուցված է ATTiny85 միկրոկոնտրոլերի շուրջ, որն ունի ավելի քիչ հիշողություն և ավելի քիչ գործառույթներ, քան Uno- ի Atmega328- ը, բայց դա նաև ավելի փոքր և ցածր արժեք է: Խոշոր բարձիկները հեշտությամբ կպցվում են (և կարվում են հաղորդիչ թելերով, բայց դա այլ դասի թեմա է): Gemma- ն օգտագործում է միկրո USB մալուխ `ձեր համակարգչին միանալու համար և ունի JST պորտ` մարտկոցը միացնելու համար: Դուք կսովորեք, թե ինչպես ծրագրավորել Gemma- ն Arduino ծրագրից և կառուցել այն վերջնական նախագծում: Փոխարենը կարող եք օգտագործել Adafruit Gemma- ն, բայց ձեզ հարկավոր կլինի լրացուցիչ քայլ կատարել Arduino ծրագրակազմը կազմաձևելու համար:
RGBW NeoPixel ժապավեն - Թվային հասցեավորվող այս ժապավենը պարունակում է WS2812b չիպսեր, որոնք վերահսկում են կարմիր, կանաչ, կապույտ և սպիտ LED- ները: NeoPixel- ը Adafruit ապրանքանիշի անունն է, բայց կարող եք նաև գտնել այս շերտը ՝ որոնելով «WS2812b RGBW ժապավեն» ձեր նախընտրած մատակարարի կայքում: Այս դասում ներկայացված նմուշի կոդը չի աշխատի RGB (առանց սպիտակ) շերտի, անալոգային LED շերտի կամ որևէ այլ տեսակի թվային կառավարման չիպի հետ (ինչպես APA104 aka DotStar)
Քայլ 2: Կտրեք շրջանակի կտորներ
Պատրաստվեք թղթե արհեստի համար: Այս քայլը ներառում է սուր գործիքներ և պահանջում է մանրուքների ուշադրություն, այնպես որ համոզվեք, որ լավ հանգստացել եք, բայց նաև չափազանց կոֆեինացված չեք: Օգտագործեք պայծառ լուսավորություն և մեծ, մաքուր աշխատանքային մակերես, որը պաշտպանված է կտրող գորգով կամ ստվարաթղթով:
Եթե դուք նորեկ եք փրփուրի տախտակ կտրելու և սոսնձելու համար, լրացուցիչ աշխատեք պրակտիկայի և սխալների համար. 16x20in տախտակներից բաղկացած երեք տուփը պետք է բավարարի (և դրա հետ մեկտեղ կարող եք այլ նախագծեր կատարել, եթե ավելորդ մնացորդ ունեք): Վնասվածքներից խուսափելու համար օգտագործեք սուր բերան, մետաղյա քանոն, դանդաղ տեմպ և շատ զգուշավորություն: Սովորական է մի քանի կտոր վերափոխել ՝ թիակի սխալ սայթաքման կամ սեղմման պատճառով:
Կտրվող ձևերը ստեղծելու երկու եղանակ կա. Տպեք ձևանմուշը կամ գծերը գծեք գծանշող կողմնացույցով: Որևէ մեկի մեջ առանձնապես առավելություն չկա, բայց ձեր հմտություններն ու գործիքները կարող են ձեզ այս կամ այն կերպ ազդել: Կաղապարը հասանելի է որպես սալիկապատ PDF տառերի չափի թղթի համար, որը դուք կպցրեք միասին և սոսնձի փայտով կպչեք այն ձեր փրփուրին: Կա նաև ձևանմուշի անթիվ տարբերակ, եթե ցանկանում եք այն տպել մեծ ձևաչափով տպիչով կամ փոփոխություններ կատարել:
Իրոք, պարզ է ձեռքով նկարել ձևերը, չնայած, խոստանում եմ: Նախ գծեք ձեր հայելու չափին համապատասխանող շրջան ՝ կողմնացույցը դնելով նրա շառավղին (4 "հայել = 2" շառավիղ) և ձեր փրփուրի վրա շրջան նկարելով յուրաքանչյուր եզրից առնվազն 5 դյույմ: Իհարկե, դուք պարզապես կարող եք հետևել հայելու շրջագծին, բայց հետո պետք է գտնեք և նշեք կենտրոնը: Կողմնացույցը ներդիր է դարձնում կենտրոնական կետում, որը հարմար է երկրորդ համակենտրոն շրջան կազմելու համար:
Այժմ ընդարձակեք ձեր կողմնացույցը 4 դյույմ և դուրս հանեք առաջինի շուրջ ավելի մեծ շրջանակը: Սա ձեր հայելու ամբողջական ներքևն է/հետևը: նշեք այն որպես այդպիսին:
Վերին/առջևի կտորը պետք է մի փոքր ավելի մեծ լինի, այնպես որ ձեր կողմնացույցը հասցրեք 4 3/16 դյույմ և քաշեք այն ներքևի մասից ապահով հեռավորության վրա:
Դիտման պատուհանը պետք է հայելուց փոքր -ինչ փոքր լինի, չնայած կարևոր չէ, թե որքանով: Տեղադրեք ձեր կողմնացույցը հայելու շառավղից մոտ 1/8 դյույմով փոքր, այնուհետև գծեք շրջանակը ՝ օգտագործելով նույն կենտրոնական կետը, ինչ ավելի մեծ դիմային/վերին պարագիծը:
Նշեք այս կտորը ավելի փոքր շրջանակի մեջ, որը մի քանի րոպեից կտրվելու է:
Ձեր փրփուրի մի երկար կողմի վրա նշեք և կտրեք մեկ շերտ 1/2 "լայնությամբ, իսկ մյուսը` 1 "լայնությամբ:
Նեղ շերտը կգրկի հայելին և կպահպանի ձեր NeoPixel շերտը, իսկ ավելի լայնը ՝ շրջանաձև շրջանակի արտաքին պատը:
Շրջանակները կտրելու համար: Որոշ նրբանկատություն և համբերություն օգտակար են այստեղ: Ես սիրում եմ ավելի փոքր արհեստական դանակ օգտագործել շրջանակներ կտրելու համար, քանի որ զգում եմ, որ ավելի շատ վերահսկողություն ունեմ: Հատուկ դանակը, որն այստեղ օգտագործում եմ, վերցնում է սովորական X-acto շեղբեր, և ես այն գտա գրանցամատյանների միջանցքում:
Նախ, դանակը թեթև քաշեք ներքևի կտորի ամբողջ շրջագծով ՝ միայն ծակելով թղթի վերին շերտը: Այս անցման ընթացքում դուք ազատ եք թեքել սայրը, սակայն ամենահարմարն է և արտադրում է ամենաճշգրիտ ձևը:
Կրկին կտրեք շրջանակի շուրջը ՝ հետևելով նախորդ անցման մեջ կատարած գծին: Այս անգամ ուշադրություն դարձրեք ձեր սայրի անկյունին, որը պետք է լինի 90 աստիճան (ուղիղ վեր և վար): Այս կտրվածքը կատարելիս ամուր սեղմեք և մատները հեռու պահեք շեղբի ուղուց: Վերցրեք ձեր տախտակը և ստուգեք ՝ արդյոք ամբողջ ճանապարհով կտրե՞լ եք: Ձեր բերանով ևս մեկ անցում կատարեք ՝ պարագծի երկայնքով մնացած մնացած բծերը կտրելու համար:
Հաջորդը, կտրեք վերին կտորը, ապա կտրեք դրա ներքին շրջանակը: Այս կտորն ավելի շատ է երևում, քան որևէ այլ, այնպես որ տվեք դրան մի փոքր լրացուցիչ մաքրում ՝ ցանկացած անհարթ եզրեր ուղղելու համար:
Թեք ներքին օղակի համար խաչաձև կտրվածք կատարեք ամեն 1/4 դյույմ ավելի բարակ փրփուր շերտի երկայնքով, բայց մի կտրեք մինչև վերջ: Դա ավելի հեշտ է, քան հնչում է. Պարզապես կատարեք երկու թեթև փոխանցում և կստանաք արագ կտրեք այն: Այս կտրվածքները թույլ են տալիս կտորը թեքվել ՝ ապահովելով ներքին հարթ մակերես:
Արտաքին շրջանակի կտորը պետք է դնի իր լավագույն երեսը դեպի դուրս, այնպես որ մենք խաչաձեւ կտրվածքներ կկատարենք մի փոքր այլ ձևով: Առաջին նախապատրաստումը գրկման հոդի համար `եզրից 3/16" տող խփելով: Կատարեք նուրբ խաչաձև կտրվածքներ ժապավենի երկայնքով `համապատասխանաբար 3/8" և 1/8 "մոտ հաստ և բարակ հատվածներ փոխարինելով:
Նյութը հեռացնելու համար, որտեղ եզրը կպահի, շերտը տեղադրեք կտրող մակերեսի երկայնքով և դանակը հորիզոնական սահեցրեք, որպեսզի փրփուրի ավելցուկը թափվի ՝ թղթի ստորին շերտը անձեռնմխելի թողնելով:
Այժմ հեռացրեք բարակ հատվածները ՝ դրանք հանելով պինցետով կամ տափակաբերան աքցանով: Նրանք ազատ են արձակվում գոհացուցիչ հնչող ձայնով: Այդ լրացուցիչ տարածության դեպքում շերտն այժմ կարող է թեքվել իր մեջ և ձևավորել նախագծի մաքուր արտաքին պատյանը:
Կտրեք ձեր թափանցիկ հայելիի պլաստիկից մի կտոր, որն ավելի մեծ կլինի, քան ձեր հայելին, բայց ավելի փոքր, քան արտաքին շրջանակը: Մի անհանգստացեք, փորձելով այն կտրել շրջանագծի մեջ: Եթե ունեք պլաստմասե միավոր դանակ, ապա դա ամենալավն է: Քաշեք գուջը ձեր քանոնի երկայնքով մի քանի անգամ, այնուհետև ամրացրեք պլաստիկը պատյանով: Այնուամենայնիվ, օգտակար դանակը հեշտությամբ կտրում է նաև այս բարակ նյութը, չնայած հայելու նյութի որոշ շերտավորմամբ կտրված եզրով, որը, այնուամենայնիվ, թաքնված կլինի շրջանակի ներսում:
Քայլ 3: Շրջանակ հավաքեք
Պաշտպանեք ձեր աշխատանքային մակերեսը որոշ ջարդոններով: Glueերմացրեք ձեր սոսինձ ատրճանակը և պատրաստեք մի գավաթ սառցաջուր, որպեսզի մոտակայքում մնաք, եթե ինքներդ այրվեք: Այս նախագծի համար կարող եք օգտագործել տարբեր սոսինձ (ներ), եթե նախընտրում եք:
Ներքևի շրջանագծի կենտրոնում քսեք սոսինձ և կպցրեք ձեր հայելին դրան: Նրբորեն պտտեք և սեղմեք հայելին փրփուրի դեմ ՝ այն հավասարեցնելով նշված շրջանագծին: Այնուհետև կպցրեք ձեր բարակ ժապավենը հայելու պարագծին և պոկեք ավելցուկը ՝ թողնելով մի փոքր բաց, որպեսզի լարերը անցնեն:
Տեղադրեք ձեր առջևի «բլիթի» կտորը դեմքով դեպի ներքև աշխատանքային մակերևույթի վրա և սոսինձ դրեք եզրին: Բազմիցս սեղմեք այս կտորները միասին և ներքև աշխատանքային մակերևույթի վրա, երբ սոսնձում եք շարժման ընթացքում, այնպես որ առջևի եզրը գեղեցիկ և մաքուր է դառնում: Արտաքին եզրը ամբողջովին չի շրջվի, և դա նորմալ է, եթե ցանկանում եք, կարող եք հետագայում փակել այս բացը:
Ուղղորդեք NeoPixel շղթայի լարերը հայելու եզրին գտնվող փոքր բացվածքի միջով և սոսնձեք այն ինտերիերին: Theանկության դեպքում օգտագործեք հագուստի ամրակ ՝ շերտը սեղմելու համար, մինչ սոսինձը սառչում է: Փորձեք խուսափել հայելու վրա տաք սոսինձ ստանալուց, բայց եթե դա անեք, ամեն ինչ կարգին է: Մի փոքր ալկոհոլը կպահի ապակու նման ոչ ծակոտ մակերևույթներին:
Մաքրեք ձեր աշխատանքային տարածքը `փոշին և փրփուրի կտորները հեռացնելու համար: Օգտագործեք առանց շրթունքների կտոր ՝ հայելին ամբողջությամբ մաքրելու համար, այնուհետև վերցրեք ձեր թափանցիկ հայելին և մի կողմից մաքրեք պաշտպանիչ ծածկը: Ներքին պատի չորս կետերում մի փոքր քանակությամբ սոսինձ քսեք (թույլ մի տվեք, որ սոսինձի ատրճանակի շարժումները քաշվեն հայելու վրայով `թափառող թելերից խուսափելու համար) և սոսնձեք թափանցիկ հայելին տեղում: Այժմ ձեր անդրադարձող մակերեսները կնքված են և պաշտպանված փոշուց:
Kբաղվեք կրկնակի անդրադարձունակությամբ ՝ ձեր NeoPixel ժապավենը միացնելով ձեր Arduino տախտակին ՝ գործարկելով թեմայի վերաբերյալ իմ Arduino դասի դասում նկարագրված NeoPixel ծածկագրի օրինակը:
Քայլ 4. Շղթայի դիագրամ և կեղծ կոդ
Չնայած դուք ողջունում եք հղում կատարել ձեր կառուցման ընթացքում այստեղ ցուցադրված դիագրամին, ես խրախուսում եմ ձեզ նկարել ձեր սեփականը: Ձեր հացահատիկի և վերջնական նախատիպերի կառուցման ընթացքում դուք կունենաք առաջին հայացք, և ձեր սխեմաների գծապատկերումը հետագայում ավելի դյուրին կդարձնի ձեր սեփական նախագծերի նախագծումը: Շղթայական սխեմայի նպատակն է ցույց տալ շրջանի բոլոր էլեկտրական միացումները, անհրաժեշտ չէ նրանց ֆիզիկական դիրքերը կամ կողմնորոշումները:
Կապերը հետևյալն են.
NeoPixel 5V -> Arduino 5V
NeoPixel GND -> Arduino GND
NeoPixel Din (տվյալները մեջ) -> Arduino թվային մուտքի/ելքի պին (կարգավորելի է)
վայրկենական կոճակի անջատիչի մի կողմը -> Arduino թվային մուտքի/ելքի պին (կարգավորելի է)
վայրկենական կոճակի անջատիչի մյուս կողմը -> Arduino GND
Այս սխեման համատեղում է NeoPixel ժապավենը տարբեր LED անիմացիաներ առաջացնող կոճակի հետ և կօգտագործի ներքին ձգման դիմադրություն, ինչպես տեսաք մուտքի/ելքի դասին: Օգտագործելով այս ամբողջ տեղեկատվությունը, մենք կարող ենք գրել մեր Arduino ծրագրի մարդկային ընթեռնելի մակետ, որը կոչվում է «կեղծ կոդ.
Փոփոխականներ. NeoPixel- ի կապի համարը, կոճակի կապի համարը, քանի LED- ներ կան, որքան լուսավոր պետք է լինեն LED- ները
Մեկանգամյա առաջադրանքներ. Կոճակի քորոցը որպես ներածման ներքին ռեզիստորով մուտքագրում, NeoPixel ժապավենի սկզբնականացում, LED անիմացիաների նկարագրում
Շրջանակային առաջադրանքներ. Ստուգեք ՝ արդյոք կոճակը սեղմված է, և եթե այն ունի, անցեք այլ LED անիմացիայի
Կարող է պարզ թվալ, բայց ձեր նախագծի համար կեղծ կոդ գրելու համար ժամանակ հատկացնելը կօգնի ձեզ գրել ձեր վերջնական Arduino ուրվագիծը ավելի արագ և ավելի քիչ շփոթմունքով: Այն մի փոքր նման է անելիքների ցուցակին, ինչպես նաև տեղեկատու ուղեցույց այն դեպքերի համար, երբ դուք լողում եք ծածկագրով և չեք կարող հիշել, թե ինչ եք փորձում հասնել:
Քայլ 5: Breadboard- ի նախատիպը
Ձեռք բերեք ձեր Arduino- ն և տախտակը և համոզվեք, որ USB լարը անջատված է վարդակից: Ձեր NeoPixels- ը դեռ միացված է ավելի վաղուց? Հիանալի! Եթե ոչ, միացրեք դրանք. 5 Վ լարման հոսանքին, Din- ին Arduino- ի կապիչ 6 -ին, GND- ին `գետնին:
Այնուհետև ձեր սեղանի սեղանին ավելացրեք մի ակնթարթային կոճակ ՝ շրջելով կենտրոնական բաժանարար գիծը: Մի ոտքը միացրեք ցամաքային երկաթուղուն, իսկ նրա հարևան ոտքը ՝ Arduino կապին 2. Ներբեռնեք այս նախագծի կոդը ուղղակիորեն կամ վերևում գտնվող Autodesk Circuits մոդուլում, կտտացրեք «Կոդի խմբագիր» կոճակին, այնուհետև «Ներբեռնեք կոդը» և բացեք ֆայլը Arduino, կամ պատճենեք և տեղադրեք կոդը նոր դատարկ Arduino ուրվագծի մեջ:
Միացրեք USB մալուխը և տեղադրեք կոդը ձեր Arduino տախտակին: Սեղմել կոճակը; այն պետք է խթանի նոր անիմացիա ՝ NeoPixels- ում խաղալու համար: 5V ռելսերը բավարար են սահմանափակ պայծառությամբ այս մի քանի պիքսելների համար, բայց ավելի շատ LED- ներ ունեցող ապագա նախագծերի համար ձեզ հարկավոր կլինի առանձին սնուցման աղբյուր, ինչպես դա քննարկվեց իմ ներածական Arduino Class- ի հմտությունների դասում:
Քայլ 6: Կոդ
Եկեք ավելի մանրամասն քննենք ծածկագիրը.
#սահմանեք BUTTON_PIN 2 // կոճակին միացված թվային IO քորոց: Սա կլինի
// քշվում է ձգվող դիմադրիչով, այնպես որ անջատիչը պետք է // ակնթարթորեն քաշի քորոցը գետնին: Բարձր -> ցածր // անցման վրա կոճակի սեղմման տրամաբանությունը կկատարվի: #սահմանել PIXEL_PIN 6 // NeoPixels- ին միացված թվային IO կապ: #սահմանել PIXEL_COUNT 19 #սահմանել ՊԱՀՈՍԱԿՈ 100ԹՅՈ 100Ն 100 // 0-255 // Պարամետր 1 = պիքսելների քանակը ժապավենի մեջ // Պարամետր 2 = կապի համարը (մեծամասնությունը վավեր է) // Պարամետր 3 = պիքսելային տիպի դրոշներ, ըստ անհրաժեշտության ավելացնել. / / NEO_RGB պիքսելները միացված են RGB բիթստրիմի համար // NEO_GRB Պիքսելները միացված են GRB բիթսթրիմի համար, ճիշտ է, եթե գույները փոխվում են փորձարկման ժամանակ // NEO_RGBW պիքսելները միացված են RGBW բիթստրիմի համար // NEO_KHZ400 400 ԿՀց բիթստրիմ (օրինակ ՝ FLORA պիքսել) // 800 NHz_KHZ8 բիթստրիմ (օրինակ ՝ բարձր խտության LED ժապավեն), ճիշտ նեոպիքսելային ձողիկի համար Adafruit_NeoPixel շերտ = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, NEO_GRBW + NEO_KHZ800); bool oldState = HIGH; int showType = 0;
Ինչպես և NeoPixel- ի օրինակային ծածկագիրը, այս առաջին բաժինը սահմանում է NeoPixel ժապավենը և փոփոխականները `սեղմիչ կոճակի, պիքսելների կառավարման քորոցի և այլն:
void setup () {
pinMode (BUTTON_PIN, INPUT_PULLUP); strip.setBrightness (BRIGHTNESS); strip.begin (); strip.show (); // Նախագծել բոլոր պիքսելները «անջատված» -ի համար} Կարգավորման գործառույթը սահմանում է 2-րդ քորոցը մուտքի հետ ՝ իր ներքին քաշման դիմադրությունը ակտիվացված, սահմանում է պիքսելների գլոբալ պայծառությունը և սկսում պիքսելային տվյալների կապը:
դատարկ շրջան () {
// Ստացեք կոճակի ընթացիկ վիճակը: bool newState = digitalRead (BUTTON_PIN); // Ստուգեք, արդյոք վիճակը բարձրից բարձր է դարձել ցածր (կոճակի սեղմում): if (newState == LOW && oldState == HIGH) {// Դուրս գալու կարճ կոճակ: ուշացում (20); // Ստուգեք, արդյոք կոճակը դեռ ցածր է դուրս գալուց հետո: newState = digitalRead (BUTTON_PIN); if (newState == LOW) {showType ++; եթե (showType> 6) showType = 0; startShow (showType); }} // Կոճակի վերջին վիճակը կարգավորեք հին վիճակի: oldState = newState; }
Օղակի գործառույթը նախ ստուգում է կոճակի ընթացիկ վիճակը և պահում այն բուլյան փոփոխականի մեջ (կարող է լինել երկու վիճակներից մեկը ՝ ԲԱՐՁՐ կամ OWԱOWՐ): Այնուհետև այն ստուգում և կրկնակի ստուգում է ՝ տեսնելու համար, թե արդյոք այդ վիճակը անցնում է ԲԱՐՁՐԻ to toԱՆOWԻ՞: Եթե այդպես է, showType- ը ավելանում է մեկով, և կոչվում է startShow գործառույթը, որի ներկայիս showType- ը նրան փոխանցվում է որպես արգումենտ (showType- ը սահմանափակված է 0-6-ով): OldState փոփոխականը թարմացվում է ՝ արտացոլելու համար, թե որն էր վերջին կոճակի վիճակը:
void startShow (int i) {
switch (i) {case 0: colorWipe (strip. Color (0, 0, 0), 50); // Սև/անջատված ընդմիջում; գործ 1: colorWipe (շերտ. Գույն (255, 0, 0), 50); // Կարմիր ընդմիջում; գործ 2: colorWipe (շերտ. Գույն (0, 255, 0), 50); // Կանաչ ընդմիջում; գործ 3: colorWipe (շերտ. Գույն (0, 0, 255), 50); // Կապույտ ընդմիջում; գործ 4: իմպուլս Սպիտակ (5); ընդմիջում; գործ 5: rainbowFade2White (3, 3, 1); ընդմիջում; գործ 6: fullWhite (); ընդմիջում; }}
StartShow գործառույթը պարունակում է անջատիչ/դեպքի հայտարարություն, որը պարզապես արագ և գեղեցիկ միջոց է մի քանի/այլ հայտարարություններ հավաքելու համար: Անջատիչ գործը i- ի փոփոխականը համեմատում է յուրաքանչյուր դեպքի արժեքների հետ, այնուհետև գործարկում է այդ հայտարարության կոդը: Հիմնաբառ
ընդմիջում;
դուրս է գալիս switch/case հայտարարությունից: Այս անջատիչը/պատյանը օգտագործվում է ամեն անգամ կոճակը սեղմելիս անիմացիոն տարբեր գործառույթներ կանչելու համար:
Այժմ, երբ դուք ստացել եք հացահատիկի ֆունկցիոնալ նախատիպ, ժամանակն է այն դարձնել ավարտված նախագիծ ՝ օգտագործելով Arduino Gemma- ն, որն ավելի փոքր է, ավելի քիչ ցուցադրված և ցածր գնով, քան Arduino Uno- ն: Փոխարենը կարող եք օգտագործել Adafruit Gemma- ն, բայց ձեզ հարկավոր կլինի լրացուցիչ քայլ կատարել Arduino ծրագրակազմը կազմաձևելու համար:
Նախ, փոխեք NeoPixel- ի PIN փոփոխականը 6 -ից 1 -ը ձեր ծածկագրում.
#սահմանել PIXEL_PIN 1 // NeoPixels- ին միացված թվային IO պին:
Միացրեք ձեր Arduino Gemma- ն ձեր համակարգչին USB մալուխի միջոցով և Arduino Tools- ի ընտրացանկում ընտրեք «Arduino Gemma»:
Ինքնաթիռի ATTiny85 միկրոկառավարիչի սահմանափակ գործառույթները չեն աջակցում սերիական պորտը այնպես, ինչպես Uno- ն, այնպես որ կարիք չկա որևէ բան ընտրել Port- ի ընտրացանկից: Այնուամենայնիվ, անպայման ընտրեք «Arduino Gemma» - ն theրագրավորողի ընտրացանկի տարրում:
Տախտակը մի փոքր օգնության կարիք ունի իմանալու համար, թե երբ եք փորձում այն ծրագրավորել, այնպես որ կտտացրեք տախտակի վրա վերակայման կոճակը, և մինչ կարմիր LED- ը բաբախում է, սեղմեք Վերբեռնման կոճակը ՝ ձեր ուրվագիծը Gemma- ի վրա տեղադրելու համար: Եթե ձեր կարմիր LED- ը չի զարկեր, երբ սեղմում եք վերակայման կոճակը, ձեր USB մալուխը կարող է միայն էներգիայի համար լինել, և այն պետք է փոխարինվի USB մալուխով, որն ունի հոսանքի և տվյալների միացումներ: Մեկ այլ պատճառն այն է, որ ձեր LED- ը չի կարող զարկերակել, եթե օգտագործում եք USB 3 պորտ (բոլոր նոր Mac- երը), ինչը դժվարանում է ճանաչել Gemma բեռնիչը: Օգտագործեք USB 2 պորտ ձեր համակարգչի վրա կամ USB հանգույց ձեր համակարգչի և Gemma- ի միջև:
Քայլ 7: oldոդման միացում
Ձեր Gemma- ի հետ միացումն աշխատեցնելու համար մենք լարերը կփակցնենք անմիջապես տախտակի բարձիկներին: Անջատեք տախտակի միակցիչն ու շղթան, ոլորեք և թիթեղացրեք NeoPixel ժապավենի լարերը: Wոդման լարերը նույն ձևով (կարող եք օգտագործել զոդման դասի կոճակը): Պտտեք և կպցրեք երկու հողային լարերը:
Gemma- ի մեծ անցքերը հեշտացնում են այս սխեման հավաքելը առանց լրացուցիչ մասերի. Պարզապես անցեք թիթեղյա լարերը անցքերի միջով և ավելցուկը փաթաթեք զոդման բարձիկի շուրջ: Կապերը հետևյալն են.
- NeoPixel 5V -> Gemma Vout
- NeoPixel Din -> Gemma 1 ~ (թվային կապ 1)
- NeoPixel GND -> սեղմման կոճակի մի կողմ -> Gemma GND
- կոճակի մյուս կողմը -> Gemma 2 (թվային փին 2)
Տեղադրեք ձեր տպատախտակը երրորդ ձեռքի գործիքի մեջ և տաքացրեք միացումները ձեր եռակցման երկաթով, նախքան թելն ու մետաղալարը կուլ տալու համար ավելի շատ զոդ կիրառելը: Բոլոր կապերը սառչելուց հետո կտրեք ավելորդ մետաղալարերը ձեր լվացքի բռնակներով:
Տաքացրեք ձեր Gemma- ն տեղում ՝ USB պորտով, որը շրջված է շրջանի եզրին:
Կիրառեք առջևի/վերևի կափարիչը և շահարկեք եզրը `կտորները մաքուր տեղադրելու համար: Հնարավոր է, որ ստիպված լինեք մի փոքր կտրել ձեր ներքևի շրջանակը, որպեսզի այն տեղավորվի, և նմանապես բացեք եզրը ՝ կողակցին տեղավորելու համար: Կպչեք կոճակը, որտեղ ցանկանում եք:
Քայլ 8: Օգտագործեք այն:
Միացրեք USB մալուխը, սեղմեք կոճակը և վայելեք: Դուք կարող եք փոխել գույներն ու անիմացիաները ՝ փոխելով ծածկագիրը: Օգտագործեք USB հոսանքի ադապտեր, եթե ցանկանում եք այն ամրացնել պատին: Այս պահին, եթե ցանկանում եք, կարող եք պատրաստել մեկ այլ փոքր փրփուրի եզրային կտոր ՝ մնացած բացը փակելու համար: Որոշ առաջարկներ ՝ կախեք այն ձեր պատից, պահեք այն ձեր գրասեղանի մոտ և տվեք ընկերոջը:
Այս նախագիծը կարող եք հեշտությամբ գործարկել ներքին մարտկոցով ՝ USB մալուխ միացնելու փոխարեն: Կողմնորոշումը, որով կպչում եք Gemma- ն, որոշելու է մարտկոցի պորտին հասանելիությունը, ուստի գուցե ցանկանաք այն նորից սոսնձել այլ անկյան տակ: 19 RGBW պիքսել անգամ 80ma առավելագույն ընթացիկ խաղարկություն (գումարած ma 10ma Gemma- ի համար) հավասար է 1530ma- ի, ինչը նշանակում է, որ մեզ տեխնիկապես անհրաժեշտ է առնվազն այդքան mAh մարտկոց: Այնուամենայնիվ, հայելու ծածկագիրը չի մոտենում բոլոր չորս պիքսելների LED- ների ամբողջական պայծառությամբ միասին օգտագործմանը, այնպես որ իրականում ընթացիկ առավելագույն քաշումը շատ ավելի քիչ է: Մարտկոցի առողջ փոխզիջումը 1200mAh լիցքավորվող լիպոլիկ մարտկոցն է:
Շնորհակալություն Arduino- ի այս նախագծին հետևելու համար: Հիմնական հիմունքներին ծանոթանալու համար այցելեք իմ ներածական Arduino դասը: Ես անհամբերությամբ սպասում եմ մեկնաբանություններում ձեր տարբերակները տեսնելուն և ողջունել ձեր մտքերն ու արձագանքները:
Խորհուրդ ենք տալիս:
Ստեղծեք անսահման հայելի ժամացույց ՝ 15 քայլ (նկարներով)
Պատրաստեք անսահմանության հայելային ժամացույց. Նախորդ նախագծում ես կառուցեցի անսահման հայելի, որտեղ դրա վերջնական նպատակը ժամացույց դարձնելն էր: (Ստեղծեք գունագեղության անսահմանության հայելի) Ես դա չեմ հետապնդել այն կառուցելուց հետո, քանի որ, չնայած այն իրոք զով տեսք ուներ, մի քանի բան կար
Ստեղծեք գունագեղ անսահման հայելի. 12 քայլ (նկարներով)
Ստեղծեք գունագեղության անսահմանության հայելի. Այս անգամ ես պատրաստելու եմ գունագեղ լույսերով մեկը ՝ օգտագործելով LED շերտ, հասցեավորվող LED- ներով: Ես հետևելու եմ նույն վերջին քայլերին այդ վերջին հրահանգից, այնպես որ ես չեմ
Circuit Learn NANO: One PCB: Հեշտ է սովորել: Անսահման հնարավորություններ. 12 քայլ (նկարներով)
Circuit Learn NANO: One PCB: Հեշտ է սովորել: Անսահման հնարավորություններ. Էլեկտրոնիկայի և ռոբոտաշինության աշխարհում սկսելը սկզբում կարող է բավականին սարսափելի լինել: Սկզբում սովորելու շատ բան կա (սխեմայի ձևավորում, զոդում, ծրագրավորում, ճիշտ էլեկտրոնային բաղադրիչների ընտրություն և այլն), և երբ ամեն ինչ սխալ է ընթանում
Վեցանկյուն անսահման հայելի LED լույսերով և լազերային լարերով ՝ 5 քայլ (նկարներով)
Վեցանկյուն անսահմանության հայելի LED լույսերով և լազերային մետաղալարով. Եթե դուք փնտրում եք ստեղծել յուրահատուկ լուսավորության կտոր, սա իսկապես զվարճալի նախագիծ է: Բարդության պատճառով որոշ քայլեր իսկապես պահանջում են որոշակի ճշգրտություն, բայց կան մի քանի տարբեր ուղղություններ, որոնցով կարող եք գնալ ՝ կախված ընդհանուր տեսքից
DIY MusiLED, Երաժշտության համաժամեցված լուսադիոդներ մեկ կտտոցով Windows և Linux հավելվածով (32 բիթ և 64 բիթ): Հեշտ է վերստեղծել, Հեշտ օգտագործել, Հեշտ տեղափոխել ՝ 3 քայլ
DIY MusiLED, Երաժշտության համաժամեցված լուսադիոդներ ՝ մեկ կտտոցով Windows և Linux հավելվածով (32-բիթ և 64-բիթ): Հեշտ է վերստեղծել, դյուրին օգտագործել, հեշտ է տեղափոխել. LED- ները դրանք լուսավորելու են ըստ հարվածի էֆեկտների (Snare, High Hat, Kick)