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

Merry Grinchmas սվիտեր, ջերմային տպիչ + GemmaM0: 5 քայլ (նկարներով)
Merry Grinchmas սվիտեր, ջերմային տպիչ + GemmaM0: 5 քայլ (նկարներով)

Video: Merry Grinchmas սվիտեր, ջերմային տպիչ + GemmaM0: 5 քայլ (նկարներով)

Video: Merry Grinchmas սվիտեր, ջերմային տպիչ + GemmaM0: 5 քայլ (նկարներով)
Video: Rock this Chrismtas season in style! 🎄✨️👕 #Christmas #grinch #grinchmas #customapparel #customwork 2024, Դեկտեմբեր
Anonim
Merry Grinchmas սվիտեր, ջերմային տպիչ + GemmaM0
Merry Grinchmas սվիտեր, ջերմային տպիչ + GemmaM0
Merry Grinchmas սվիտեր, ջերմային տպիչ + GemmaM0
Merry Grinchmas սվիտեր, ջերմային տպիչ + GemmaM0
Merry Grinchmas սվիտեր, ջերմային տպիչ + GemmaM0
Merry Grinchmas սվիտեր, ջերմային տպիչ + GemmaM0
Merry Grinchmas սվիտեր, ջերմային տպիչ + GemmaM0
Merry Grinchmas սվիտեր, ջերմային տպիչ + GemmaM0

Merry Grinchmas սվիտերը ինտերակտիվ հագուստ է, որն ապահովում է անհատականացված տպագիր հաղորդագրությունների լայն տեսականի ՝ որպես բողոք, երբ որևէ մեկը դիպչում է Գրինչի գլխարկի պոմպոնին: Հակա-ամանորյա հաղորդագրություններ գալիս են ջերմային տպիչի միջոցով, որը վերահսկվում է Gemma MO- ի, Arduino- ի և Capacitive Sensing- ի կողմից:

Քայլ 1: Նյութերի ցուցակ

- Gemma MO

- rmերմային տպիչ Guts -

- Հաղորդիչ գործվածքների ժապավեն

- Չամրացված սվիտեր

- զգացի

- Roving + felting հանդերձանքը

- Հաղորդիչ մանրաթել -

- Պղնձե թել

- Ռեզիստորներ (3.3k + 2.2k)

- Սնուցման աղբյուր - 7.5V, 3A

- Li-Po մարտկոց

- erոդող

- գործվածքների սոսինձ

- Arduino Uno, Alligator Clips & breadboard (փորձարկման համար)

Քայլ 2: Փորձարկեք + տեղադրեք տպիչը

Test + Setup տպիչ
Test + Setup տպիչ
Test + Setup տպիչ
Test + Setup տպիչ
Test + Setup տպիչ
Test + Setup տպիչ

Առաջին հերթին, փորձարկելով տպիչը `պարզելու, արդյոք այն ունի բավարար հզորություն, հակառակ դեպքում, փորձնական էջը տպելու համար տպիչի վրա զրոյական կոճակը սեղմելիս, այն անընդհատ տպում է նույն տողը (նկար 1):

Երբ փորձնական տպագրությունը դուրս է գալիս, ժամանակն է ստուգել BaudRate- ը, քանի որ Printer Guts- ը աշխատում է 9600 -ում, և ըստ կանխադրման Adafruits Library- ն օգտագործում է 19200 -ը, ինչպես և այլ վաճառվող ջերմային տպիչները: Ստուգեք այստեղ ՝

3 -րդ նկարը ցույց է տալիս, թե ինչպես միացնել տպիչը:

Թեստը օգնում է ճշգրտել տառատեսակների տարբեր ոճերը ՝ ցանկացած հարմարեցված դիզայն ստեղծելու համար: (Նկար 4):

Կա պատահական թիվ, որն ընտրում է 12 տարբեր նախադասությունների միջև ՝ ներառյալ տարբեր տեքստային ոճեր ՝ վերնագրի, հիմնական տեքստի և ստորագրության համար:

Ի վերջո, ցանկացած նկար ավելացնելու համար այն պետք է փոխակերպվի Bitmap նկարի: (Նկար 6): Այստեղ ընտրությունը Գրինչն էր: (Նկար 7)

Մի վերջին նշում. Gemma M0- ով տպիչի օգտագործումը պահանջում է որոշ ճշգրտումներ `« Սարքավորումներ »սերիալից օգտվելու համար (նկար 8):

Քայլ 3: ingրագրի նախագծում

Designրագրի նախագծում
Designրագրի նախագծում

Ի՞նչ եմ ակնկալում իմ ծրագրից:

1) Ես ունեմ RGB լուսարձակ, որը տեսողական արձագանք է տալիս տպիչի մասին: Կանաչը պատրաստ է, կարմիրը ՝ տպագրության համար:

Քանի որ Gemme M0- ն ունի ներկառուցված Neopixel, այն կոդավորելու համար led- ը պետք է հասցեագրվի այնպես, կարծես դա LED ժապավեն է:

#սահմանել NUMPIXELS 1 // շղթայում LED- ների քանակը

void setup () {

strip.begin (); // Նախաստորագրեք կապում ելքային ժապավենի համար: show (); // Անջատեք բոլոր LED- ները հնարավորինս շուտ

}

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

strip.setPixelColor (0, 255, 127, 0);

strip.show ();

}

2) հզորության տվիչ, որը գործարկում է համակարգը:

Capacitive sensing- ը պահանջում է գրադարան և որոշ փոփոխականների սահմանում: Այն օգտագործում է մեկ անալոգային մուտք, որը պետք է ճշգրտվի: Հպման արժեքները փոխելու համար կարող եմ որոշ փորձարկումներ պահանջել:

#ներառել «Adafruit_FreeTouch.h»

int touch = 1000;#սահմանել CAPTOUCH_PIN A0

երկար հին Պետություն = 0;

void checkpress () {// Ստացեք կոճակի ընթացիկ վիճակը: երկար newState = qt_1.measure (); Serial.println (qt_1.measure ()); if (newState> touch && oldState <touch) {// Դեպոնսինգի կարճ հետաձգման կոճակ: ուշացում (20); // Ստուգեք, արդյոք կոճակը դեռ ցածր է դուրս գալուց հետո: երկար newState = qt_1.measure (); } if (newState <touch) {// ոչինչ մի արա} այլ կերպ {// արա սա}

3) Տպեք տարբեր հաղորդագրություններ ամեն անգամ, երբ համակարգը գործարկվում է:

Programրագիրը պատահականորեն կհամապատասխանի մի շարք ամեն անգամ, երբ ծրագիրը գործի

void printChristmas () {

randomSeed (analogRead (0)*analogRead (1));

randomNumber = պատահական (1, 12);

printer.inverseOn ();

printer.println (F («Xmas Inc. Presents»)); printer.inverseOff ();

անջատիչ (պատահական համար) {

գործ 1: // հայտարարություններ printer.println (F ("")); // Տեքստի հիմնավորում (աջ, կենտրոն, ձախ) - ընդունում է 'L', 'C', 'R' printer.justify ('L'); printer.println (F («Ահա թե ինչի մասին է խոսքը, այնպես չէ՞, դա այն է, ինչի մասին միշտ *. *Նվերներ, նվերներ … նվերներ, նվերներ, նվերներ, նվերներ, նվերներ): Ուզում եք իմանալ, թե ինչ է կատարվում ձեր նվերների հետ: Նրանք բոլորը գալիս են ինձ մոտ: Ձեր աղբի մեջ: Տեսնու՞մ եք, թե ինչ եմ ասում: Ձեր *աղբի մեջ: Ես կարող էի կախվել բոլոր այն վատ ամանորյա վզնոցներով, որոնք գտել էի աղբանոցում: Եվ ժլատությունը.. ")); ընդմիջում; գործ 2: // հայտարարություններ printer.println (F ("")); // Տեքստի հիմնավորում (աջ, կենտրոն, ձախ) - ընդունում է 'L', 'C', 'R' printer.justify ('L'); printer.println (F («Oh, the Who-manity»)); գործ 3: // հայտարարություններ printer.println (F ("")); // Տեքստի հիմնավորում (աջ, կենտրոն, ձախ) - ընդունում է «L», «C», «R» տպիչը: ուղղել («L»); printer.println (F («Օ,, ոչ, սահնակ, նվերները, դրանք կկործանվեն, և ինձ հոգ է տանում»)); ընդմիջում; գործ 4: // հայտարարություններ printer.println (F ("")); // Տեքստի հիմնավորում (աջ, կենտրոն, ձախ) - ընդունում է 'L', 'C', 'R' printer.justify ('L'); printer.println (F («Պայթեցրեք այս ամանորյա երաժշտությունը. ուրախալի և հաղթական է»)); ընդմիջում; գործ 5: // հայտարարություններ printer.println (F ("")); // Տեքստի հիմնավորում (աջ, կենտրոն, ձախ) - ընդունում է «L», «C», «R» տպիչ: ուղղել («L»); printer.println (F («Արդյո՞ք ես պարզապես ուտում եմ, քանի որ ձանձրացել եմ»)); ընդմիջում; գործ 6: // հայտարարություններ printer.println (F ("")); // Տեքստի հիմնավորում (աջ, կենտրոն, ձախ) - ընդունում է 'L', 'C', 'R' printer.justify ('L'); printer.println (F («Այնուամենայնիվ, կա Սուրբ Christmasննդյան մի փոքրիկ ավանդույթ, որը ես գտնում եմ բավականին բովանդակալից… [մզամուրճը պահում է] Մզամուրճը: [մզամուրճը դնում է իր հետույքի վրա] Հիմա պուճուր արա և համբուրիր նրան, Ուովիլ! [wiggles mistletoe] Boi-yoi-yoi-yoing! ")); ընդմիջում; գործ 7: // հայտարարություններ printer.println (F ("")); // Տեքստի հիմնավորում (աջ, կենտրոն, ձախ) - ընդունում է 'L', 'C', 'R' printer.justify ('L'); printer.println (F («Հիմա դու ինձ լսիր, օրիորդ! Նույնիսկ եթե մենք *սարսափելի խեղաթյուրված *լինենք, Սուրբ Christmasննդյան տոնին տխուր դեմքեր չեն լինի»)); ընդմիջում; գործ 8: // հայտարարություններ printer.println (F ("")); // Տեքստի հիմնավորում (աջ, կենտրոն, ձախ) - ընդունում է «L», «C», «R» տպիչը: ուղղել («L»); printer.println (F («Արձակուրդ, ո՞վ-ինչ է»)); ընդմիջում; գործ 9: // հայտարարություններ printer.println (F ("")); // Տեքստի հիմնավորում (աջ, կենտրոն, ձախ) - ընդունում է «L», «C», «R» տպիչ: ուղղել («L»); printer.println (F («Ունե՞ք սրբազան, ուրախ Christmasնունդ»)); ընդմիջում; գործ 10: // հայտարարություններ printer.println (F ("")); // Տեքստի հիմնավորում (աջ, կենտրոն, ձախ) - ընդունում է «L», «C», «R» տպիչը: ուղղել («L»); printer.println (F («Եվ նրանք կհրավիրեն, կխրեն, կխրեն, կխրեն. Նրանք կուտեն իրենց Ով-պուդինգը և հազվագյուտ Ով-Տապակած գազանին: Բայց դա մի բան է, որը ես ամենաքիչն եմ դիմանում: Օ,, ոչ, ես 'ԽՈՍՈՄ ԵՄ ՌԱՅՄՈՎ'))); ընդմիջում; գործ 11: // հայտարարություններ printer.println (F ("")); // Տեքստի հիմնավորում (աջ, կենտրոն, ձախ) - ընդունում է 'L', 'C', 'R' printer.justify ('L'); printer.println (F («Ագահությունը երբեք չի ավարտվում! Ես գոլֆի մահակներ եմ ուզում. ես ադամանդներ եմ ուզում. ես պոնի եմ ուզում, որպեսզի կարողանամ երկու անգամ հեծնել այն, ձանձրանալ և վաճառել սոսինձ պատրաստելու համար: Տեսեք, ես չեմ ուզում ալիքներ բարձրացնել, բայց այս * ամբողջ * Սուրբ seasonննդյան սեզոնը… »)); ընդմիջում; }

// Փորձարկեք ավելի շատ ոճեր

printer.boldOn (); printer.justify ('R'); printer.println (F («Գրինչ»)); printer.boldOff (); printer.println (F ("")); printer.justify ('L'); // Փորձարկեք կրկնակի բարձրության նիշը printer & did.doubleHeightOn (); printer.println (F («Merry Grinchmas!»)); printer.doubleHeightOff (); printer.println (F ("")); printer.println (F (""));

// Տպել 75x75 պիքսելանոց պատկերանշանը adalogo.h- ում:

printer.printBitmap (grinch_width, grinch_height, grinch_data);

printer.println (F (""));

printer.println (F (""));

printer.sleep (); // Ասեք, որ տպիչը քնի

ուշացում (3000 լ); // Քնել 3 վայրկյան printer.wake (); // ՊԵՏՔ է արթնանալ () նորից տպելուց առաջ, նույնիսկ եթե printer.setDefault () վերակայված լինի; // Տպիչի վերադարձը կանխադրվածին}

Քայլ 4: Փափուկ միացում

Փափուկ միացում
Փափուկ միացում
Փափուկ միացում
Փափուկ միացում
Փափուկ միացում
Փափուկ միացում
Փափուկ միացում
Փափուկ միացում

Քանի որ փափուկ շղթան պետք է ապահով տեղադրվի սվիտերի մեջ, ես հատուկ ուշադրություն դարձրի սխեմայի ձևին (նկար 1) և բաղադրիչի տեղադրմանը:

Ալիգատորների սեղմակներ և տախտակ օգտագործելով ամբողջ շրջանը փորձարկելուց հետո (ես նկարեցի 2 և 3), ես ցատկեցի զգեստի վրա ժամանակավոր բաղադրիչներ տեղադրելու համար, նախքան կարելն ու զոդելը (նկար 4 և 5):

Կարևոր նշում. Հաղորդալարերը, ներառյալ ռեզիստորները, էական նշանակություն ունեն, քանի որ այս շղթային անհրաժեշտ է լարման բաժանարար `հոսանքը չվնասելու համար: (Նկար 6)

Վերջին քայլն այստեղ ՝ ամեն ինչ փորձարկելը (Նկար 7)

Քայլ 5: Ամեն ինչ միասին հավաքելը

Ամեն ինչ միասին դնելը
Ամեն ինչ միասին դնելը
Ամեն ինչ միասին դնելը
Ամեն ինչ միասին դնելը
Ամեն ինչ միասին դնելը
Ամեն ինչ միասին դնելը

1) theգացված տառատեսակի դեմքի ստեղծում (Նկար 1 և 2)

2) կարել տառեր (նկար 3)

3) Ստեղծեք պայուսակ թղթի գլանափաթեթի համար և կառուցվածք տպիչի և Li-po մարտկոցի կրիչի համար (նկար 4 և 5): Ամեն ինչ կարված է սվիտերի վրա:

4) Ստեղծեք Grinch դեմքը, որն աշխատում է որպես տպիչի կափարիչ: Շղթան շարունակվում է գլխարկի տակ `հյուսված հաղորդիչ ժապավենի շերտով, որը միանում է պոմպոնին: Պոմպոնը պատրաստված է կանաչ բրդից պտտվող և հաղորդիչ մանրաթելից: (Նկար 6):

5) Քանի որ էլեկտրամատակարարումը պահանջում է լարը սնուցել, ես ստեղծեցի մանվածքից կազմված ծածկ, օգտագործելով ֆրանսիական տրիկոտաժ: (Նկար 7 ըստ ցանկության):

6) Վերջին քայլը, համոզվեք, որ ամեն ինչ տեղում է և փորձեք այն:

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