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

Հեշտ անսահման հայելի Arduino Gemma- ի և NeoPixels- ի հետ. 8 քայլ (նկարներով)
Հեշտ անսահման հայելի Arduino Gemma- ի և NeoPixels- ի հետ. 8 քայլ (նկարներով)

Video: Հեշտ անսահման հայելի Arduino Gemma- ի և NeoPixels- ի հետ. 8 քայլ (նկարներով)

Video: Հեշտ անսահման հայելի Arduino Gemma- ի և NeoPixels- ի հետ. 8 քայլ (նկարներով)
Video: Armenchik "Siro Masin" ❤️+❤️=❤️ 2024, Հուլիսի
Anonim
Անսահմանության հեշտ հայելի Arduino Gemma- ով և NeoPixels- ով
Անսահմանության հեշտ հայելի Arduino Gemma- ով և NeoPixels- ով

Ահա՛ Նայեք խորը կախարդիչ և խաբուսիկորեն պարզ անվերջության հայելու մեջ: 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- ի նախատիպը

Breadboard- ի նախատիպը
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 դասը: Ես անհամբերությամբ սպասում եմ մեկնաբանություններում ձեր տարբերակները տեսնելուն և ողջունել ձեր մտքերն ու արձագանքները:

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