Sadržaj:

Veseli džemper Grinchmas, termalni pisač + GemmaM0: 5 koraka (sa slikama)
Veseli džemper Grinchmas, termalni pisač + GemmaM0: 5 koraka (sa slikama)

Video: Veseli džemper Grinchmas, termalni pisač + GemmaM0: 5 koraka (sa slikama)

Video: Veseli džemper Grinchmas, termalni pisač + GemmaM0: 5 koraka (sa slikama)
Video: Продвижение вязальных процессов/ Круглая кокетка "Веселые Санты"🎅❄️/Подготовка к Рождеству 2024, Srpanj
Anonim
Veseli džemper Grinchmas, termalni pisač + GemmaM0
Veseli džemper Grinchmas, termalni pisač + GemmaM0
Veseli džemper Grinchmas, termalni pisač + GemmaM0
Veseli džemper Grinchmas, termalni pisač + GemmaM0
Veseli džemper Grinchmas, termalni pisač + GemmaM0
Veseli džemper Grinchmas, termalni pisač + GemmaM0
Veseli džemper Grinchmas, termalni pisač + GemmaM0
Veseli džemper Grinchmas, termalni pisač + GemmaM0

Džemper Merry Grinchmas interaktivni je odjevni predmet koji nudi širok raspon personaliziranih ispisanih poruka kao prigovor kad god netko dotakne Grinchov pompon za šešir. Poruke protiv Božića stižu putem termalnog pisača kojim upravljaju Gemma MO, Arduino i Capacitive Sensing.

Korak 1: Popis materijala

- Gemma MO

- Termalni pisač Guts -

- Vodljiva traka od tkanine

- labavi džemper

- Osjetio

- Komplet za roving + filcanje

- Konduktivna vlakna -

- Bakarni konac

- Otpornici (3,3 k + 2,2 k)

- Napajanje - 7.5V, 3A

- Li-Po baterija

- Lemilo

- Ljepilo za tkanine

- Arduino Uno, isječci i matična ploča (za testiranje)

Korak 2: Test + Postavljanje pisača

Test + Setup pisač
Test + Setup pisač
Test + Setup pisač
Test + Setup pisač
Test + Setup pisač
Test + Setup pisač

Prije svega, testiranje pisača radi provjere ima li dovoljno energije. U protivnom će pritisnuti gumb za poništavanje na pisaču za ispis probne stranice i dalje će ispisivati isti redak (slika 1).

Kad probni ispis izađe, vrijeme je da provjerite BaudRate jer Printer Guts rade na 9600, a prema zadanim postavkama Adafruits Library koristi 19200 kao i drugi termalni pisači koje prodaju. Provjerite ovdje:

Slika 3 prikazuje način povezivanja pisača.

Test pomaže kalibrirati različite stilove fontova za stvaranje bilo kojeg prilagođenog dizajna. (Slika 4).

Postoji slučajan broj koji bira između 12 različitih rečenica, uključujući različite tekstualne stilove za naslov, tekst i potpis.

Na kraju, za dodavanje bilo koje slike potrebno ju je pretvoriti u bitmap sliku. (Slika 6). Ovdje je izbor bio Grinch. (Slika 7)

Još jedna zadnja napomena. Korištenje pisača s Gemmom M0 zahtijeva neke prilagodbe za upotrebu serijske opreme Hardver (Slika 8).

Korak 3: Osmišljavanje programa

Dizajniranje programa
Dizajniranje programa

Što očekujem od svog programa?

1) Imam RGB LED diodu koja daje vizualne povratne informacije o pisaču. Zelena za spremnost, crvena za ispis

Kako Gemme M0 ima ugrađeni Neopixel, za njegovo kodiranje LED se mora adresirati kao da je LED traka.

#define NUMPIXELS 1 // Broj LED dioda u traci

void setup () {

strip.begin (); // Inicijalizacija pinova za izlaznu traku.show (); // Isključite sve LED diode što je prije moguće

}

void loop () {{100} {101}

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

strip.show ();

}

2) Kapacitivni senzor koji pokreće sustav.

Kapacitivno otkrivanje zahtijeva knjižnicu i definiranje nekih varijabli. Koristi jedan analogni ulaz koji je potrebno kalibrirati. Možda ću zahtijevati neko testiranje za promjenu vrijednosti dodira.

#include "Adafruit_FreeTouch.h"

int touch = 1000; #define CAPTOUCH_PIN A0

long oldState = 0;

void checkpress () {// Dohvati trenutno stanje gumba. long newState = qt_1.measure (); Serial.println (qt_1.measure ()); if (newState> touch && oldState <touch) {// Gumb s kratkim kašnjenjem za debounce. kašnjenje (20); // Provjerite je li gumb još uvijek nizak nakon debouncea. long newState = qt_1.measure (); } if (newState <touch) {// Ne radi ništa} drugo {// Radi ovo}

3) Ispišite različite poruke svaki put kada se sustav pokrene

Program će nasumično izabrati broj pri svakom pokretanju programa

void printChristmas () {

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

randomNumber = slučajno (1, 12);

printer.inverseOn ();

printer.println (F ("Xmas Inc. predstavlja")); printer.inverseOff ();

switch (randomNumber) {

slučaj 1: // naredbe printer.println (F ("")); // Postavljanje poravnanja teksta (desno, središte, lijevo) - prihvaća pisač 'L', 'C', 'R'.justify (' L '); printer.println (F ("O tome se radi, zar ne? O tome se uvijek *radilo.) Darovi, darovi … darovi, darovi, darovi, darovi, darovi! Želite li znati što se događa s vašim darovima? Svi mi dolaze. U vašem smeću. Vidite što govorim? U vašem *smeću *. Mogao bih se objesiti sa svim lošim božićnim kravatama koje sam našao na smetlištu. I pohlepom.. ")); pauza; slučaj 2: // naredbe printer.println (F ("")); // Postavljanje poravnanja teksta (desno, središte, lijevo) - prihvaća pisač 'L', 'C', 'R'.justify (' L '); printer.println (F ("Oh, Tko-čovječanstvo.")); slučaj 3: // naredbe printer.println (F ("")); // Postavljanje poravnanja teksta (desno, središte, lijevo) - prihvaća pisač 'L', 'C', 'R'. Justify ('L'); printer.println (F ("Oh, ne, saonice, darovi, bit će uništeni, a meni je stalo!")); pauza; slučaj 4: // naredbe printer.println (F ("")); // Postavljanje poravnanja teksta (desno, središte, lijevo) - prihvaća pisač 'L', 'C', 'R'. Justify ('L'); printer.println (F ("Razvijte ovu božićnu glazbu. To je veselo i pobjedonosno.")); pauza; slučaj 5: // naredbe printer.println (F ("")); // Postavljanje poravnanja teksta (desno, središte, lijevo) - prihvaća pisač 'L', 'C', 'R'. Justify ('L'); printer.println (F ("Jedem li samo zato što mi je dosadno?")); pauza; slučaj 6: // naredbe printer.println (F ("")); // Postavljanje poravnanja teksta (desno, središte, lijevo) - prihvaća pisač 'L', 'C', 'R'.justify (' L '); printer.println (F ("Međutim, postoji jedna malena božićna tradicija koju smatram prilično smislenom … [drži imelu] Imela. [stavlja imelu na zadnjicu]) Sada se nabiri i poljubi je, Whoville! [pomiče imelu] Boi-yoi-yoi-yoing! ")); pauza; slučaj 7: // naredbe printer.println (F ("")); // Postavljanje poravnanja teksta (desno, središte, lijevo) - prihvaća pisač 'L', 'C', 'R'. Justify ('L'); printer.println (F ("Sada me poslušajte, mlada damo! Čak i ako smo *užasno posrnuli *, na Božić neće biti tužnih lica.")); pauza; slučaj 8: // naredbe printer.println (F ("")); // Postavljanje poravnanja teksta (desno, središte, lijevo) - prihvaća pisač 'L', 'C', 'R'. Justify ('L'); printer.println (F ("Odmor tko-biti što-ee?")); pauza; slučaj 9: // naredbe printer.println (F ("")); // Postavljanje poravnanja teksta (desno, središte, lijevo) - prihvaća pisač 'L', 'C', 'R'. Justify ('L'); printer.println (F ("Imaš li sveti, veseli Božić?")); pauza; slučaj 10: // naredbe printer.println (F ("")); // Postavljanje poravnanja teksta (desno, središte, lijevo) - prihvaća pisač 'L', 'C', 'R'.justify (' L '); printer.println (F ("I oni će slaviti, slaviti, slaviti, slaviti. Pojest će svoju Who-Pudding i rijetku Who-Roast Beast. Ali to je nešto što jednostavno ne mogu podnijeti. Oh, ne. ja 'M GOVORIM U RIMI! ")); pauza; slučaj 11: // naredbe printer.println (F ("")); // Postavljanje poravnanja teksta (desno, središte, lijevo) - prihvaća pisač 'L', 'C', 'R'. Justify ('L'); printer.println (F ("Škrtosti nikad kraja! Želim palice za golf. Želim dijamante. Želim ponija da ga mogu jahati dvaput, dosaditi i prodati ga za izradu ljepila. Gledajte, ne želim stvarati valove), ali ova * cijela * božićna sezona je … ")); pauza; }

// Testiraj više stilova

printer.boldOn (); printer.justify ('R'); printer.println (F ("Grinch")); printer.boldOff (); printer.println (F ("")); printer.justify ('L'); // Testiranje znaka dvostruke visine na i isključenom pisaču.doubleHeightOn (); printer.println (F ("Veseli Grinchmas!")); printer.doubleHeightOff (); printer.println (F ("")); printer.println (F (""));

// Ispis logotipa 75x75 piksela na adalogo.h:

printer.printBitmap (grinch_width, grinch_height, grinch_data);

printer.println (F (""));

printer.println (F (""));

printer.sleep (); // Recite pisaču da spava

kašnjenje (3000L); // Spavanje 3 sekunde printer.wake (); // MORA wake () prije ponovnog ispisa, čak i ako resetirate printer.setDefault (); // Vrati pisač na zadane postavke}

Korak 4: Meki krug

Meki krug
Meki krug
Meki krug
Meki krug
Meki krug
Meki krug
Meki krug
Meki krug

Budući da mekani krug treba sigurno staviti u džemper, posebnu sam pozornost posvetio dizajnu sklopa (slika 1) i položaju komponente.

Nakon što sam testirao cijeli sklop pomoću štipaljki od aligatora i matične ploče (slike 2 i 3), uskočio sam u postavljanje privremenih dijelova na filc, prije šivanja i lemljenja (slike 4 i 5).

Važna napomena: Ožičenje uključujući otpornike bitno je jer ovom krugu treba razdjelnik napona kako bi se spriječilo da struja ošteti ploču. (Slika 6)

Posljednji korak ovdje, testiranje svega (Slika 7)

Korak 5: Sve spojite

Spajanje svega
Spajanje svega
Spajanje svega
Spajanje svega
Spajanje svega
Spajanje svega

1) Stvaranje fonta fonta (slika 1 i 2)

2) Šivanje slova (slika 3)

3) Napravite vrećicu za rolu papira i strukturu za pisač i držač Li-po baterije (slike 4 i 5). Sve je prišiveno za džemper.

4) Izradite Grinch lice koje služi kao poklopac pisača. Krug se nastavlja ispod šešira slojem tkanine provodljive trake koja se povezuje s pomponom. Pompon je izrađen od zelene vune i rotirajućih vlakana. (Slika 6).

5) Kako napajanje zahtijeva napajanje kabela, stvorio sam omot od pređe pomoću francuskog pletilja. (Slika 7 Opcionalno).

6) Posljednji korak, provjerite je li sve na svom mjestu i isprobajte ga!

Preporučeni: