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

HALO: Handy Arduino Lamp Rev1.0 W/NeoPixels: 9 քայլ (նկարներով)
HALO: Handy Arduino Lamp Rev1.0 W/NeoPixels: 9 քայլ (նկարներով)

Video: HALO: Handy Arduino Lamp Rev1.0 W/NeoPixels: 9 քայլ (նկարներով)

Video: HALO: Handy Arduino Lamp Rev1.0 W/NeoPixels: 9 քայլ (նկարներով)
Video: DIY HALO Lamp Rev1.0 - Powered by Arduino Nano, 15+ Color Modes 2024, Հունիսի
Anonim
Image
Image
HALO. Handy Arduino Lamp Rev1.0 W/NeoPixels
HALO. Handy Arduino Lamp Rev1.0 W/NeoPixels
HALO. Handy Arduino Lamp Rev1.0 W/NeoPixels
HALO. Handy Arduino Lamp Rev1.0 W/NeoPixels

Այս ուսանելի դասում ես ձեզ ցույց կտամ, թե ինչպես կառուցել HALO կամ Handy Arduino Lamp Rev1.0:

HALO- ն պարզ լամպ է, որն աշխատում է Արդուինո Նանոյի կողմից: Այն ունի ընդհանուր ոտնահետք `մոտ 2 դյույմ 3 դյույմ, և կշռված փայտե հիմք` ծայրահեղ կայունության համար: Flexibleկուն պարանոցը և 12 գերապայծառ NeoPixels- ը թույլ են տալիս հեշտությամբ լուսավորել ցանկացած մանրուք ցանկացած մակերևույթի վրա: HALO- ն ունի երկու լուսարձակներ `տարբեր լուսային ռեժիմներով շրջելու համար, որոնցից 15-ը նախապես ծրագրավորված են: Arduino Nano- ի ՝ որպես պրոցեսորի օգտագործման շնորհիվ, ձեզ հնարավորություն կա այն վերակարգավորել լրացուցիչ գործառույթներով: Մեկ պոտենցիոմետրը օգտագործվում է պայծառությունն ու (կամ) արագությունը կարգավորելու համար, որով ցուցադրվում է ռեժիմը: Պարզ մետաղական կոնստրուկցիան HALO- ն դարձնում է շատ դիմացկուն լամպ, որը հարմար է ցանկացած արտադրամասում օգտագործելու համար: Օգտագործման դյուրինությունն ավելանում է Nano- ի էներգիայի կարգավորիչով, այնպես որ HALO- ն կարող է սնուցվել կամ USB- ի կամ հետևի 5 մմ տրամաչափի տակառի միջոցով:

Հուսով եմ, որ մոտ ապագայում շատերը կտեսնեն այս լամպերի օգտագործումը, քանի որ այս դիզայնով բացվող շատ հնարավորություններ կան: Խնդրում ենք քվեարկություն թողնել Միկրոկառավարիչների մրցույթում, եթե դա ձեզ դուր է գալիս կամ ինչ -որ կերպ օգտակար է գտնում, ես իսկապես կգնահատեի դա:

Նախքան այս Հրահանգի մեջ մտնելը, ես կցանկանայի կարճ շնորհակալություն հայտնել իմ բոլոր հետևորդներին և բոլոր նրանց, ովքեր երբևէ մեկնաբանել են, նախընտրել կամ քվեարկել իմ որևէ նախագծի վերաբերյալ: Ձեր շնորհիվ, իմ ստվարաթղթե հրահանգը դարձավ հսկայական հաջողություն, և ես այժմ, մուտքագրելով այն, հասնելով մոտ 100 հետևորդի, իմ կարծիքով, մեծ իրադարձություն է: Ես իրոք գնահատում եմ այն ամբողջ աջակցությունը, որը ստանում եմ ձեզանից, երբ դնում եմ իմ Ible- ը, և երբ խոսքը վերաբերում է դրան, ես առանց ձեզ չէի լինի այնտեղ, որտեղ այսօր եմ: Այդ ասելով ՝ շնորհակալություն բոլորին:

Ո NOTՇԱԴՐՈԹՅՈՆ. Այս Ուղեցույցում ամբողջը համարձակ արտահայտություններ են: Սրանք յուրաքանչյուր քայլի կարևոր մասերն են և չպետք է անտեսվեն: Սա ես չեմ բղավում կամ միտումնավոր կոպիտ եմ, ես պարզապես փորձում եմ գրել մի նոր տեխնիկա ՝ ավելի լավ ընդգծելու համար, թե ինչ պետք է արվի: Եթե ձեզ դա դուր չի գալիս և նախընտրում եք, թե ինչպես էի ես նախկինում գրում քայլերս, ասեք ինձ մեկնաբանություններում և կվերադառնամ իմ հին ոճին:

Քայլ 1: Նյութերի հավաքում

Նյութերի հավաքում
Նյութերի հավաքում
Նյութերի հավաքում
Նյութերի հավաքում
Նյութերի հավաքում
Նյութերի հավաքում
Նյութերի հավաքում
Նյութերի հավաքում

Քանի՞ անգամ պետք է ասեմ դա: Միշտ ունեցեք այն, ինչ ձեզ հարկավոր է, և ձեզ երաշխավորված է, որ կկարողանաք ինչ -որ բան կառուցել մինչև վերջ:

Նշում. Դրանցից մի քանիսը փոխկապակցված հղումներ են (նշված են «ալ»), ես դրանցից փոքր գնում կստանամ, եթե դրանք գնեք ՝ առանց ձեզ համար լրացուցիչ ծախսերի: Շնորհակալություն, եթե գնումներ կատարեք հղումների միջոցով:

Մասեր:

1x Arduino Nano Nano - ալ

1x 10k պտտվող պոտենցիոմետր 5 տուփ 10k պոտենցիոմետրեր - ալ

1x 5 մմ տրամաչափի խցիկ (իմը վերամշակվում է տապակած Arduino Uno- ից) Կանացի տակառի բաք (5 տուփ) - ալ

2x 2-քորոց վայրկյանական կոճակներ 10 տուփ SPST Pushbutton Switch-ալ

12x NeoPixels 60 LED/մետրի շղթայից (կաշխատի ցանկացած համարժեք, օրինակ ՝ WS2812B) Adafruit NeoPixels

0.5 մմ ալյումինե թերթ

Flexibleկուն վիզը հին ճկուն կրակայրիչից

Վերին ծածկույթի օղակը «Կպչեք և կտտացրեք» LED կաբինետի լույսից LED Cabinet Light - ալ

1/4 դյույմանոց Նրբատախտակի փոքր թերթ

Չափերի ծանր, հարթ մետաղական քաշը (մոտավորապես) 1.5 "2.5".25"

Խցանված առանցքային էլեկտրական մետաղալար

Գործիքներ:

Տաք սոսինձ ատրճանակ և սոսինձ

Sոդման երկաթ և զոդիչ

Անլար ուժային փորվածք և մի շարք պտտվող բիթեր

X-acto դանակ (կամ օգտակար դանակ)

Մետաղալարեր

Տափակաբերան աքցան

Մետաղալարեր/կտրիչներ

Dանր աշխատանքի մկրատ

Եթե դուք չունեք հարթ մետաղի քաշ, ապա ձեզ նույնպես պետք է.

1 գլան էժան զոդում (ոչ այն իրերը, որոնք դուք կօգտագործեք զոդման համար) էժան առանց կապի զոդման

Ալկոհոլային մոմ (կամ Bunsen այրիչ)

Փոքր-պինդ կարծրացած պողպատե ուտեստ, որը դեմ չեք փչացնելուն (կամ եթե ունեք փոքր խառնարան)

Եռոտանիվ նշված ուտեստի/խառնարանի համար (ես իմը պատրաստել եմ 12 չափիչ պողպատե մետաղալարից)

Կավե բուսական ուտեստ (այն իրերից մեկը, որը անցնում է կաթսայի տակ)

Որոշ ալյումինե փայլաթիթեղ

EԱՆՈԹՈԹՅՈՆ. Եթե ունեք եռակցման հավաքածու կամ 3D տպիչ, գուցե ձեզ հարկավոր չեն այստեղ թվարկված բոլոր գործիքները:

Քայլ 2: Քաշ պատրաստելը

Քաշ պատրաստելը
Քաշ պատրաստելը
Քաշ պատրաստելը
Քաշ պատրաստելը
Քաշ պատրաստելը
Քաշ պատրաստելը

Սա բավականին դժվար քայլ է, և դա անելու համար պետք է ծայրահեղ զգուշություն ցուցաբերել: Եթե դուք ունեք ծանր մետաղի քաշ կամ հարթ նեոդիմումի մագնիս ՝ մոտ 2,75 «1,75» 0,25 դյույմով, ես խորհուրդ կտայի դրա փոխարեն օգտագործել այն (և մագնիսը նույնիսկ թույլ կտա ձեզ լամպը կողքի տեղադրել մետաղական մակերևույթների վրա):

Մերժում. Ես պատասխանատվություն չեմ կրում ձեր կողմից որևէ վնասվածքի համար, ուստի խնդրում ենք առողջ դատողություն կիրառել:

Բացի այդ, դա արեք դրսում ՝ բետոնե մակերևույթի վրա, որը ձեզ դեմ չի լինի, եթե այն մի փոքր այրվի (սա պարզապես նախազգուշական միջոց է): Այս գործընթացի համար նկարներ չունեմ, քանի որ տեսախցիկը կլիներ լրացուցիչ շեղում, որն ինձ պետք չէր կամ չէր ցանկանա:

Նախ, ալյումինե փայլաթիթեղից կամ թաց կավից պատրաստեք մի փոքր ձուլվածք ՝ ներքին չափսերով մոտ 2 3/4 դյույմ 1 3/4 դյույմ 1 1/4 դյույմով: Այն կարող է լինել ձվաձև, ինչպես իմը, կամ ուղղանկյուն: Օգտագործեք փայլաթիթեղի բազմաթիվ շերտեր կամ կավի հաստ շերտեր:

Տեղադրեք կաղապարը կերամիկական գործարանի ամանի մեջ և սառը ջրով լցրեք և բորբոսը, և սկուտեղը:

Վերցրեք ձեր չլուսավորված ալկոհոլային մոմը/բունսենի այրիչը և պողպատե ամանը/խառնարանը դրեք եռոտանի վրա, որպեսզի բոցը տաքացնի ուտեստի կենտրոնը (երբ վառվում է): Նախքան այրիչը վառելը, համոզվեք, որ ձեռքում ունեք առնվազն 1 տափակաբերան աքցան կամ մետաղամշակման աքցան, եթե ոչ 2:

Հաջորդ քայլերը կատարելիս լավ գաղափար է կրել կաշվե ձեռնոցներ, երկարաթևեր, երկար տաբատներ, փակ մատներով կոշիկներ և աչքերի պաշտպանություն:

Փաթաթեք և կոտրեք էժանագին զոդի մի փունջ կծիկից և դրեք այն պողպատե ամանի մեջ, ապա վառեք այրիչը: Սպասեք, մինչև կծիկն ամբողջությամբ հալվի, այնուհետև սկսեք կերակրել կերակրատեսակի մեջ զոդման մնացած մասերը չափավոր տեմպերով: Եթե զոդի մեջ կա որևէ վարդագույն, դա կարող է ինքնաբերաբար այրվել շոգի մեջ ՝ առաջացնելով բաց դեղին բոց և սև ծուխ: Մի անհանգստացեք, սա ինձ հետ բազմիցս պատահել է և միանգամայն նորմալ է:

Շարունակեք կերակրման մեջ զոդել կերակրատեսակով, մինչև դրա վերջինը հալվի:

Թող այրվող վարդագույն բոցերը ամբողջովին մարեն, և տափակաբերան աքցաններով/բռնակներով բռնեք ուտեստը և նրբորեն պտտեք հալված մետաղը ներսում, այն զգուշորեն կրակի մեջ պահելով:

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

Թույլ տալով, որ զոդը սառչի, անջատեք ձեր այրիչը/մարեք ձեր մոմը և տեղադրեք պողպատե ամանը մի տեղ, որտեղ այն կարող է սառչել: Հնարավոր է, որ ցանկանաք սառը ջուր լցնել հովացման զոդի վրա ՝ սառեցումն արագացնելու և այն ավելի կարծրացնելու համար: (Սառը ջուրը դրսից ավելի արագ է սառչում, քան ներքինը ՝ ստեղծելով ներքին լարվածություն, որը մետաղը դարձնում է ավելի կոշտ և կոշտ, ինչը նման է Արքայազն Ռուպերտի կաթիլին):, հատկապես, եթե դա արվում է մի քանի անգամ:

Theոդման ամբողջովին սառչելուց հետո (մոտ 20 րոպե ապահով լինելու համար) հեռացրեք այն փայլաթիթեղի կաղապարից:

Իմն ավարտվեց մի կողմից ավելի հաստ, քան մյուսը, ուստի ես մուրճով այն հավասարեցրի և եզրերը հարթեցի (արդյունքում ստացվեց այն տեսքը, որը տեսնում եք նկարներում): Այնուհետև ես թեթև հղկեցի այն հոսող ջրի տակ ՝ փայլեցնելու համար, և մի կողմ թողեցի հետագայում:

Քայլ 3. Էլեկտրոնիկայի բնակարանաշինություն, Քայլ 1

Էլեկտրոնիկայի բնակարանաշինություն, քայլ 1
Էլեկտրոնիկայի բնակարանաշինություն, քայլ 1
Էլեկտրոնիկայի բնակարանաշինություն, քայլ 1
Էլեկտրոնիկայի բնակարանաշինություն, քայլ 1
Էլեկտրոնիկայի բնակարանաշինություն, քայլ 1
Էլեկտրոնիկայի բնակարանաշինություն, քայլ 1
Էլեկտրոնիկայի բնակարանաշինություն, քայլ 1
Էլեկտրոնիկայի բնակարանաշինություն, քայլ 1

Սրանք այն պատյանների այն մասերն են, որոնք տեղակայելու են Nano- ն, տեղադրելու են միջերեսը և հիմնականում այն է, ինչ միասին պահում է HALO լամպը: Ես պատրաստեցի իմ 0.5 մմ ալյումինով և տաք սոսինձով, բայց եթե ունեք 3D տպիչ (այն, ինչ ես որոշ ժամանակ փորձում էի ձեռք բերել իմ խանութի համար), ես Tinkercad- ում պատրաստեցի. STL տարբերակ, որը կցեցի այստեղ ձեզ համար բեռնել. Քանի որ ես ինքս տպիչ չունեմ, ես չկարողացա ստուգել մոդելի տպագրությունը `տեսնելու, թե արդյոք ամեն ինչ ճիշտ է տպվում, բայց կարծում եմ, որ լավ կլինի, եթե ձեր կտրիչում ավելացնեք համապատասխան աջակցության կառույցները: Կարող եք նաև պատճենել և խմբագրել աղբյուրի ֆայլը այստեղ, եթե ձեզ անհրաժեշտ է կամ ցանկանում եք մի փոքր այլ դիզայն կամ գեղագիտական տեսք:

Չափերը իրականում բխում էին այն մետաղից, որը ես ինքս ինձ դրել էի զոդումից, այլ ոչ թե էլեկտրոնիկայի չափից, բայց ամեն դեպքում բավականին լավ ստացվեց, և չափերը բավականին օպտիմալ են:

Նկարները պատկերում են գործողության մի փոքր այլ կարգ, քան ես այստեղ կգրեմ, սա այն է, որ ես մշակել եմ կատարելագործված մեթոդ ՝ հիմնված իմ սկզբնական մեթոդի արդյունքների վրա:

Եթե դուք հավաքվում եք թիթեղից, ինչպես ես եմ, ահա թե ինչ պետք է անեք.

Քայլ 1: Դեմքի ափսեներ

Կտրեք երկու նույնական կիսաշրջանաձև ձևեր ՝ մոտ 1,5 դյույմ բարձրությամբ և 3 դյույմ լայնությամբ: (Ես իմ ձեռքն ազատ եմ տրամադրել, այնպես որ նրանք մի փոքր նման են juke box- ի առջևին):

Երկու ափսեներից մեկում փորեք կոճակների և պոտենցիոմետրի երեք անցքերը: Իմը յուրաքանչյուրը 1/4 դյույմ տրամագծով էր: Դրանք կարող են լինել ցանկացած դասավորության մեջ, բայց ես նախընտրում եմ, որ իմ պոտենցիոմետրը մի փոքր բարձրացված լինի կենտրոնում, որի երկու կողմերի կոճակները կազմեն հավասարասյուն եռանկյուն: Հորատման ժամանակ ես միշտ փոքր փորձնական անցք եմ անում նախքան անհրաժեշտ չափի բիթին անցնելը, դա օգնում է անցքերի կենտրոնացմանը և դրանք մի փոքր ավելի մաքուր դարձնում:

Քայլ 2. Կամարակապ ծածկ

Թեքեք ալյումինի մի կտորի վրա ՝ դեմքի ափսեներից մեկի կորի շուրջը և նշեք եզրերի համապատասխան երկարությունը:

Կտրեք այս երկարության և մոտ 2 դյույմ լայնության ժապավենը և ձևավորեք այն որպես կամար, որը համընկնում է երկու կողմերի դեմքի թիթեղների կորի ձևին:

Գտեք կորի վերևի կենտրոնական կետը և անցք բացեք, որը կհամապատասխանի կրակայրիչի ճկուն պարանոցին: Ես փոխհատուցեցի իմ թիկունքն իմ հետևի մասում, որովհետև իմ օգտագործման ընթացքում լամպը հիմնականում թեքված կլինի դեպի առաջ, ուստի ես դրան մի քիչ հակակշիռ ավելացնելու ցանկություն ունեի: Իմ ճկուն պարանոցն ընդամենը մի փոքր ավելի քան 1/4 դյույմ տրամագիծ ուներ, ուստի ես օգտագործեցի 1/4 դյույմ բիթ (իմ ունեցած ամենամեծ պտույտը, որը գտնվում է 3/4 դյույմի տակ) և պարզապես զգուշորեն թեքում և ոլորում էի փորել ՝ փոսը դուրս հանելու համար, մինչև պարանոցը տեղավորվի:

Այժմ, երբ մենք ունենք պատյանների մասեր, հաջորդ քայլը էլեկտրոնիկայի ավելացումն ու համատեղումն է:

Քայլ 4. Էլեկտրոնիկայի բնակարանաշինություն, քայլ 2

Էլեկտրոնիկայի բնակարանաշինություն, քայլ 2
Էլեկտրոնիկայի բնակարանաշինություն, քայլ 2
Էլեկտրոնիկայի բնակարանաշինություն, քայլ 2
Էլեկտրոնիկայի բնակարանաշինություն, քայլ 2
Էլեկտրոնիկայի բնակարանաշինություն, քայլ 2
Էլեկտրոնիկայի բնակարանաշինություն, քայլ 2
Էլեկտրոնիկայի բնակարանաշինություն, քայլ 2
Էլեկտրոնիկայի բնակարանաշինություն, քայլ 2

Այժմ մենք ավելացնում ենք կոճակները և պոտենցիոմետրը և բոլորը միասին դնում:

Քայլ 1: Կոճակներ և պտուտակներ

Պտուտակեք վեցանկյուն ընկույզները ձեր կոճակներից և պոտենցիոմետրից: Ընկույզի տակ պետք է լինի բռնող օղակ սարք, թողեք այն տեղում:

Բաղադրիչներից յուրաքանչյուրը անցեք համապատասխան փոսով, այնուհետև պտուտակացրեք ընկույզները ՝ յուրաքանչյուրն իր տեղում ամրացնելու համար: Պտտեք ընկույզները այն կետին, որտեղ համոզված եք, որ յուրաքանչյուր բաղադրիչ լիովին ապահով է:

Քայլ 2. lexկուն պարանոց

Theկուն պարանոցը անցեք կորացած կտորի վերևի անցքի միջով: Տաք սոսինձ կամ եռակցում (եթե ունեք սարքավորումներ) պարանոցը ապահով տեղում:

Եթե դուք օգտագործում եք տաք սոսինձ, ինչպես ես եմ, լավ գաղափար է այն սոսնձել բազմաթիվ սոսինձներով, որոնք երկու կողմերն էլ սփռված են մեծ տարածքի վրա, որպեսզի հետագայում սոսինձը չբռնվի:

Քայլ 3. Shell հավաքում (չի տարածվում 3D տպագրված վահանակի վրա)

Կպչելով եռակցման գավազանով կամ տաք սոսինձով, ամրացրեք առջևի և հետևի երեսպատման սալերը կամարակապ ծածկույթի իրենց համապատասխան վայրերում: Ինձանից մի քանի փորձ պահանջվեց, որպեսզի իմ սոսինձը կպչեր, և ինչպես նախկինում, հնարքն այն է, որ հոդի երկու կողմերում շատ սոսինձ օգտագործվի, ինչպես պարանոցը: Որքան մեծ է սոսինձով ծածկված տարածքը, այնքան ավելի լավ է այն կպչուն:

Այժմ, երբ մենք ունենք կեղևը, կարող ենք անցնել ՝ ավելացնելով միացման բոլոր բիթերը:

Քայլ 5: Էլեկտրոնիկայի ավելացում

Էլեկտրոնիկայի ավելացում
Էլեկտրոնիկայի ավելացում
Էլեկտրոնիկայի ավելացում
Էլեկտրոնիկայի ավելացում
Էլեկտրոնիկայի ավելացում
Էլեկտրոնիկայի ավելացում

Եվ ահա զվարճալի մասը. Oldոդում: Վերջին շաբաթների ընթացքում ես անկեղծորեն մի փոքր հոգնել եմ զոդումից, քանի որ վերջին շրջանում դա այնքան էի անում, որպեսզի փորձեմ ավարտել մեկ այլ նախագիծ, որը շուտով պետք է իրականացնեի (ուշադիր եղեք իմ ռոբոտացված ցուցադրման արմատականացված նոր տարբերակի համար: հարթակներ), որի արդյունքում ես փչացրի մի երկաթ և ձեռք բերեցի մեկ այլ … Ամեն դեպքում, այստեղ զոդելու շատ բան չկա, այնպես որ սա պետք է լինի բավականին պարզ:

Նշում. Եթե ձեր Nano- ում արդեն տեղադրված են վերնագրեր, խորհուրդ կտամ ապամոդել դրանք այս նախագծի համար, դրանք միայն կխանգարեն:

Վերևի նկարներում կա դիագրամ, եթե ցանկանում եք, կարող եք հետևել դրան:

Քայլ 1: Ինտերֆեյս

Անջատիչներից յուրաքանչյուրից մի մետաղալար կպցրեք պոտենցիոմետրի կողային քորոցին: Այս նույն կողային քորոցից մետաղալար կպցրեք Նանոյի վրա հիմնավորված քորոցին:

Պոտենցիոմետրի կենտրոնական քորոցից մի մետաղալար կպցրեք Նանոյի վրա:

Switchոդեք մետաղալարերը Nano- ի ցանկացած A1- ի միացված կապից:

Մյուս անջատիչի վրա չմիացված կապից մի մետաղալար կպցրեք A2- ի Nano- ի վրա:

Նշում. Կարևոր չէ, թե որ անջատիչն է, դուք կարող եք դրանք շատ հեշտությամբ փոխել ծածկագրում, բացի այն, որ մի անջատիչը պարզապես հակառակն է անում մյուսին:

Կտրեք մետաղալարերի երկարությունը 4 դյույմ ավելի երկար, քան ճկուն պարանոցը և քանդեք երկու կողմերը: Sharpie- ի օգնությամբ մեկ կողմը նշեք մեկ տողով:

Wireոդեք մետաղալարեր պոտենցիոմետրի վերջին չկապված կողային պտուտակին, ոլորեք այս մետաղալարի չկապված ծայրը ՝ մետաղալարերի չնշված վերջի հետ վերջին ստորին հատվածից:

Sոդեք այս վերջը 5V- ի վրա Nano- ի վրա:

Քայլ 2: Էկրանի և հոսանքի լարեր

Կտրեք 2 երկարությամբ մետաղալար 4 դյույմ ավելի երկար, քան ճկուն պարանոցը, իսկ երկու ծայրերն էլ քանդեք:

Sharpie- ի միջոցով նշեք յուրաքանչյուր մետաղալարերի ծայրերը, մեկ մետաղալարը `2 տողով, իսկ մեկը` 3 -ով:

2 գծով մետաղալարը կպցրեք Nano- ի թվային կապին 9:

Ձեր 5 մմ տրամաչափի խցիկի վրա կենտրոնացրեք մի մետաղալար կենտրոնական քորոցից (դրական) մինչև Vin- ը Նանոյի վրա:

Anotherոդեք մեկ այլ մետաղալար `կողային պտուտակի կողային կապում (հիմնավորված/բացասական):

Պտտեք երկար մետաղալարը 3 շարվածքով `լարով, կողային պտուտակի կողային քորոցից:

Wոդեք այս լարերը Nano- ի բաց GND կապում:

Անհրաժեշտության դեպքում մեկուսացրեք կապերը էլեկտրական ժապավենով կամ տաք սոսինձով:

Քայլ 3. Փոսեր կտրելը (միայն մետաղյա տարբերակի դեպքում, եթե ծածկը 3D տպագրեք, ապա լավ կլինեք)

Օգտագործելով հորատիչ և X-acto կամ Utility Dnife, զգուշորեն անցք արեք Nano- ի USB պորտի ծածկույթի կողքին:

Կափարիչի հետևի մասում կատարեք մեկ այլ անցք ՝ տակառի երեսի չափով, նախընտրելի է USB պորտի անցքի հակառակ կողմին ավելի մոտ:

Քայլ 4: Բաղադրիչների տեղադրում

Երեք երկար լարերը սնուցեք ճկուն պարանոցի միջով և դուրս եկեք մյուս կողմից:

Օգտագործելով շատ տաք սոսինձ, ամրացրեք տակառի բռնակն իր տեղում, իսկ կապումներն ուղղված են կափարիչի վերևին:

Կրկին օգտագործելով բազմաթիվ տաք սոսինձներ, տեղադրեք Nano- ն տեղում ՝ վերակայման կոճակը դեպի ներքև, իսկ USB պորտը ՝ իր անցքի մեջ: Ես սարքեցի «տաք սոսինձ կամուրջ» տակառի ճարմանդի և Նանոյի միջև, ինչը ստիպում է յուրաքանչյուրին մյուսը ամուր պահել իր տեղում:

Այժմ մենք կարող ենք անցնել կշռված հիմքի ստեղծմանը:

Քայլ 6: Կշռված հիմք

Կշռված բազա
Կշռված բազա
Կշռված բազա
Կշռված բազա
Կշռված բազա
Կշռված բազա

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

Եթե դուք պատրաստել եք 3D տպագիր տարբերակը, կարող եք բաց թողնել առաջին քայլը և անցնել երկրորդին:

Քայլ 1: Փայտ

1/4 դյույմ նրբատախտակի թերթից կտրեք հիմքը մոտ 3 դյույմ 2 դյույմ:

Մանրացրեք եզրերը ՝ դրանք հարթելու և բծերը հեռացնելու համար:

Քայլ 2: Քաշը

Նախ, ապահովեք ձեր ընտրած քաշը, լինի դա մագնիսը, մետաղը կամ սովորական զոդիչը, որը տեղավորվում է մեր պատրաստած մետաղյա ծածկույթի եզրերին: Իմը մի ուղղությամբ մի փոքր մեծ էր, այնպես որ ես X-acto դանակով մի փոքր սափրվեցի կողքից: Եթե ձերն այն տեսակը չէ, որտեղ դուք կարող եք դա անել, գուցե ստիպված լինեք ճոճվել այլ հիմքի դիզայնով:

Նրբատախտակի կտորի կենտրոնում կամ եռաչափ տպված դիզայնի դեպքում տաք սոսնձեք ձեր քաշը, այս նպատակով իմ նախագծած կենտրոնական «սկուտեղի» տարածքում:

Քայլ 3: Հիմք

Տեղադրեք մետաղական ծածկը քաշի վրա և կենտրոնացրեք այն փայտի հիմքի վրա: (3D տպագիր դիզայնի դեպքում այն տեղադրեք նախապես պատրաստված ակոսների մեջ):

Համոզվեք, որ քաշը չի խանգարում էլեկտրոնիկայի որևէ մեկին:

Օգտագործեք տաք սոսինձ `հիմքը տեղում ամրացնելու համար: Օգտագործեք բավականաչափ ՝ ամուր կապ ապահովելու համար:

Այժմ, երբ մենք ամբողջովին պատրաստեցինք մեր կառավարման տուփը, անցնենք լույսերին:

Քայլ 7: NeoPixel Halo Ring

NeoPixel Halo մատանի
NeoPixel Halo մատանի
NeoPixel Halo մատանի
NeoPixel Halo մատանի
NeoPixel Halo մատանի
NeoPixel Halo մատանի
NeoPixel Halo մատանի
NeoPixel Halo մատանի

Այս լամպի անվան ոգեշնչումը NeoPixel լուսապսակի մատանին է, որը մենք կօգտագործենք որպես լուսավորման աղբյուր: Particularանկության դեպքում այս մասնիկը կարող է փոփոխվել կամ փոխարինվել ցանկացած NeoPixel կամ առանձին հասցեավորվող օղակով:

Քայլ 1: Sոդում

NeoPixels- ի 12 LED- ների երկարությունը կտրեք:

NDկուն պարանոցից, որն ունի 3 տող, GND կապը կպցրեք մետաղալարին:

Dinոդեք Din քորոցը 2 տող ունեցող մետաղալարին:

5V կապը միացրեք 1 տող ունեցող մետաղալարին:

Քայլ 2: Փորձարկեք լույսերը

Ներբեռնեք և տեղադրեք Adafruit_NeoPixel գրադարանը և բացեք «strandtest» ծածկագիրը:

Փոխեք մշտական PIN- ը 9 -ի:

Փոխեք գիծը, որտեղ շերտը սահմանվում է այնպես, որ այն կազմաձևված լինի 12 LED- ների համար:

Վերբեռնեք կոդը Nano- ում և համոզվեք, որ ձեր բոլոր LED- ները ճիշտ են գործում:

Faանկացած սխալ LED- ները փոխարինեք աշխատանքայիններով, մինչև ամբողջ ժապավենը աշխատի:

Քայլ 3: Rանգահարեք

Վերցրեք վերին օղակը «Կպչեք և կտտացրեք» լույսից և կտրեք ներքին եզրով ցանկացած պտուտակային ամրակ:

Կտրեք մի փոքր խազ եզրին լարերի համար շերտից:

NeoPixels- ի հետևի մասում կպչուն ժապավենի կափարիչը հանեք (եթե այդպիսիք կան) և կպցրեք դրանք օղակի ներսում `շերտի երկու ծայրերով անմիջապես մեր պատրաստած խազի մոտ:

Շերտերի եզրերը ամուր ամրացնելու համար օգտագործեք տաք սոսինձ:

Սոսինձը ամբողջովին սառչելուց հետո նորից փորձեք պիքսելները: Սա այն է, որպեսզի համոզված չլինի, որ ջերմության և գանգրացման հարցում ոչ ոք նրբանկատ չէ (իմը մի քանիսն էին):

Քայլ 4: Լեռ

Կտրեք 1/4 դյույմ փայտից երկու փոքր ուղղանկյուն ՝ օղակի բարձրության և 1 2/3 անգամ ավելի լայնության:

Սոսնձեցրեք դրանք միմյանց զուգահեռ օղակից լարերի երկու կողմերում ՝ լրացնելով բացը և ամբողջովին սոսնձով ծածկելով լարերը:

Wireգուշորեն հետ մղեք մետաղալարերի ավելորդ երկարությունը ճկուն պարանոցի մեջ, այնուհետև փայտե կտորները կպցրեք պարանոցի ծայրին ՝ օգտագործելով շատ սոսինձ և զգուշորեն լրացրեք բացերը (առանց վզիկը սոսինձով լցնելու):

Քայլ 6: Ավարտում

Եթե ցանկանում եք, կարող եք ներկել մատանին և ամրացնել ցանկացած գույն, ես նախընտրեցի արծաթագույն ծածկույթը, այնպես որ ես միայն Sharpie- ի օգնությամբ ծածկեցի մատանին (տհաճորեն) տպված լոգոն:Նույնը վերաբերում է լամպի մնացած մասին:

Այժմ մենք կարող ենք անցնել վերջնական կոդի ավարտին:

Քայլ 8: Կոդեր և թեստեր

Կոդեր և թեստեր
Կոդեր և թեստեր
Կոդեր և թեստեր
Կոդեր և թեստեր

Այսպիսով, այժմ մեզ մնում է միայն ծրագրել լամպը և փորձարկել այն: Կից ներկայացված է ընթացիկ կոդի տարբերակը (rev1.0), ես բավականին լայնորեն փորձարկել եմ այս կոդը, և այն շատ լավ է աշխատում: Ես աշխատում եմ rev2.0- ի վրա, որտեղ կոճակները կազմաձևված են որպես արտաքին ընդհատումներ, որպեսզի ռեժիմներն ավելի հեշտությամբ փոխարկվեն, բայց այս տարբերակը խելագարված է և դեռ պատրաստ չէ թողարկման համար: Ընթացիկ տարբերակով դուք պետք է պահեք կոճակը մինչև այն գործարկի Debounce օղակը և ճանաչի վիճակի փոփոխությունը, ինչը կարող է նյարդայնացնել ավելի երկար «Դինամիկ» օղակների վրա: Ստորև բերված է ծածկագիր ՝ որոշ բացատրություններով (ներբեռնվող տարբերակում կան նույն բացատրությունները):

#ներառել #ifdef _AVR_ #ներառել #endif

#սահմանեք PIN 9

#սահմանել POT A0 #սահմանել BUTTON1 A1 #սահմանել BUTTON2 A2

// Պարամետր 1 = պիքսելների քանակը շերտում

// Պարամետր 2 = Arduino փին համար (մեծամասնությունը վավեր է) // Պարամետր 3 = պիքսել տիպի դրոշներ, անհրաժեշտության դեպքում ավելացնել միասին. // NEO_KHZ800 800 KHz բիթսթրիմ (NeoPixel- ի արտադրանքներից շատերը WS2812 LED- ով) // NEO_KHZ400 400 ԿՀց (դասական ') v1 '(ոչ v2) FLORA պիքսելներ, WS2811 վարորդներ) // NEO_GRB պիքսելները միացված են GRB bitstream- ի համար (NeoPixel- ի ապրանքների մեծ մասը) // NEO_RGB պիքսելները միացված են RGB bitstream- ի համար (v1 FLORA պիքսելներ, ոչ v2) // NEO_RGBW պիքսելները լարված են RGBW bitstream (NeoPixel RGBW ապրանքներ) Adafruit_NeoPixel լուսապսակ = Adafruit_NeoPixel (12, PIN, NEO_GRB + NEO_KHZ800);

// Եվ հիմա, անվտանգության հաղորդագրություն մեր ընկերներից ՝ Ադաֆրուտից.

// ԿԱՐԵՎՈՐ. NeoPixel- ի այրման ռիսկը նվազեցնելու համար ավելացրեք 1000 uF կոնդենսատոր

// պիքսելային հոսանքի հոսանքներ, ավելացրեք 300 - 500 Օմ դիմադրություն առաջին պիքսելի տվյալների մուտքագրման վրա // և նվազագույնի հասցրեք Arduino- ի և առաջին պիքսելների միջև հեռավորությունը: Խուսափեք // ուղիղ միացման միացումից … եթե անհրաժեշտ է, նախ միացրեք GND- ը:

// փոփոխականներ

int կոճակ State1; int կոճակ State2; // ընթացիկ ընթերցումը մուտքային կապից int lastButtonState1 = LOW; // նախորդ ընթերցումը մուտքային կապից int lastButtonState2 = LOW; int ռեժիմ; // մեր լույսերի ռեժիմը կարող է լինել 16 պարամետրերից մեկը (0 -ից 15 -ը) int brightVal = 0; // պայծառությունը/ արագությունը, ինչպես սահմանված է պոտենցիոմետրով

// հետևյալ փոփոխականները երկար են, քանի որ ժամանակը, որը չափվում է միլիվայրկյաններով, // արագ կդառնա ավելի մեծ թիվ, քան կարող է պահվել int- ում: երկար lastDebounceTime = 0; // վերջին անգամ, երբ ելքային քորոցը փոխվել է երկար debounceDelay = 50; // բեկանման ժամանակը; ավելանալ, եթե ելքը թարթվի

void debounce () {

// կարդալ անջատիչի վիճակը տեղական փոփոխականի: int reading1 = digitalRead (BUTTON1); int ընթերցում 2 = digitalRead (BUTTON2); // Եթե կոճակներից որևէ մեկը փոխվել է ՝ աղմուկի կամ սեղմման պատճառով. } if ((millis () - lastDebounceTime)> debounceDelay) {// եթե կոճակի վիճակը միանշանակ փոխվել է սեղմման/արձակման պատճառով. if (reading1! = buttonState1) {buttonState1 = reading1; // սահմանել որպես ընթերցում, եթե այն փոխվի, եթե (buttonState1 == LOW) {// դրանք սահմանվում են որպես ակտիվ ցածր անջատիչների ռեժիմ ++; եթե (ռեժիմ == 16) {ռեժիմ = 0; }}} if (reading2! = buttonState2) {buttonState2 = reading2; եթե (buttonState2 == LOW) {ռեժիմ = ռեժիմ - 1; եթե (ռեժիմ == -1) {ռեժիմ = 15; }}}} // պահպանել ընթերցումը հաջորդ անգամ օղակի միջոցով lastButtonState1 = ընթերցում 1; lastButtonState2 = ընթերցում 2; }

void getBright () {// պոտենցիոմետրը կարդալու մեր կոդը, տալիս է 0 -ից 255 -ի արժեք: Օգտագործվում է որոշ ռեժիմներում պայծառություն սահմանելու համար, իսկ մյուսներում `արագություն:

int potVal = analogRead (POT); brightVal = քարտեզ (potVal, 0, 1023, 0, 255); }

// Ահա մեր գունային ռեժիմները: Դրանցից մի քանիսը ստացվել են ամենաթանկարժեք օրինակից, մյուսները ՝ օրիգինալ:

// Լրացրեք կետերը մեկը մյուսի հետևից գույնով (գույնի սրբում ՝ ստացված strandtest- ից)

դատարկ գույն Սրբել (uint32_t c, uint8_t սպասել) {for (uint16_t i = 0; i

// ծիածանի գործառույթներ (նաև ստացված strandtest- ից)

դատարկ ծիածան (uint8_t սպասել) {

uint16_t i, j;

համար (j = 0; j <256; j ++) {համար (i = 0; i

// Մի փոքր այլ, սա ծիածանը դարձնում է հավասարաչափ բաշխված ամբողջ երկայնքով

void rainbowCycle (uint8_t սպասել) {uint16_t i, j;

for (j = 0; j <256*5; j ++) {// անիվի բոլոր գույների 5 ցիկլ (i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, անիվ (((i * 256 / halo.numPixels ()) + j) & 255)); } halo.show (); ուշացում (սպասել); }}

// Գույնի արժեք ստանալու համար մուտքագրեք 0 -ից 255 արժեքը:

// Գույները անցումային r - g - b - վերադառնալ r են: uint32_t Անիվ (բայթ WheelPos) {WheelPos = 255 - WheelPos; if (WheelPos <85) {վերադարձ halo. Color (255 - WheelPos * 3, 0, WheelPos * 3); } if (WheelPos <170) {WheelPos -= 85; վերադարձ halo. Color (0, WheelPos * 3, 255 - WheelPos * 3); } WheelPos -= 170; վերադարձ halo. Color (WheelPos * 3, 255 - WheelPos * 3, 0); }

void setup () {

// Սա Trinket 5V 16MHz- ի համար է, կարող եք հեռացնել այս երեք տողերը, եթե դուք չեք օգտագործում Trinket #if սահմանված (_AVR_ATtiny85_) եթե (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // մանրահատակի վերջը հատուկ կոդի pinMode (POT, INPUT); pinMode (BUTTON1, INPUT_PULLUP); pinMode (BUTTON2, INPUT_PULLUP); pinMode (PIN, OUTPUT); Serial.begin (9600); // իրերի կարգաբերում halo.begin (); halo.show (); // Նախագծել բոլոր պիքսելները դեպի «անջատված»}

դատարկ շրջան () {

դեբոնս ();

//Serial.println (ռեժիմ); // ավելի վրիպազերծում //Serial.println(lastButtonState1); //Serial.println(lastButtonState2);

եթե (ռեժիմ == 0) {

getBright (); համար (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (brightVal, brightVal, brightVal)); // բոլոր պիքսելները սահմանել սպիտակ} halo.show (); }; եթե (ռեժիմ == 1) {getBright (); համար (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (brightVal, 0, 0))); // բոլոր պիքսելները սահմանել կարմիր} halo.show (); }; եթե (ռեժիմ == 2) {getBright (); համար (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (0, brightVal, 0)); // բոլոր պիքսելները սահմանել կանաչ} halo.show (); }; եթե (ռեժիմ == 3) {getBright (); համար (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (0, 0, brightVal)); // սահմանել բոլոր պիքսելները կապույտ} halo.show (); }; եթե (ռեժիմ == 4) {getBright (); համար (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (0, brightVal, brightVal)); // սահմանել բոլոր պիքսելները cyan} halo.show (); }; եթե (ռեժիմ == 5) {getBright (); համար (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (brightVal, 0, brightVal)); // սահմանել բոլոր պիքսելները մանուշակագույն/magenta} halo.show (); }; եթե (ռեժիմ == 6) {getBright (); համար (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (brightVal, brightVal, 0)); // սահմանել բոլոր պիքսելները նարնջագույն/դեղին} halo.show (); }; if (ռեժիմ == 7) {// այժմ դինամիկ ռեժիմները getBright (); colorWipe (լուսապսակ: Color (brightVal, 0, 0), 50); // Կարմիր}; եթե (ռեժիմ == 8) {getBright (); colorWipe (լուսապսակ: Color (0, brightVal, 0), 50); // Կանաչ}; եթե (ռեժիմ == 9) {getBright (); colorWipe (լուսապսակ: Color (0, 0, brightVal), 50); // Կապույտ }; եթե (ռեժիմ == 10) {getBright (); colorWipe (լուսապսակ: Color (brightVal, brightVal, brightVal), 50); // սպիտակ}; եթե (ռեժիմ == 11) {getBright (); colorWipe (լուսապսակ: Color (brightVal, brightVal, 0), 50); // նարնջագույն/դեղին}; եթե (ռեժիմ == 12) {getBright (); colorWipe (լուսապսակ: Color (0, brightVal, brightVal), 50); // ցիանագույն}; եթե (ռեժիմ == 13) {getBright (); colorWipe (լուսապսակ: Color (brightVal, 0, brightVal), 50); // մանուշակագույն/մագենտա}; եթե (ռեժիմ == 14) {// վերջին երկուսը արագության կառավարում են, քանի որ պայծառությունը դինամիկ է getBright (); ծիածան (brightVal); }; եթե (ռեժիմ == 15) {getBright (); rainbowCycle (brightVal); }; ուշացում (10); // թույլ տվեք պրոցեսորին մի փոքր հանգստանալ}

Քայլ 9: Մեծ եզրափակիչ

Մեծ եզրափակիչ
Մեծ եզրափակիչ

Եվ հիմա մենք ունենք ֆանտաստիկ, գերապայծառ փոքրիկ լամպ:

Դուք կարող եք այն ավելի փոփոխել այստեղից կամ թողնել այնպես, ինչպես կա: Դուք կարող եք փոխել ծածկագիրը կամ նույնիսկ ամբողջությամբ գրել նորը: Դուք կարող եք մեծացնել հիմքը և ավելացնել մարտկոցներ: Դուք կարող եք ավելացնել երկրպագու: Կարող եք ավելացնել ավելի շատ NeoPixels: Այն ամենի ցանկը, ինչ կարող եք անել դրանով, գրեթե անսահման է: Ես ասում եմ «գրեթե», որովհետև ես վստահ եմ, որ մենք դեռ չունենք տեխնիկա ՝ սա մինի պորտալի գեներատորի վերածելու համար (ցավոք), բայց նման բաներից զատ, միակ սահմանը ձեր երևակայությունն է (և որոշ չափով ՝ ինչպես ես վերջերս եմ գտել, ձեր սեմինարի գործիքները): Բայց եթե դուք չունեք գործիքներ, թույլ մի տվեք, որ դա ձեզ խանգարի, եթե դուք իսկապես ցանկանում եք ինչ -որ բան անել, միշտ կա միջոց:

Սա այս նախագծի իմաստի մի մասն է ՝ ինքս ինձ (և ավելի փոքր չափով ՝ աշխարհին) ապացուցելու համար, որ ես կարող եմ օգտակար նյութեր պատրաստել, որոնք կցանկանային նաև ուրիշներին, նույնիսկ եթե իմ ունեցածը հին և ջնջվածների իսկական աղբ է: բաղադրիչներ և Arduino պաշարների աղբարկղ:

Ես այստեղից կհեռանամ, քանի որ կարծում եմ, որ այս մեկը բավականին լավ ստացվեց: Եթե ունեք բարելավման առաջարկ կամ իմ մեթոդների վերաբերյալ հարց, խնդրում ենք թողնել մեկնաբանություն ստորև: Եթե դուք դա արել եք, նկարեք, մենք բոլորս ուզում ենք տեսնել այն:

Խնդրում ենք չմոռանալ քվեարկել, եթե դա ձեզ դուր է գալիս:

Ինչպես միշտ, դրանք վտանգավոր պայթյունավտանգության նախագծերն են ՝ նրա ողջ կյանքի առաքելությունը ՝ «Համարձակ կառուցել այն, ինչ ցանկանում ես կառուցել և ավելին»:

Մնացած նախագծերիս կարող եք ծանոթանալ այստեղ:

Շնորհակալություն կարդալու համար, և երջանիկ պատրաստում:

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