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

Ինտերակտիվ դանդելիոն. 11 քայլ (նկարներով)
Ինտերակտիվ դանդելիոն. 11 քայլ (նկարներով)

Video: Ինտերակտիվ դանդելիոն. 11 քայլ (նկարներով)

Video: Ինտերակտիվ դանդելիոն. 11 քայլ (նկարներով)
Video: Ինտերակտիվ ուսուցում․ 3-5 տարեկան երեխաների համար 2024, Դեկտեմբեր
Anonim
Image
Image
Պատրաստեք NeoPixel մատանին
Պատրաստեք NeoPixel մատանին

Այս նախագիծը ցույց է տալիս, թե ինչպես կարելի է դանդելիոնի ինտերակտիվ պատկեր կազմել: Այն սկսվում է որպես դեղին ծաղիկ `LED- ների համար` ծաղկաթերթերի համար, այնուհետև վերածվում է սպիտակ դանդելիոնի ժամացույցի, որը կարող է փչել `սերմերը ցրելու համար:

Այն հիմնված է Qi Jie- ի գեղեցիկ արվեստի գործի վրա, որի նկարը ոգեշնչվել է flowerեսսի Թոմփսոնի և achաքորի Բերտայի մեկ ծաղկի դիզայնով: Ես իմը պատրաստեցի գործվածքների վրա և շրջանակեցի այն գոբելենի շրջանակի մեջ ՝ Անգլիայի Դևոն քաղաքում գտնվող Tech and Textiles արտադրական տարածքի պատին, որպես սկսնակների նախագծի օրինակ, որը համատեղում է կարումը Արդուինոյի հետ:

Տեսանյութ ՝ թեթև գեղանկարչության մասին ՝ iի ieիեի կողմից

Տեսանյութ ofեսսի Թոմփսոնի և achաքորի Բերտայի մեկ ծաղկի ձևավորման մասին

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

Մանրամասները, թե ինչն ինձ մոտ չաշխատեց, վերջում են բոլորի համար, ովքեր հետաքրքրված են, թե ինչու եմ ընտրել այս ճանապարհը:

Lightի ieիեի թեթև գեղանկարչության ծածկագիր

Codeեսսի Թոմփսոնի և achաքորի Բերտայի փոքրիկ ծաղկի նկարի ծածկագիրը

Նյութեր

  • Arduino UNO
  • Ադաֆրուտի մատանի ՝ 12 նեոպիքսելից
  • 5V ժապավեն ՝ 11 RGB LED լուսադիոդով
  • Ձայնային խոսափողի ցուցիչ
  • Jumper լարերը
  • 5 Վ լիցքավորվող մարտկոց USB A միացումով
  • Տպիչի մալուխ (USB A- ից B մալուխ)
  • Սոսինձ կետեր կամ տաք սոսինձ
  • A4 քարտ
  • 30 սմ x 30 սմ Կրեմ բամբակյա գործվածք, օրինակ ՝ հին բարձի երես
  • Կանաչ գործվածքների ներկ
  • Շագանակագույն բամբակյա թել
  • 70 սմ x 50 սմ Corալքավոր ստվարաթուղթ, օրինակ ՝ պիցցայի տուփեր
  • Դիմակավորող ժապավեն
  • 9 դյույմ ասեղնագործության օղակ ՝ նկարը շրջանակելու համար
  • 9 ինքնակպչուն Velcro ներդիրներ

Գործիքներ

  • Ներբեռնվել է Arduino IDE համակարգիչ
  • Sոդման երկաթ և առանց կապարի զոդման սարք
  • Գրատախտակ `փորձարկման սխեմայի համար
  • Մետաղական մերկացուցիչ/կտրիչներ
  • Կարի ասեղ
  • Գրիչ
  • Մկրատ

Քայլ 1. Պատրաստեք NeoPixel մատանին

NeoPixel մատանի հետևի մասում զոդեք տարբեր գույնի լարեր յուրաքանչյուր հզորության, գրունտի և տվյալների բարձիկների վրա:

Եթե ունեք մատանու այլ տարբերակ, ձեր լարերը կարող են նույն դիրքում չլինել, ինչ իմ լուսանկարը:

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

Քայլ 2: Կտրեք LED- ների շերտերը

Կտրեք LED- ների շերտերը
Կտրեք LED- ների շերտերը
Կտրեք LED- ների շերտերը
Կտրեք LED- ների շերտերը

RGB LED- ների շերտից կտրեք 11 առանձին LED- ներ ՝ հոգալով կտրելով կենտրոնական գծի երկայնքով ՝ կտրվածքի երկու կողմերում թողնելով զոդման բարձիկներ: Յուրաքանչյուր պահոցի վերևի մասում կպցրեք մի կտոր բլուր:

Քայլ 3: erոդեք LED- ները

Erոդեք LED- ները
Erոդեք LED- ները
Erոդեք LED- ները
Erոդեք LED- ները
Erոդեք LED- ները
Erոդեք LED- ները

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

Եռակցման լարերը զոդեք օղակից առաջին անհատական LED- ին ՝ համապատասխանեցնելով դրական, գրունտի և տվյալների լարերը երկու LED- ների նույն բարձիկներին:

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

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

Հուշում. Որպեսզի լարերը չդիպչեն կլոր անկյուններ անցնելիս, յուրաքանչյուրը հետ կպցրեք պլաստիկ մեկուսացման մի փոքր շերտի մեջ, որը նախկինում հեռացվել էր:

Քայլ 4: Մեջքի պատրաստում

Մեջքի պատրաստում
Մեջքի պատրաստում
Մեջքի պատրաստում
Մեջքի պատրաստում

Սպիտակ քարտի մեջ մեկ այլ անցք կատարեք մուտքային լարերի համար և դրանք ներս մղեք:

Առանձնացրեք գոբելենի օղակի երկու օղակները: Ամենափոքր օղակի արտաքին կողմը գծեք 5 կտոր ծալքավոր քարտի վրա և կտրեք դրանք: Օղակներ պատրաստելու համար շրջանակներից 3 -ի միջնամասում կտրեք անցքեր `մոտավորապես 2 սմ խորությամբ և յուրաքանչյուրից կտրեք 5 մմ ճեղք: Կպչեք օղակները միմյանց վրա ՝ շարելով ճեղքերը և կպցրեք այն քարտի մնացած շրջանակներից մեկին:

Քայլ 5. Խոսափողի և Arduino- ի միացում

Խոսափողի և Arduino- ի միացում
Խոսափողի և Arduino- ի միացում
Խոսափողի և Arduino- ի միացում
Խոսափողի և Arduino- ի միացում

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

Սիմուլյացիան դիտելու համար այցելեք https://www.tinkercad.com/things/5cgI2wluA0c: Քաշեք սենսորին ամրացված շրջանակը ակտիվ տարածքի վրա ՝ խոսափողի մեջ փչելը նմանակելու համար: LED- ները 6 -ի վրա շերտերով են, ուստի մոդելավորման վերջին LED- ը դիզայնի մաս չէ և չի լուսավորվում:

Քայլ 6. Arduino- ի ծրագրավորում

Arduino- ի ծրագրավորում
Arduino- ի ծրագրավորում

Բացեք Arduino IDE- ն ձեր համակարգչում և սկսեք նոր ուրվագիծ leteնջել ուրվագծի ներսում եղածը և դրա փոխարեն պատճենեք և տեղադրեք դրա մեջ

// Հարմարեցվել է օգտագործելով NeoPixel Ring պարզ էսքիզ (գ) 2013 Shae Erisson // և սենսորային ծածկագիր ՝ https://www.hackster.io/ingo-lohs/first-test-37-s… #ներառել // Ո՞ր քորոցը Արդուինոն կապվա՞ծ է NeoPixels- ի հետ: #սահմանեք PIN 6 // Քանի՞ NeoPixel է կցված Arduino- ին: #սահմանել NUMPIXELS 23 // Երբ մենք կարգավորում ենք NeoPixel գրադարանը, մենք նրան ասում ենք, թե քանի պիքսել է, և որ քորոցն օգտագործել ազդանշաններ ուղարկելու համար: // Նկատի ունեցեք, որ ավելի հին NeoPixel շերտերի համար կարող է անհրաժեշտ լինել փոխել երրորդ պարամետրը `տե՛ս strandtest // օրինակը հնարավոր արժեքների մասին լրացուցիչ տեղեկությունների համար: Adafruit_NeoPixel պիքսել = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); int հետաձգում = 500; // կես վայրկյան int int sensorPin = A0; // ընտրեք մուտքի քորոց սենսորի համար int sensorValue = 0; // փոփոխական ՝ սենսորի const int շեմից եկող արժեքը պահելու համար = 200; // կամայական շեմի մակարդակ, որը գտնվում է անալոգային մուտքի դատարկության կարգաբերման տիրույթում () {pixels.begin (); // Սա նախաստորագրում է NeoPixel գրադարանը: pixels.setBrightness (20); // Սահմանել պայծառությունը Serial.begin (9600); } void loop () {// NeoPixels- ի հավաքածուի համար առաջին NeoPixel- ը 0 է, երկրորդը `1, մինչև պիքսելների հաշվարկը հանած մեկ: // Dandelion LEDs // պիքսելներ. Գույնը վերցնում է RGB արժեքները ՝ 0, 0, 0 -ից մինչև 255, 255, 255 պիքսել: setPixelColor (0, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (1, պիքսել. գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (2, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (3, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (4, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (5, պիքսել. Գույն (255, 165, 0)); // Նարնջագույն: pixels.setPixelColor (6, պիքսել. Գույն (255, 165, 0)); // Նարնջագույն: pixels.setPixelColor (7, պիքսել. Գույն (255, 165, 0)); // Նարնջագույն: pixels.setPixelColor (8, պիքսել. Գույն (255, 165, 0)); // Նարնջագույն: pixels.setPixelColor (9, պիքսել. Գույն (255, 165, 0)); // Նարնջագույն: pixels.setPixelColor (10, պիքսել. Color (255, 165, 0)); // Նարնջագույն: pixels.setPixelColor (11, պիքսել. Գույն (255, 165, 0)); // Նարնջագույն: pixels.setPixelColor (12, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (13, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (14, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (16, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (17, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (18, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (19, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (20, պիքսել. գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (21, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (22, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.show (); // Սա ուղարկում է պիքսելների թարմացված գույնը ապարատին: ուշացում (հետաձգում*6); // flowerաղիկից սերմի գլուխ աստիճանաբար փոփոխություն // պիքսելներ: Գույնը վերցնում է RGB արժեքները ՝ 0, 0, 0 -ից մինչև 255, 255, 255 պիքսել: setPixelColor (0, պիքսել: Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (1, պիքսել. գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (2, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (3, պիքսել. գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (4, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (5, պիքսել. Գույն (226, 246, 255)); // bluishwhite pixels.setPixelColor (6, պիքսել. Color (255, 165, 0)); // Նարնջագույն: pixels.setPixelColor (7, պիքսել. Գույն (226, 246, 255)); // bluishwhite pixels.setPixelColor (8, պիքսել. Color (255, 165, 0)); // Նարնջագույն: pixels.setPixelColor (9, պիքսել. Գույն (226, 246, 255)); // bluishwhite pixels.setPixelColor (10, պիքսել. Color (255, 165, 0)); // Նարնջագույն: pixels.setPixelColor (11, պիքսել. Գույն (226, 246, 255)); // կապտավուն. pixels.setPixelColor (12, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (13, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (14, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (16, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (17, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (18, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (19, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (20, պիքսել. գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (21, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (22, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.show (); // Սա ուղարկում է պիքսելների թարմացված գույնը ապարատին: ուշացում (ուշացում*6); // Seed head LEDs pixels.setPixelColor (0, պիքսել. Color (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (1, պիքսել. գույն (0, 0, 0)); // անջատված pixels.setPixelColor (2, պիքսել. Color (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (3, պիքսել. Գույն (0, 0, 0)); // անջատված է pixels.setPixelColor (4, պիքսել. Color (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (5, պիքսել. Գույն (255, 165, 0)); // Նարնջագույն: pixels.setPixelColor (6, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (7, պիքսել. Գույն (255, 165, 0)); // Նարնջագույն: pixels.setPixelColor (8, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (9, պիքսել. Գույն (255, 165, 0)); // Նարնջագույն: pixels.setPixelColor (10, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (11, պիքսել. Գույն (226, 246, 255)); // անջատված pixels.setPixelColor (12, պիքսել. գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (13, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (14, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (16, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (17, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (18, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (19, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (20, պիքսել. գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (21, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (22, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.show (); // Սա ուղարկում է պիքսելների թարմացված գույնը ապարատին: ուշացում (ուշացում*3); // Որոշ ժամանակով հետաձգում (միլիվայրկյաններով): pixels.setPixelColor (0, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (1, պիքսել. գույն (0, 0, 0)); // անջատված pixels.setPixelColor (2, պիքսել. Color (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (3, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (4, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (5, պիքսել. Գույն (255, 165, 0)); // Նարնջագույն: pixels.setPixelColor (6, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (7, պիքսել. Color (255, 165, 0)); // Նարնջագույն: pixels.setPixelColor (8, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (9, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (10, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (11, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (12, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (13, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (14, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (16, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (17, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (18, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (19, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (20, պիքսել. գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (21, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (22, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.show (); // Սա ուղարկում է պիքսելների թարմացված գույնը ապարատին: ուշացում (ուշացում*3); // Որոշ ժամանակով հետաձգում (միլիվայրկյաններով): pixels.setPixelColor (0, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (1, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (2, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (3, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (4, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (5, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (6, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (7, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (8, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (9, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (10, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (11, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (12, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (13, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (14, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (16, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (17, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (18, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (19, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (20, պիքսել. գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (21, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (22, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.show (); // Սա ուղարկում է պիքսելների թարմացված գույնը ապարատին: ուշացում (ուշացում); // Որոշ ժամանակով հետաձգում (միլիվայրկյաններով): // Կարդացեք սենսորի արժեքը և ցուցադրեք այն սերիական մոնիտորի sensorValue = analogRead (sensorPin); Serial.println (sensorValue); ուշացում (250); // Մինչ սենսորի արժեքը շեմից փոքր է, ստուգեք սենսորի արժեքը և տպեք այն սերիական մոնիտորի վրա: Երբ արժեքը գերազանցում է շեմը, ուրվագիծը կարող է շարունակվել (sensorValue <threshold) {sensorValue = analogRead (sensorPin); Serial.println (sensorValue); ուշացում (250); } // Առաջին քամու LED- ները pixels.setPixelColor (0, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (1, պիքսել. գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (2, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (3, պիքսել. գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (4, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (5, պիքսել. գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (6, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (7, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (8, պիքսել. գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (9, պիքսել. գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (10, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (11, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (12, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (13, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (14, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (15, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (16, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (17, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (18, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (19, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (20, պիքսել. գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (21, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (22, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.show (); // Սա ուղարկում է պիքսելների թարմացված գույնը ապարատին: ուշացում (ուշացում); // Որոշ ժամանակով հետաձգում (միլիվայրկյաններով): // Երկրորդ քամու LED- ները pixels.setPixelColor (0, պիքսելներ. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (1, պիքսել. գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (2, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (3, պիքսել. գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (4, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (5, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (6, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (7, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (8, պիքսել. գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (9, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (10, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (11, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (12, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (13, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (14, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (15, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (16, պիքսել. Գույն (0, 0, 0)); // Անջատված: pixels.setPixelColor (17, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (18, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (19, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (20, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (21, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ: pixels.setPixelColor (22, պիքսել. Գույն (226, 246, 255)); // կապտավուն սպիտակ:pixels.show (); // Սա ուղարկում է պիքսելների թարմացված գույնը ապարատին: ուշացում (2000); // Որոշ ժամանակով հետաձգում (միլիվայրկյաններով): }

Կցեք ձեր Arduino- ն համակարգչին USB տպիչի մալուխով

Գնացեք Գործիքներ> Տախտակ և ընտրեք Arduino/Genuino UNO տախտակը

Գնացեք Պորտ և համոզվեք, որ տախտակը միացված է ճիշտ USB պորտին: Եթե վստահ չեք, կարող եք անջատել Arduino- ն և միանալ, թե որ նավահանգիստն է անհետանում ցուցակից: Միացրեք այն նորից, և նավահանգիստը կրկին կցուցադրվի:

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

Քայլ 7: Գույների, պայծառության և տվիչների շեմի փոփոխություն

Գույների, պայծառության և տվիչների շեմի փոփոխություն
Գույների, պայծառության և տվիչների շեմի փոփոխություն
Գույների, պայծառության և տվիչների շեմի փոփոխություն
Գույների, պայծառության և տվիչների շեմի փոփոխություն

Գույներ

LED- ների գույները սահմանվում են RGB (կարմիր կանաչ կապույտ) գույնի արժեքներով: Եթե նախընտրում եք օգտագործել տարբեր գույներ, քան ես օգտագործել եմ, կարող եք գտնել ձեր ուզած գույների արժեքները ՝ օգտագործելով առցանց RGB գույնի հաշվիչ, օրինակ ՝ www.w3schools.com/colors/colors_rgb.asp

LED- ն անջատելու համար օգտագործեք 0, 0, 0 արժեքները:

LED- ը սպիտակի վրա դնելու համար օգտագործեք 255, 255, 255 արժեքները: Նախորդ քայլի կոդը օգտագործում է կապտավուն սպիտակ ՝ 226, 246, 255 և նարնջագույն ՝ 255, 165, 0 արժեքներով:

Պայծառություն

LED- ների պայծառությունը փոխելու համար անցեք ծածկագրի void setup բաժինը և գտեք կոդի հետևյալ տողը.

pixels.setBrightness (20); // Սահմանել պայծառությունը

Փոփոխեք թիվը փակագծերում ՝ LED- ների պայծառությունը փոխելու համար:

Սենսորային շեմ

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

const int շեմ = 200;

Քայլ 8. Շրջանը ավելի մշտական դարձնելը

Շրջանը դարձնել ավելի մշտական
Շրջանը դարձնել ավելի մշտական

Երբ միացումն աշխատում է, անջատեք Arduino- ն համակարգչից և հեռացրեք խոսափողի սենսորը տախտակից: Arduino- ից լարեր կպցրեք միկրոֆոնի սենսորին, որպեսզի միացումն ավելի մշտական լինի: Հետևից խոսափողը մղեք քարտի անցքի միջով: Անհրաժեշտության դեպքում զգուշորեն թեքեք խոսափողը 90 աստիճանով, որպեսզի տախտակը կարողանա հարթ պառկել քարտի հետևում: Միացրեք մարտկոցը Arduino- ին `օգտագործելով տպիչի մալուխը, և ամբողջ հաջորդականությունը պետք է աշխատի:

Քայլ 9: Ստեղծեք նկար

Ստեղծեք Նկար
Ստեղծեք Նկար

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

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

Տեղադրեք գործվածքը և օղակը քարտի վերևում, ինչպես նախկինում, և ամրացրեք տեղում ՝ սոսնձելով լրացուցիչ կտորը քարտի հետևի մասում:

Քայլ 10: Միավորել այն

Միասին դնելը
Միասին դնելը

Կպչեք սպիտակ քարտը ծալքավոր ստվարաթղթե շրջանակի վրա ՝ փակելով խոսափողը, բայց ոչ Arduino- ն և մարտկոցը, որոնք պետք է շրջվեն ստվարաթղթե եզրով, իսկ լարերը անցնեն ճեղքերով:

Կցեք ստվարաթղթի վերջին շրջանակը Velcro- ով, որպեսզի կարողանաք մուտք գործել մարտկոց: Ստվարաթղթի վրա փոս պատրաստեք, որտեղ ցանկանում եք այն կախել պատից կարթից:

Քայլ 11: Սովորելով սխալներից

Սովորելով սխալներից
Սովորելով սխալներից
Սովորելով սխալներից
Սովորելով սխալներից
Սովորելով սխալներից
Սովորելով սխալներից

Իմ առաջին փորձը շրջանաձեւ կպչուն պիտակներ և պղնձե ժապավեն էր: Շղթայական կպչուն պիտակներ LED- ների փոքր մակերես են, որոնք տեղադրված են պղնձե բարձիկներով կպչուն պիտակների վրա: Նրանք գալիս են Qi Jie ընկերության Chibitroniks ընկերությունից, և ես կարծում էի, որ նրանք կատարյալ կլինեն:

Պղնձե ժապավենով կամ արծաթե ժապավենով ես չկարողացա հուսալի կապ հաստատել, և երբ կպչուն պիտակներ կպցրեցի, կարողացա լուսավորել միայն 3 LED կպչուն պիտակներ `9 Վ մարտկոցով: Պարզ դարձավ, որ դրանք նախատեսված չեն շատ թեթև նախագծերի համար, ինչպես ես հույս ունեի: Երբ ավելի մանրակրկիտ նայեցի շղթայական կպչուն պիտակների մասին վեբ էջին, 4 լույսերով նախագիծը պարզվեց, որ այլ տեսակի LED- ներ են: Ես կարող էի միացնել կպչուն պիտակներ 12 Վ մարտկոցով, բայց դա չափազանց զանգվածային կլիներ նկարի ներսում տեղադրելու համար:

Հետո ես փորձեցի կարելու համար նախատեսված LED- ները: Ես կարծում էի, որ միայն հզորություն և հող ունենալը ավելի հեշտ կլինի լարել, քան ծրագրավորվող LED- ները, որոնք ունեն հոսանքի, գրունտի և տվյալների գծեր: Բայց պարզվեց, որ դա ավելի բարդ միացում էր, որը լրացուցիչ էներգիայի և MOSFET- ի կարիք ուներ, որը ես չունեի: Ես կարող էի օգտագործել կոյուղու NeoPixels, բայց դրանք ավելի թանկ են:

Այսպիսով, մի քանի կեղծ մեկնարկից հետո ես ավարտեցի մի շարք ծրագրավորվող LED- ներ, որոնք էժան են և հեշտ օգտագործման համար:

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