Բովանդակություն:
- Քայլ 1: Մասեր և գործիքներ
- Քայլ 2: Կապի պատրաստում
- Քայլ 3: NeoPixels- ի ամրացում
- Քայլ 4. Կցեք Circuit Playground Express- ը
- Քայլ 5: CPX- ի հզորացում
- Քայլ 6. Շրջանակային խաղահրապարակի էքսպրես տեղադրում
- Քայլ 7. Կոդավորեք Circuit Playground Express- ը
- Քայլ 8: Կողպեք փողկապը
Video: Հոլի փողկապ. 8 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:49
GwfongMonkey Patching Հետևեք հեղինակի ավելին.
Օգտվողի մասին. Պարզապես մի տղա, ով ձգտում է թույն բաներ պատրաստել Ավելին gwfong- ի մասին »
Սա Holi-Tie- ն է, տոնական փողկապ, որը նախատեսված է արձակուրդների ժամանակ կրելու համար: Հեշտությամբ հիմնված Becky Stern- ի Ampli-Tie- ի վրա, որն օգտագործում է Flora տախտակ, Holi-Tie- ն օգտագործում է Circuit Python Express (CPX) միկրոկոնտրոլեր `NeoPixel- ի անիմացիաներն ու երաժշտությունը վարելու համար: Կոճակը փոխվում է NeoPixel- ի 2 տարբեր անիմացիաների միջև: Հզոր դիպչող բարձիկները փոխում են NeoPixel- ի գույները և շարժման արագությունը: Մյուս կոճակը փոխվում է LED անիմացիաների և երաժշտության միջև: Ինքնաթիռի խոսափողը օգտագործվում է VU մետր անիմացիայի շրջակա միջավայրի աղմուկը չափելու համար: Իսկ CPX բարձրախոսը թողարկում է տոնական չիպային մեղեդիներ:
Ամեն ինչ կոդավորված է ՝ օգտագործելով Python ծրագրավորման լեզուն, որը գործում է CircuitPython համակարգի վրա: Այն սնուցվում է 3.7 Վ, 500 մԱՀ հզորությամբ LiPo մարտկոցով, որը փոխվել է ՝ միացնելու/անջատելու անջատիչ ունենալու համար:
Կան երկու տեսահոլովակներ, որոնք ցույց են տալիս Holi-Tie- ը.
- Ավարտվեց Holi-Tie- ը
- Հոլի-փողկապի ներսում
Քայլ 1: Մասեր և գործիքներ
Մասեր
- Circuit Playground Express
- 15x ֆլորա նեոպիքսել
- Մագնիս մետաղալար
- Կպչուն կեռիկ և հանգույց ժապավեն
- 500 mAH lipo մարտկոց JST միակցիչով
- Candy Cane փողկապ
- Mini slide switch, SPDT
- Atերմային նեղացման խողովակ
Մասերի աղբյուրներ ձեռք բերելիս խելամիտ կլինի լրացուցիչ հավելումներ գնել: Ես ունեի ընդամենը 20 NeoPixel, որոնցից մեկն ի սկզբանե կոտրված էր, իսկ մեկը ՝ փչացած: Candy Cane փողկապն այնքան էժան էր, որ երկրորդը գնեցի միայն այն դեպքում, եթե առաջինը փչացնեի:
Գործիքներ
- Տաք սոսինձ ատրճանակ
- Sոդման կայան
- Մետաղալար կտրիչներ
- Փոքր դանակ
- Բազմաչափ
- Համակարգիչ
- Կրակայրիչ կամ ջերմային ատրճանակ
- Թել և ասեղ
Քայլ 2: Կապի պատրաստում
Հիմնական նպատակը ներքին կապի միջուկի և սահմանազատման գծերի հասանելիությունն է `նշելով, թե որտեղ պետք է տեղադրվեն LED- ները:
Քայլ 1: Վզկապը ամրացրեք դիրքի վրա
Դժվար կլինի փողկապը կապել, երբ էլեկտրոնիկան իր տեղում լինի: Այսպիսով, փողկապը կապեք այնպես, որ այն լավ տեսք ունենա, և հանգույցը բավականին ամուր լինի և չբացահայտվի: Այնուհետև զգուշորեն քաշեք փողկապի փոքր ծայրը, որպեսզի անցքը բացվի ՝ փողկապը գլխի վրայով անցնելու համար: Սա այն դիրքն է, որի վրա կաշխատեն փողկապը:
Կան բոլոր տեսակի տարբեր փողկապային հանգույցներ: Ես գիտեմ միայն այն, ինչ սովորել եմ մանկության տարիներին ՝ Վինձորին: Կարևոր չէ, թե որ հանգույցն է օգտագործվում:
Քայլ 2: Բացեք փողկապի հետևը
Կտրեք բացերը փողկապի օղակի և պատկերանշանի մի կողմում, այնուհետև փողկապի կենտրոնից ներքև: Carefulգույշ եղեք, քանի որ վերջում այն պետք է նորից կարել:
Քայլ 3. Գծեք գծեր, որտեղ LED- ները պետք է տեղադրվեն
Որպեսզի LED- ները հայտնվեն փողկապի սպիտակ շերտերի հատվածներում, ավելի հեշտ է գտնել փողկապի միջուկի հետևի յուրաքանչյուր սպիտակ շերտերի հատվածի կենտրոնական գիծը, այնուհետև քարտեզագրել այն փողկապի միջուկի առջևի մասում: Ստուգեք և կրկնակի ստուգեք, որ կենտրոնական գիծը 1) կենտրոնում է և 2) շերտին զուգահեռ: LED դիրքերի ճշգրիտ կարգավորումը հնարավոր կլինի, եթե դրանք մի փոքր անջատված լինեն: Բայց ավելի լավ է այն մոտենալ ճշգրիտին, քան ավելի ուշ:
Փորձարկեք գծերի կենտրոնացվածությունը `LED- ները տեղադրելով գծերի վրա և շերտագիծը դնելով վերևում: Կարգավորեք այնտեղ, որտեղ անհրաժեշտ է:
Քայլ 3: NeoPixels- ի ամրացում
Հիմնականում մենք պատրաստում ենք մեր սեփական LED ժապավենը: Մենք պարզապես LED- ները տեղադրում ենք փողկապի միջուկի վրա, այնուհետև դրանք միացնում ենք միմյանց:
Քայլ 1. NeoPixels- ը ամրացրեք կապի միջուկին
NeoPixel- ի հետևի մասում տեղադրեք տաք սոսինձ, այն տեղադրեք կենտրոնական գծերի վրա: 3 NeoPixel ունեցող հատվածների համար ուղղահայաց հավասարեցրեք NeoPixel կենտրոնը և դրանք առաջինը կպցրեք ներքև: Սա ավելի դյուրին կդարձնի ձախ և աջ NeoPixel- ի տեղադրումը կենտրոնի նկատմամբ, հատկապես հաշվի առնելով, որ փողկապի լայնությունը վերևից ներքև մեծանում է:
Համոզվեք, որ բոլոր NeoPixels- ը կողմնորոշեք միևնույն ուղղությամբ ՝ ներքևից ձախից դեպի վերին աջ: Եթե դա ճիշտ չէ, շերտը չի աշխատի:
Նշում տաք սոսինձի մասին: Բավական կլինի նախագիծը ավարտին հասցնել: Ինչ վերաբերում է այն, թե արդյոք դա կտևի գալիք տարիներ, ապա պարզապես պետք է տեսնել:
Քայլ 3. NeoPixels- ը միմյանց կպցրեք
Քանի որ ես որոշեցի NeoPixels- ը միասին զոդել `հաղորդունակ թել օգտագործելու փոխարեն, NeoPixel բարձիկների փոսը մեր դեմ քիչ է աշխատում: Պարզապես լավ տեղ գտեք պահոցի վրա `մետաղալարերը կպցնելու համար: Մի փորձեք փոսը լցնել եռակցմամբ, բայց եթե դա տեղի ունենա, ապա ամեն ինչ կարգին կլինի:
Մագնիս մետաղալարն ունի մեկուսացման բարակ շերտ պղնձե միջուկի շուրջ: Դանակով քերծեք մեկուսացումը հենց ծայրերում, որտեղ դրանք կպչեն: Ավելի լավ է քերել մետաղալարերի ամբողջ շրջագիծը:
Քայլ 4: Փորձեք կապը
Օգտագործեք մուլտիմետր `ստուգելու կապը հետևյալի հետ.
- Դրական կապեր: Պետք է լինի միացում ծայրից մինչև պոչ: Համոզվեք, որ թեստային կապը բարձիկների վրա է և ոչ թե մետաղալարերի:
- Հողային միացումներ: Կատարեք նույն թեստը, բայց գրունտային բարձիկներով:
- Տվյալների յուրաքանչյուր տող: Տվյալների մեկ պահոցից մյուսը ստուգեք, որ կա կապ:
Քայլ 4. Կցեք Circuit Playground Express- ը
Circuit Playground Express (CPX) - ը համակարգի սիրտն է: Այս վերահսկիչի համար Adafruit- ն ունի բազմաթիվ ձեռնարկներ: Հետագայում այս ուսանելիի մեջ ես կարևորեմ MCU- ի մի քանի առանձնահատկություններ:
Քայլ 1. Xոդեք CPX- ը NeoPixel- ի ներքևի ծայրին
Կտրեք մագնիսալարի համապատասխան երկարությունները հզորության, գրունտի և տվյալների համար: Հրել դրանք փողկապի միջուկի միջով, որպեսզի նրանք դիպչեն NeoPixel- ի հզորությանը, գրունտին և տվյալների բարձիկներին: Sոդեք դրանք ՝ համոզվելով, որ բարձիկների վրա առկա լարերը դեռ լավ կապ են ապահովում:
Հաջորդը շրջեք փողկապի միջուկը և տեղադրեք CPX- ը ցանկության դիրքում: Սնուցեք հոսանքի լարերը VOUT պահոցին, հողալարերը `ցանկացած գրունտի բարձիկին և տվյալների հաղորդալարը` A0- ից բացի ցանկացած այլ I/O պահոցով: Իմ գրած կոդը օգտագործում է A3:
Փորձարկեք կապը:
Քայլ 2: Կապեք CPX- ը
Թելով և ասեղով վերցրեք չորս հավասար հեռավորության վրա գտնվող բարձիկներ և կարեք դրանք կապի միջուկի վրա:
Քայլ 5: CPX- ի հզորացում
CPX- ը չունի միացման/անջատման անջատիչ: Սա նշանակում է, որ այն պահին, երբ մարտկոցը միացված է, փողկապը կմիացվի: Սա նաև նշանակում է, որ այն անջատելու միակ միջոցը մարտկոցը միացնելն է, ինչը մեծ դժվարություն է: Պարզ լուծում է մարտկոցի անջատիչ/անջատիչ դնելը:
Քայլ 1. Անջատիչի 3 -րդ կապը կտրեք
Ոչ կենտրոնական կապումներից մեկը անհրաժեշտ չէ: Անջատիչի մարմնով միանգամից կտրեք այն:
Քայլ 2: theոդեք անջատիչը մարտկոցի լարի գծում
Կտրեք մարտկոցի գրունտի լարերը ինչ -որ տեղ մեջտեղում: Սահեցրեք մի կտոր ջերմության նվազեցման խողովակի յուրաքանչյուր գետնին լարերի վրա: Մի գրունտալարը միացրեք կապում մեկին, իսկ մյուսը `մյուս կապին: Համոզվեք, որ դրանք չեն դիպչում միմյանց, կամ զոդը դիպչում է մետաղյա մարմնին:
Ստուգեք, որ դրանք միացված չեն բազմիմետր օգտագործելով: Սահեցրեք խողովակը եռակցված միացումների վրայով և փոքրացրեք այն: Ավելացրեք մի փոքր էլեկտրական ժապավեն ցանկացած մասի, որը կարող է ձախողվել ճկման հոգնածության պատճառով:
Քայլ 3: Ստուգեք, որ մարտկոցը աշխատում է
Այս պահին մարտկոցը կարող է միացվել CPX- ին: Եթե ամեն ինչ լավ է ընթանում, անջատիչը պետք է կարողանա միացնել և անջատել CPX- ը:
Քայլ 4: Տեղադրեք մարտկոցը
Մարտկոցի հետևի մասում և փողկապի միջուկին մի քիչ կպչուն կարթ և օղակ կպցրեք: Սա կպահի այն տեղում, եթե փողկապը շատ չկարգավորվի:
Քայլ 6. Շրջանակային խաղահրապարակի էքսպրես տեղադրում
Ես չեմ մանրամասնի, թե ինչպես կարգավորել CPX- ը: Ադաֆրուտը դա անում է, իսկ հետո ՝ մի քանիսը: Ես մի քանի խորհուրդ կտամ այն հարցերի համար, որոնց ես հաճախ հանդիպել եմ:
CPX- ն սառեցնում է
Հավանաբար, ժամանակի հետ կապված հիշողության խնդիրների պատճառով CPX- ն բավականին հաճախ սառչում էր: Արագ շտկումը ջնջելն ու նորից բռնկվելն է: Այս հրահանգներում փնտրեք «Հին ճանապարհ»: Հիմնականում դա մի քանի կոճակ սեղմում է, ջնջելու համար քաշել և թողնել, այնուհետև նորից բռնկվել `քաշել և թողնել:
Գուշացում. Սա ջնջում է ամեն ինչ: CPX- ի բոլոր ծածկագրերը կկորչեն:
CPX- ում փոփոխությունների պահպանումը կարող է խնդիրներ առաջացնել
Ես հայտնաբերեցի, որ երբեմն ֆայլը CPX- ում պահելուց հետո Python- ի գործարկման ժամանակը վատ վիճակում է: Շտկումը պիթոնի գործարկման ժամանակի վերագործարկումն էր ՝ սեղմելով վերակայման կոճակը: Սեղմեք այն միայն մեկ անգամ: Երկու անգամ սեղմելով ՝ կսկսվի նորից բռնկման գործընթացը:
CPX- ի վրա ուղղակիորեն խնայելը ռիսկային է
CPX- ի վերաթողարկման հավանականության պատճառով մեկը ռիսկի է դիմում կորցնել դրանց ամբողջ ծածկագիրը: Կոդը երկու անգամ կորցնելուց հետո ես պարզ աշխատանքային հոսք գտա: Ես կպահեի իմ կոդը տեղական կոշտ սկավառակի վրա: Երբ այն պատրաստ էր CPX- ի վրա փորձարկվելու, ես պարզապես պատճենելու էի այն ՝ գործարկելով պարզ տեղակայման սցենար:
Քայլ 7. Կոդավորեք Circuit Playground Express- ը
Այս պահին CPX- ը և NeoPixels- ը բավականին ամբողջական են: Նրանց հետ այլ մեխանիկական կամ էլեկտրական աշխատանքներ պետք չէ կատարել: Մնացածն ամբողջությամբ ծրագրային ապահովում է:
Կոդը կարելի է գտնել իմ github հաշվում: Պիթոնի հիմնական ծածկագիրը պետք է աշխատի առանց որևէ փոփոխության բոլոր օպերացիոն համակարգերի համար: Մի տեղադրեք արտաքին Adafruit CircuitPython գրադարանները: Դրանք չեն օգտագործվում:
Ահա բարձր մակարդակի ամփոփում, թե ինչ է կատարվում օրենսգրքում:
Ի՞նչ մուտքագրում է դա:
- Կոճակ Ա. Շրջանառություն դեպի LED անիմացիաներ
- Կոճակ Բ. Շրջանցեք երգերի միջով
- Capacitive Touch Pad A1. Փոխում է գույները LED անիմացիաների համար
- Capacitive Touch Pad A6. Փոխում է LED անիմացիաների արագությունը
3 անիմացիա գոյություն ունի, բայց միայն 2 -ն են գործում
code.py
ներմուծել pixelsoff
# ներմուծում վումետր ներմուծման աստիճաններ ներմուծում շողալ
Տեղափոխեցի Ampli-Tie VU հաշվիչի ոճի կոդը: Այն օգտագործում է CPX խոսափողը ՝ ձայնը վերցնելու և NeoPixels- ը լուսավորելու համար ՝ հիմնվելով ձայնի ամպլիտուդի վրա: Այնուամենայնիվ, ես ավելի շատ անիմացիաներ էի ուզում: Գործողության ընթացքում հիշողության սահմանափակումների պատճառով ես ստիպված էի ընտրել, թե որ անիմացիաներն եմ ուզում: Այսպիսով, լռելյայն մյուս երկուսը ՝ Stairs- ը և Twinkle- ը, կաշխատեն առանց կոդի փոփոխություններ կատարելու: VU մետր անիմացիան գործարկելու համար մյուս անիմացիաներից մեկը կամ երկուսը պետք է մեկնաբանվեն, իսկ VU մետրը ՝ առանց մեկնաբանության:
Երաժշտության կառավարիչ և Off-Line կոդավորում
ցրտաշունչ_ձնաձուկը. py
ներմուծել երաժշտական_ նշումներ որպես mn
# Ձյունանուշը ցրտահար # Walter E. Rollins երգ = [(mn. G4, mn. HLF), (mn. E4, mn. DTQ), (mn. F4, mn. ETH), (mn. G4, mn. QTR), (mn. C5, mn. HLF),…
convert_to_binary.py
երգեր = [(jingle_bells.song, "jingle_bells.bin"), (frosty_the_snowman.song, "frosty_the_snowman.bin")] երգերում երգի համար. data = song [0] file = song [1] with open (file, "wb") որպես bin_file: տվյալների մուտքագրման համար. տպել («գրել».
Ես ուզում էի տոնական երաժշտություն: CPX- ն աջակցում է ինչպես WAV, այնպես էլ հնչերանգներ: WAV ֆայլերը չափազանց մեծ էին ֆայլի չափի և գործարկման հիշողության առումով: Պիտոնների տվյալների կառուցվածքների օգտագործումը `տոնները պահելու և դրանց տևողությունը նույնպես պարզեց, որ օգտագործում է չափազանց շատ գործարկման ժամանակ: Այսպիսով, ես փոփոխեցի Holi-Tie ծածկագիրը ՝ սեղմված երկուական ֆայլ կարդալու համար, որը պարունակում էր միայն անհրաժեշտ երգի տվյալները սեղմված երկուական ձևաչափով: Ես գրել եմ մի սցենար, որը կարդում է պիթոնի տվյալների կառուցվածքում պահված երգը և գրում այն երկուական ձևաչափով: Երգը որպես ֆայլում երկուական տվյալներ կոդավորված լինելը երգը դարձնում է փոքր և դինամիկ: Երգի նվագարկումն ավարտելուց հետո հիշողությունը ազատվում է:
Չնչին է ավելի շատ երգեր ավելացնելը: Մանրամասների համար տե՛ս README.md երգերում:
Կոճակ A- ն կենդանացնում է NeoPixels- ը, B- ն նվագում է երաժշտություն, բայց ոչ միաժամանակ
code.py
def button_a_pressed ():
եթե երաժշտություն երաժշտություն երաժշտությունից միացված կամ անջատված: stop () այլ ՝ music.play ()
Նույնիսկ ավելի արդյունավետ հիշողության արդյունավետ երաժշտական կառավարման համակարգով, ես չկարողացա պահման ընթացքում պահել 2 անիմացիա ՝ միաժամանակ նվագելով դրանցից 1 -ը և միաժամանակ մի երգ նվագել: Քանի որ ես արդեն ընտրել էի, որ VU մետրը ընդհանրապես չլինի գործարկման ժամանակ, ես չէի ուզում անիմացիաների քանակը կրճատել մինչև 1: Այսպիսով, ես գրել եմ կոդը այնպես, որ կա՛մ անիմացիան նվագի, կա՛մ երաժշտությունը նվագարկվի, այլ ոչ երկուսն էլ: Մեկ այլ տարբերակ էր նվազեցնել NeoPixels- ի քանակը, սակայն դա կզրկվեր անիմացիայի զովությունից:
Python Code Funkiness
Չնայած ես ծրագրաշարի վետերան եմ, ես երբեք Python չէի գրել: Այն բանից հետո, երբ ես հասկացա այն և սկսեցի կիրառել կոդավորման լավ պրակտիկա, ինչպիսիք են ծածկապատումը և մոդուլյարացումը, ես արագ պարզեցի, որ օգտագործում եմ չափազանց շատ գործարկման ժամանակ հիշողություն: Այսպիսով, կա մի քիչ քիչ ՉՈՐ կոդ: Ես նաև ստիպված եղա օգտագործել MicroPython- ի որոշ տեխնիկա, ինչպիսիք են const () - ն, որպեսզի ավելի նվազեցնեմ գործարկման ժամանակ հիշողության խնդիրները:
Կազմված մոդուլներ
կազմել
#!/bin/bash
compiler = ~/development/circuitpython/mpy-cross-3.x-windows.exe cd երգեր python3./convert_to_binary.py cd.. f in *.py; անել, եթե
Նախագծի սկզբում ես հետևեցի Ադաֆրուտի խորհրդին և պահեցի Adafruit CircuitPython- ի բոլոր գրադարանները ֆլեշի վրա: Այնուամենայնիվ, սա փոքր տեղ թողեց իմ նախագծի համար: Որպեսզի կարողանամ իմ կոդը ստանալ CPX- ի վրա, ես սկսեցի հավաքել մոդուլները և տեղադրել դրանք MCU- ում: Պարզվում է, որ Holi-Tie- ին արտաքին գրադարաններից ոչ մեկը պետք չէ: UF2- ում առկա գրադարանները բավարար էին այս ծրագրի համար: *. Mpy ֆայլերը մի փոքր ավելի արդյունավետ են, այնպես որ ես պահեցի կազմված մոդուլների տեղակայման գործընթացը:
Ինչպես ակնհայտ է վերևում կազմված սցենարում, ես աշխատում եմ Windows մեքենայի վրա, բայց օգտագործում եմ Unix կոմունալ ծառայություններ, ինչպիսիք են bash և python3: Ես օգտագործում եմ Cygwin- ը դա իրականացնելու համար: Այս սցենարը կարող է հեշտությամբ թարգմանվել DOS խմբաքանակի և Windows- ի բնիկ Python3- ի ներդրման:
Քայլ 8: Կողպեք փողկապը
Վերջնական քայլն այն է, որ փողկապի միջուկը նորից տեղադրվի տեղում, փողկապը նորից հավաքվի և նորից կարվի: Համոզված եղեք, որ կարողանաք CPX- ը հասանելի դարձնել: Դա ձեզ հարկավոր կլինի մարտկոցը փոխարինելիս կամ կոդի փոփոխություններ կատարելիս:
Խորհուրդ ենք տալիս:
Ինչպես. Raspberry PI 4 Headless (VNC) տեղադրելը Rpi- պատկերիչով և նկարներով. 7 քայլ (նկարներով)
Ինչպես. Raspberry PI 4 Headless (VNC) տեղադրելը Rpi-imager- ով և նկարներով. Ես պլանավորում եմ օգտագործել այս Rapsberry PI- ն իմ բլոգում զվարճալի նախագծերի փունջում: Ազատորեն ստուգեք այն: Ես ուզում էի նորից օգտագործել իմ Raspberry PI- ն, բայց իմ նոր վայրում Ստեղնաշար կամ մկնիկ չկար: Որոշ ժամանակ անց ես ստեղծեցի ազնվամորի
Starry Sky Led փողկապ. 9 քայլ (նկարներով)
Starry Sky Led փողկապ. Քիչ առաջ ես դոլարի խանութում մանրաթելային խաղալիք գտա մանրաթելային օպտիկամանրաթելերով և սկսեցի մտածել, թե ինչ կարող եմ անել դրա հետ: Իմ խելագար գաղափարներից մեկը աստղագուշակ երկնքի ազդեցությամբ փողկապ սարքելն էր: . Ես դեռ ունեի arduino pro mini, adafruit boa
Ինչպես ապամոնտաժել համակարգիչը հեշտ քայլերով և նկարներով. 13 քայլ (նկարներով)
Ինչպես ապամոնտաժել համակարգիչը հեշտ քայլերով և նկարներով. Սա հրահանգ է, թե ինչպես ապամոնտաժել համակարգիչը: Հիմնական բաղադրիչների մեծ մասը մոդուլային են և հեշտությամբ հանվում են: Այնուամենայնիվ, կարևոր է, որ դուք կազմակերպված լինեք դրա վերաբերյալ: Սա կօգնի ձեզ զերծ պահել մասերի կորստից, ինչպես նաև նորից հավաքելիս
Ciclop 3D Scanner My Way Քայլ առ քայլ ՝ 16 քայլ (նկարներով)
Ciclop 3D Scanner My Way Քայլ առ քայլ. Ողջույն, ես գիտակցելու եմ հանրահայտ Ciclop 3D սկաները: Բոլոր այն քայլերը, որոնք լավ բացատրված են սկզբնական նախագծում, ներկա չեն: Ես որոշ շտկումներ կատարեցի ՝ գործընթացը պարզեցնելու համար, նախ Ես տպում եմ հիմքը, իսկ հետո վերականգնում եմ PCB- ն, բայց շարունակում եմ
DIY Bow փողկապ --- լույսերով !!: 9 քայլ (նկարներով)
DIY Bow փողկապ --- Լույսերով !! ? Բացի այդ, մի ամաչեք աղջիկներ, դուք նույնպես կարող եք ամբողջովին ճոճել վառվող փողկապը :) Լուսանկարը ՝ Cred