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

Arduino Fireflies: 11 քայլ (նկարներով)
Arduino Fireflies: 11 քայլ (նկարներով)

Video: Arduino Fireflies: 11 քայլ (նկարներով)

Video: Arduino Fireflies: 11 քայլ (նկարներով)
Video: Arduino - Fireflies in a jar 2024, Հուլիսի
Anonim
Image
Image
Այն, ինչ ձեզ պետք կգա
Այն, ինչ ձեզ պետք կգա

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

Քայլ 1: Այն, ինչ ձեզ հարկավոր կլինի:

Այն, ինչ ձեզ պետք կգա
Այն, ինչ ձեզ պետք կգա

Սխալները թարթելու համար ձեզ հարկավոր են հետևյալ բաղադրիչները.

  • Արդուինո Ես սկսեցի Nano- ով, սակայն Arduino- ի հետ համատեղելի ցանկացած միկրոկառավարիչ կանի:
  • Դեղին LED, 5 մմ: Դուք կարող եք օգտագործել դրանցից մինչև 6 -ը:
  • Ռեզիստորներ: Ընթացիկ հոսանքը սահմանափակելու համար ձեզ հարկավոր է մեկ դիմադրություն մեկ LED- ի համար: Ես օգտագործել եմ 470 օմ, բայց 150 օմ-ից բարձր որևէ բան պետք է լավ լինի `ձեր միկրոկառավարիչը պաշտպանելու համար:
  • Breadboard.
  • Jumper մետաղալար:

Ձեր բակի նախագիծը ավարտելու համար ձեզ հարկավոր է.

  • Եղանակի ապացույց նախագծի տուփ:
  • 9 վոլտ մարտկոց միակցիչով: (Խնդրում ենք տեսնել այս բաժնի ներքևի գրառումները):
  • Անջատիչ (Ես ընտրեցի այս անջրանցիկ անջատիչները: Եթե դա դրսում չեք օգտագործում, ցանկացած անջատիչ կանի):
  • Մի քանի յարդ մետաղալար `այգու շուրջ LED- ները տեղադրելու համար: Ես օգտագործեցի մոտ 10 ոտնաչափ Cat5 Ethernet մետաղալարեր մեկ LED- ի համար:
  • Մի փոքրիկ տախտակ կամ ինչ -որ պարֆ տախտակ:
  • Եղանակից պաշտպանված մալուխային գեղձ, որի միջով անցնում են LED լարերը: (Դուք կարող եք բաց թողնել սա, եթե դա չեք օգտագործում նաև դրսում):
  • LEDերմային նեղացման խողովակներ `ձեր LED սխալի հետույքները պաշտպանելու համար:
  • Կանաչ մանգաղաձև (այսինքն ՝ վելկրո) շերտեր ՝ ձեր այգու բույսերին և սյուներին ամրացնելու համար լուսադիոդային կրակայրուկները:
  • Արական վերնագրեր ՝ ձեր փոքրիկ տախտակին բաղադրիչները միացնելու համար:

Գործիքներ:

  • Drրագրի տուփի փորվածքներ: (Օգտվեք այս հնարավորությունից ՝ ինքներդ ձեզ հաճելի քայլ ստանալու համար: Դուք ուրախ կլինեք, որ դա արեցիք):
  • Տաք սոսինձ ատրճանակ:
  • Oldոդման երկաթ:
  • Պտտվող գործիք (այսինքն ՝ Դրեմել), անհրաժեշտության դեպքում, նախագծի տուփում տարածք փորագրելու համար:

Մի քանի նշում այստեղ.

1. Մարտկոցի ընտրությունը արագ և հեշտ գործարկման համար էր: Մշտապես 9 վոլտ մարտկոցի օգտագործումը մի փոքր վատնում է: Ավելի լավ է օգտագործել 4x AA մարտկոցի կրիչ ՝ ավելի երկար կյանք ունենալու համար (այնուամենայնիվ, ձեզ հարկավոր կլինի ավելի մեծ նախագծային տուփ, որի մեջ այն տեղադրելու համար):

2. Եթե որոշեք ապամոնտաժել Cat 5 Ethernet մալուխը լարերի համար, համոզվեք, որ դրանք պղնձե միջուկ են և դրանք կոկիկ փաթաթեք PVC- ով, որպեսզի դրանք կազմակերպված լինեն աշխատանքի ընթացքում: Կրկին, ես օգտագործեցի մոտ 10 ոտնաչափ մետաղալար մեկ LED- ի համար: Եթե ցանկանում եք լույսերը տարածել շատ հեռու, անպայման օգտագործեք ավելի երկար լարեր:

3. Վերջապես, իմ տրամադրած բոլոր հղումները սոսկ առաջարկություններ են: Խնդրում ենք կարդալ այս ամբողջ հրահանգը նախքան որևէ բան կառուցելը կամ գնելը, քանի որ ավելի լավ կհասկանաք, թե ինչպես կցանկանայիք անձամբ վարվել:

Քայլ 2: Կառուցեք շրջանը:

Կառուցեք շրջանը
Կառուցեք շրջանը
Կառուցեք շրջանը
Կառուցեք շրջանը
Կառուցեք շրջանը
Կառուցեք շրջանը

Այս նախագիծը օգտագործում է զարկերակի լայնության մոդուլյացիոն կապում ձեր Arduino- ում: Միկրոհսկիչը ունի այս 6 կապում, և դուք կարող եք օգտագործել այնքան, որքան ցանկանում եք: Շղթան բավականին ուղիղ առաջ է: Հաղորդեք ամբողջ հզորությունը զարկերակի լայնության մոդուլյացիայի (PWM) D3, D5, D6, D9, D10 և D11 կապումներից մինչև ձեր LED- ների դրական ծայրերը: Միացրեք բացասական ծայրերը ռեզիստորներին, այնուհետև ընդհանուր եզրին: (Ռեզիստորները կարող են գնալ LED- ի առջևից կամ հետևից: Ոչ մի տարբերություն չկա, եթե չես ուզում պաշտպանվել ավելի բարձր հոսանքների կարճ միացումներից): Ես ներառեցի մի քանի սխեմաներ, որոնք կօգնեն էլեկտրագծերի անցկացմանը: (Դիագրամները ստեղծվել են Fritzing դիզայնի ծրագրակազմի միջոցով):

Քայլ 3: Կոդ

Image
Image

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

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

/*

Այս սցենարը 6 LED (իհարկե, դեղին) պատահական կարգով պատահական պարբերականությամբ PWM- ի միջոցով թարթում է: Յուրաքանչյուր LED վերահսկվում է իր սեփական գործառույթով: */ int led1 = 3; // PWM կապ 3 -ին միացված LED և այլն: Ես օգտագործել եմ բոլոր 6 PWM կապերը: int led2 = 5; int led3 = 6; int led4 = 9; int led5 = 10; int led6 = 11; երկար ռենդում; // randnum- ը վերահսկում է բռնկումների և երկար randbug- ի միջև ընկած ժամանակահատվածը; // randbug- ը վերահսկում է, թե որ սխալն է լուսավորվում: void setup () {pinMode (led1, OUTPUT); // Բոլոր PWM կապերի տեղադրումը որպես ելքեր: pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode (led6, OUTPUT); } void loop () {randbug = պատահական (3, 12); // randbug- ը պատահականորեն ընտրում է գործառույթ ՝ if (randbug == 3) {bug1 (); } if (randbug == 5) {bug2 (); } if (randbug == 6) {bug3 (); } if (randbug == 9) {bug4 (); } if (randbug == 10) {bug5 (); } if (randbug == 11) {bug6 (); }} / * * Այս գործառույթներից յուրաքանչյուրն աշխատում է նույն կերպ: «օղակների համար» ավելացրեք, այնուհետև նվազեցրեք * այդ քորոցի ելքը LED լուսավորությունը վերահսկելու համար: * «randnum» - ը պատահական ժամանակային ընդմիջում է 10 -ից մինչև 3000 ms * և ընտրում է սխալների բռնկումների միջև ընկած ժամանակահատվածը: * «Հետաձգում 10» -ը պարզապես մարելու էֆեկտի համար է: */ void bug1 () {randnum = պատահական (10, 3000); համար (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led1, fadeValue); ուշացում (10); } ուշացում (ռանդում); } void bug2 () {randnum = պատահական (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led2, fadeValue); ուշացում (10); } ուշացում (ռանդում); } void bug3 () {randnum = պատահական (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led3, fadeValue); ուշացում (10); } ուշացում (ռանդում); } void bug4 () {randnum = պատահական (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led4, fadeValue); ուշացում (10); } ուշացում (ռանդում); } void bug5 () {randnum = պատահական (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led5, fadeValue); ուշացում (10); } ուշացում (ռանդում); } void bug6 () {randnum = պատահական (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led6, fadeValue); ուշացում (10); } ուշացում (ռանդում); }

Քայլ 4: Կառուցեք արկղը:

Կառուցելով սխալների հետույքներ
Կառուցելով սխալների հետույքներ

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

Քայլ 5. Կառուցեք սխալների հետույք:

Կառուցելով սխալների հետույքներ
Կառուցելով սխալների հետույքներ
Կառուցելով սխալների հետույքներ
Կառուցելով սխալների հետույքներ
Կառուցելով սխալների հետույքներ
Կառուցելով սխալների հետույքներ
  • Կտրեք LED հանգույցները մոտ 5 մմ:
  • Ձգեք և թիթեղացրեք ձեր օգտագործած լարերի ծայրերը, ինչպես նաև մոտ 5 մմ:
  • Սահեցրեք 1 մմ ջերմության նեղացման խողովակը յուրաքանչյուր մետաղալարերի ծայրին:
  • LED- ը կպցրեք մետաղալարին: (Այս պահին դուք պետք է ընտրեք, թե որ մետաղալարն է ձեր զույգը լինելու ձեր դրական, իսկ որը `բացասական: Ես ընտրել եմ պինդ մետաղալարը որպես դրական, իսկ սպիտակ մետաղալարը` որպես բացասական: Պահպանեք այդ ռազմավարությունը ծրագրի ընթացքում `հետագայում գլխացավերից խուսափելու համար):
  • Սահեցրեք ջերմությունը մինչև ամբողջ մերկ մետաղալարով և LED կապանքներով: Վառեք արագ բոցը նրանց վրա, որպեսզի դրանք փոքրացնեն լարերի վրա:
  • Սահեցրեք մեկ այլ կտոր ջերմության նվազեցում LED- ի և լարերի վրա, իսկ LED ոսպնյակը դուրս է գալիս ծայրից և հալեցնում այն տեղում:
  • Սահեցրեք մի քանի կտոր ջերմության փոքրանալ մետաղալարով ամբողջ երկարությամբ և հալեցրեք այն յուրաքանչյուր մի քանի ոտքի վրա `մետաղալարը կոկիկ պահելու համար:

Քայլ 6. Պատրաստեք ծրագրի տուփը:

Պատրաստեք նախագծի տուփը
Պատրաստեք նախագծի տուփը
Պատրաստեք նախագծի տուփը
Պատրաստեք նախագծի տուփը
  • Օգտագործեք պտտվող գործիք `հղկող թմբուկով` ձեր նախագծային տուփի ցանկացած ավելորդ պլաստմասսա մաքրելու համար: (Carefulգույշ եղեք, որպեսզի չկտրեք պտուտակներ, որոնք կարող են անհրաժեշտ լինել ձեր տուփը նորից միացնելու համար):
  • Որոշեք, թե որտեղ կցանկանայիք լինել ձեր անջատիչը և LED լարերը դուրս գան: Ես առաջարկում եմ կողմերը, բայց օգտագործեք այն, ինչ երբևէ աշխատում է ձեր կարիքների հետ:
  • Օգտագործեք համապատասխան չափի հորատիչ ՝ ձեր մալուխային գեղձի և անջատիչի համար անցքեր ստեղծելու համար:

Նշում. Վերևի լուսանկարում կտեսնեք, որ ես պատրաստել եմ «կեղծ մալուխ»: Սա 6 զույգ մետաղալարերի մի փաթեթ է, որը ես օգտագործել եմ LED- ների համար `ջերմային նվազեցմամբ` դրանք միասին հավաքելու համար: Ես այն օգտագործեցի համոզվելու համար, որ մալուխային գեղձը լավ կհամապատասխանի իրական մալուխային փունջին, ինչպես նաև տուփի ջրի դիմադրողականությունը ստուգելու համար, երբ անջատիչը, մալուխային գեղձը և կափարիչը միացված էին: (24 դյույմ ջրի մեջ 24 ժամ սուզվելուց հետո դրա ներսում շատ քիչ խոնավություն կար: Ես հաճույքով կանվանեի այս տուփը «եղանակին դիմացկուն»):

Քայլ 7: Բերի՛ր իշխանությունը:

Բերեք իշխանությունը
Բերեք իշխանությունը
Բերեք իշխանությունը
Բերեք իշխանությունը
  • Որոշեք, թե որքան մարտկոց և անջատիչ մետաղալար կպահանջվի ձեր Arduino- ին հասնելու համար ՝ կոպիտ տեղադրելով նախագծի տուփի բոլոր երեք բաղադրիչները: Կտրեք անջատիչի և 9 Վ մարտկոցի միակցիչի լարերը: Կտրեք և թիթեղացրեք ծայրերը: Հաջորդ քայլին տեղում սահեցրեք որոշ ջերմային նեղացում:
  • Ձեր շերտից կտրեք երկու արական վերնագրերի քորոցներ (բայց դրանք միասին կպցրեք):
  • 9 Վ մարտկոցի միակցիչի կարմիր կապը միացրեք անջատիչի մեկ ծայրին: Անջատիչի մյուս ծայրը միացրեք արական գլխիկի քորոցին: Սև մարտկոցի կապիչը կպցրեք մյուս արական գլխիկի քորոցին:
  • Ինչպես ցույց է տրված վերևի գծապատկերում, վերնագրերի կապումներն անցնում են տախտակի վրա ՝ Nano- ն VIN- ով (դրական) և GND (բացասական) միացնելու համար: VIN քորոցը կարող է աշխատել 7 -ից 12 վոլտ: Եթե պլանավորում եք ձեր Arduino- ն սնուցել այլ կերպ, քան 9 Վ մարտկոցը, օգտագործեք այլ մատակարարման քորոց:

Քայլ 8. Անհրաժեշտության դեպքում փոփոխեք նանոն:

Անհրաժեշտության դեպքում փոփոխեք Nano- ն
Անհրաժեշտության դեպքում փոփոխեք Nano- ն

Քանի որ իմ նախագծի տուփը բավականին մակերեսային էր, ինձ անհրաժեշտ էր հեռացնել ICSP- ի վերնագրերի քորոցները `տեղավորվելու համար: Այս կապումներն երկրորդական ինտերֆեյս են ձեր Arduino- ի հետ: Դրանք հեռացնելը չի վնասի ձեր Nano- ին, քանի որ միշտ կարող եք սցենարներ բեռնել USB պորտի միջոցով:

Նշում. Եթե ձեր Nano- ին անհրաժեշտ էր վերնագրի քորոցներ կպցնել, պարզապես ձեր Arduino- ն հավաքելիս բաց թողեք դրանք:

Քայլ 9: Լարերը ներսից:

Image
Image
Լարել ներսը
Լարել ներսը
Լարել ներսը
Լարել ներսը
  • Կցեք մալուխային գեղձի նավահանգիստը ծրագրի տուփին այն փոսում, որը դուք փորել եք դրա համար: Եթե դուք շփոթված եք, թե ինչպես օգտագործել մալուխային գեղձը, այս տեսանյութը, որը ես գտա YouTube- ում, ցույց է տալիս, որ մեկը հավաքվում է: (արագ դեպի 0:57): Ձերը կարող է ունենալ ռետինե լվացող մեքենա: Սա անցնում է նախագծի տուփի և մալուխային գեղձի արտաքին ընկույզի միջև:
  • Հավաքեք LED լարերի չամրացված ծայրերը: Այս ժամանակը կտրեք դրանք հավասար երկարությամբ, շերտերով և թիթեղացրեք ծայրերը: Կերեք ծայրերը կաբելային գեղձի կափարիչով և մի կտոր ջերմության նվազեցման միջոցով ծայրերը միացրեք ՝ թողնելով բավական երկարություն, որպեսզի հասնի տուփի ներքին մասում գտնվող տախտակին:
  • Մալուխի փունջը մալուխային գեղձի նավահանգստով լցրեք նախագծի տուփի մեջ և ոլորեք գեղձի կափարիչը `լարերը տեղում ամրացնելու համար, նախընտրելի է այն ջերմության նվազման շուրջ, որը դուք դրանք միասին հավաքում էիք:
  • Առանձնացրեք գրունտի լարերը դրական լարերից (հիշելով, թե որոնք եք ընտրել ավելի վաղ): Միացրեք բոլոր գետնին լարերը մեկ ընդհանուր հիմքի վրա: Այդ փունջից ամրացրեք կարճ մետաղալար և ավարտեք այն 1 արական վերնագրով: Օգտագործեք ջերմության նվազեցում `ձեր մերկ զոդման հոդերը պաշտպանելու համար:
  • Յուրաքանչյուր դրական մետաղալարերի ծայրերին կպցրեք արական վերնագրեր: Կրկին օգտագործեք ջերմության նվազեցում:
  • Տեղադրեք դրական վերջնական արական վերնագրերը տախտակի մեջ ՝ Arduino- ի PWM կապերին միանալու համար:
  • Տեղադրեք ընդհանուր հիմքը տախտակի մեջ այնպես, որ այն անցնի ընթացիկ սահմանափակող դիմադրիչով, այնուհետև Arduino- ի GND- ով:
  • Տեղադրեք մարտկոցի մեջ և անջատիչը տեղադրեք ավելի վաղ փորված տուփի անցքի միջով: Տեղադրեք ռետինե լվացքի մեքենան նախագծի տուփի և պտուտակի կափարիչի միջև: Միացրեք հոսանքի հոսքերը տախտակի մեջ:
  • Կպչեք կամ պտուտակեք կափարիչը տուփի վրա: Վերջացրել ես!

Նշում. Նշում սխեմաներում և զարգացման փուլերում ես օգտագործել եմ մեկ LED- ի մեկ ընթացիկ սահմանափակող դիմադրություն: Սովորաբար, յուրաքանչյուր LED պետք է ստանա իր սեփական դիմադրությունը, ինչպես սովորաբար, մեկից ավելի LED լուսավորվում է միանգամից: Կոդը թույլ չի տալիս միաժամանակ լուսավորել մեկից ավելի լուսադիոդներ, հետևաբար միայն մեկ դիմադրիչի օգտագործումը լավ է Arduino- ն պաշտպանելու համար: Սա նաև տարածք է խնայում փոքրիկ տախտակի վրա կամ ժամանակի ընթացքում յուրաքանչյուր LED- ն զոդում ռեզիստորով: Դա ասաց … ARԳՈՇԱՈՄ !!! Եթե նախատեսում եք փոխել կոդը այնպես, որ միանգամից մեկից ավելի LED լուսավորվի, ապա յուրաքանչյուր LED- ի համար ձեզ հարկավոր են առանձին դիմադրիչներ:

Քայլ 10: Օգտագործեք այն:

Օգտագործիր դա
Օգտագործիր դա

Օգտագործեք Velcro ամրագոտիներ կամ տաք սոսինձ ՝ սոսինձով, LED- ները փակցնելու բույսերի, ցանկապատերի, վարդագույն ֆլամինգոների կամ որևէ այլ բանի վրա: Օգտագործեք դրանք ներսում ՝ դրանք գցելով գինու պահարանների մեջ, վարագույրների հետևում կամ նույնիսկ լարերը առաստաղից կախեք մթության մեջ 3D լողացող էֆեկտի համար: Դրանք հիանալի շոշափելիք կլինեն երեկույթների, հարսանիքների, կինոյի և լուսանկարչության համար:

Քայլ 11: Առաջ գնալ…

Ինչպես արդեն նշվեց, սա այս նախագծի վաղ տարբերակն է, բայց լի է այդքան մեծ ներուժով: Միացրեք հերթափոխի գրանցամատյանը ՝ միացրեք հերթափոխի գրանցամատյանը (տե՛ս JColvin91- ի այս հրահանգը ՝ սովորելու համար): Ավելացրեք լուսաչափ, ցուցիչ, արևային լիցքավորիչ և ժամաչափ `« սահմանեք այն և մոռացեք »գործառույթի համար: Խառնեք կոդը ՝ ձեր սեփական բռնկումը վրիպակներին ավելացնելու համար: Կիսվեք ձեր պատրաստածով և վայելեք !!

ԹԱՐՄԱՈՄ. Այս Ուղեցույցի հրատարակման օրվանից վերջին երկու շաբաթվա ընթացքում շատ մասնակիցներ առաջարկել են այս ծրագրի կոդի, սարքավորման և կատարման փայլուն բարելավումներ: Ես խստորեն խորհուրդ եմ տալիս, եթե դուք պլանավորում եք դա կառուցել, դուք կարդում եք մեկնաբանությունների և պատասխանների գաղափարները, թե ինչպես կատարել այս կայծակնային սխալները այնպես, ինչպես ես չէի ծրագրում: Բաց աղբյուրի ստեղծման ոգով ես ողջունում եմ բոլոր այն գաղափարները, որոնք օգնում են այս նախագծի զարգացմանը ավելին, քան ես կարծում էի, որ հնարավոր է… և շնորհակալ եմ բոլոր նրանց, ովքեր դա իրականացրին:

Գնա Պատրաստել !!!

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