INHOUDSOPGAWE:

Merry Grinchmas -trui, termiese drukker + GemmaM0: 5 stappe (met foto's)
Merry Grinchmas -trui, termiese drukker + GemmaM0: 5 stappe (met foto's)

Video: Merry Grinchmas -trui, termiese drukker + GemmaM0: 5 stappe (met foto's)

Video: Merry Grinchmas -trui, termiese drukker + GemmaM0: 5 stappe (met foto's)
Video: Взлом квантового кода: физик раскрывает реальность 2024, Julie
Anonim
Vrolike Grinchmas -trui, termiese drukker + GemmaM0
Vrolike Grinchmas -trui, termiese drukker + GemmaM0
Vrolike Grinchmas -trui, termiese drukker + GemmaM0
Vrolike Grinchmas -trui, termiese drukker + GemmaM0
Vrolike Grinchmas -trui, termiese drukker + GemmaM0
Vrolike Grinchmas -trui, termiese drukker + GemmaM0
Vrolike Grinchmas -trui, termiese drukker + GemmaM0
Vrolike Grinchmas -trui, termiese drukker + GemmaM0

Die Merry Grinchmas -trui is 'n interaktiewe kledingstuk wat 'n wye verskeidenheid persoonlike gedrukte boodskappe bied as 'n klag wanneer iemand aan die Grinch se hoedpomp raak. Boodskappe teen Kersfees kom deur 'n termiese drukker wat beheer word deur Gemma MO, Arduino en Capacitive Sensing.

Stap 1: Materiaallys

- Gemma MO

- Termiese termiese drukker -

- Geleidende stofband

- Los trui

- Gevoel

- Roving + viltstel

- Geleidende vesel -

- Koperdraad

- Weerstande (3.3k + 2.2k)

- Kragtoevoer - 7.5V, 3A

- Li-Po battery

- Soldeer

- Stofgom

- Arduino Uno, Alligator Clips en broodbord (vir toetsing)

Stap 2: toets + opstel drukker

Toets + opstel drukker
Toets + opstel drukker
Toets + opstel drukker
Toets + opstel drukker
Toets + opstel drukker
Toets + opstel drukker

Eerstens moet u die drukker toets om te sien of dit genoeg krag het, anders druk u dieselfde reël oor en oor as u op die resetknoppie op die drukker druk om die toetsbladsy af te druk (prent 1).

As die toetsafdruk verskyn, is dit tyd om die BaudRate na te gaan, aangesien die Printer Guts werk by 9600 en standaard gebruik Adafruits Library 19200 soos ander termiese drukkers wat hulle verkoop. Kyk hier:

Foto 3 toon spesifiek hoe om die drukker aan te trek.

Die toets help om die verskillende lettertipes te kalibreer om 'n pasgemaakte ontwerp te skep. (Prent 4).

Daar is 'n ewekansige getal wat kies uit 12 verskillende sinne, insluitend verskillende tekstuele style vir 'n opskrif, hoofteks en handtekening.

Laastens, om 'n prentjie by te voeg, moet dit omskep word in 'n Bitmap -prent. (Prent 6). Hier was die keuse die Grinch. (Prent 7)

'N Laaste noot. Om die drukker met Gemma M0 te gebruik, verg 'n paar aanpassings om die hardeware -reeks (prent 8) te gebruik.

Stap 3: Ontwerp die program

Die ontwerp van die program
Die ontwerp van die program

Wat verwag ek van my program?

1) Ek het 'n RGB -led wat visuele terugvoer gee oor die drukker. Groen gereed, rooi om te druk

Aangesien die Gemme M0 'n ingeboude Neopixel het, moet die LED aangespreek word asof dit 'n LED -strook is om dit te kodeer.

#define NUMPIXELS 1 // Aantal LED's in strook

ongeldige opstelling () {

strip.begin (); // Initialiseer penne vir output strip.show (); // Skakel alle LED's so gou moontlik uit

}

leemte -lus () {

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

strip.show ();

}

2) 'n Kapasitiewe sensor wat die stelsel aktiveer.

Kapasitiewe waarneming vereis 'n biblioteek en definieer 'n paar veranderlikes. Dit gebruik een analoog invoer wat gekalibreer moet word. Ek sal dalk 'n bietjie toetsing nodig hê om die waardes van aanraking te verander.

#sluit "Adafruit_FreeTouch.h" in

int touch = 1000;#definieer CAPTOUCH_PIN A0

lang oldState = 0;

void checkpress () {// Kry die huidige knoppie toestand. lang newState = qt_1.measure (); Serial.println (qt_1.measure ()); if (newState> touch && oldState <touch) {// Kort vertraging om die knoppie te ontkoppel. vertraging (20); // Kontroleer of die knoppie nog laag is nadat dit gestop is. lang newState = qt_1.measure (); } if (newState <touch) {// Doen niks} anders nie {// Doen dit}

3) Druk verskillende boodskappe elke keer as die stelsel geaktiveer word

Die program sal 'n nommer ewekansig telkens as die program loop

void printChristmas () {

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

randomNumber = random (1, 12);

printer.inverseOn ();

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

skakelaar (randomNumber) {

saak 1: // stellings printer.println (F ("")); // Stel regverdiging van die teks (regs, middel, links) - aanvaar 'L', 'C', 'R' drukker. Justify ('L'); printer.println (F ("Dit is waaroor dit eintlik gaan? Dit is waaroor dit nog altyd *was *. Geskenke, geskenke … geskenke, geskenke, geskenke, geskenke, geskenke! Wil u weet wat met u geskenke gebeur? Hulle kom almal na my toe. In jou vullis. Sien jy wat ek sê? In jou *vullis *. Ek kan myself ophang met al die slegte Kersbande wat ek by die stortingsterrein gevind het. En die gierigheid.. ")); breek; saak 2: // stellings printer.println (F ("")); // Stel regverdiging van die teks (regs, middel, links) - aanvaar 'L', 'C', 'R' drukker. Justify ('L'); printer.println (F ("O, die Wie-manlikheid.")); saak 3: // stellings printer.println (F ("")); // Stel regverdiging van die teks (regs, middel, links) - aanvaar 'L', 'C', 'R' drukker. Justify ('L'); printer.println (F ("O, nee, die slee, die geskenke, hulle word vernietig, en ek gee om!")); breek; saak 4: // stellings printer.println (F ("")); // Stel regverdiging van die teks (regs, middel, links) - aanvaar 'L', 'C', 'R' drukker. Justify ('L'); printer.println (F ("Blast hierdie Kersmusiek. Dis vreugdevol en triomfantelik.")); breek; saak 5: // stellings printer.println (F ("")); // Stel regverdiging van die teks (regs, middel, links) - aanvaar 'L', 'C', 'R' drukker. Justify ('L'); printer.println (F ("Eet ek net omdat ek verveeld is?")); breek; saak 6: // stellings printer.println (F ("")); // Stel regverdiging van die teks (regs, middel, links) - aanvaar 'L', 'C', 'R' drukker. Justify ('L'); printer.println (F ("Daar is egter 'n klein Kersfees-tradisie wat ek baie betekenisvol vind … [hou maretak in] Maretak. [sit maretak oor sy boude] Maak dit nou en soen dit, Whoville! [wikkel mistel] Boi-yoi-yoi-yoing! ")); breek; saak 7: // stellings printer.println (F ("")); // Stel regverdiging van die teks (regs, middel, links) - aanvaar 'L', 'C', 'R' drukker. Justify ('L'); printer.println (F ("Nou luister jy na my, jong dame! Selfs as ons *verskriklik vermink *is, is daar geen hartseer gesigte op Kersfees nie.")); breek; saak 8: // stellings printer.println (F ("")); // Stel regverdiging van die teks (regs, middel, links) - aanvaar 'L', 'C', 'R' drukker. Justify ('L'); printer.println (F ("Vakansie wie-wat-ee?")); breek; saak 9: // stellings printer.println (F ("")); // Stel regverdiging van die teks (regs, middel, links) - aanvaar 'L', 'C', 'R' drukker. Justify ('L'); printer.println (F ("Het jy 'n heilige, jolige Kersfees?")); breek; saak 10: // stellings printer.println (F ("")); // Stel regverdiging van die teks (regs, middel, links) - aanvaar 'L', 'C', 'R' drukker. Justify ('L'); printer.println (F ("En hulle sal fees, fees, fees, fees. Hulle eet hul Who-Pudding en seldsame Who-Roast Beast. Maar dit is iets wat ek net nie in die minste kan verduur nie. O, nee. ek 'EK SPREEK IN RYM!')); breek; saak 11: // stellings printer.println (F ("")); // Stel regverdiging van die teks (regs, middel, links) - aanvaar 'L', 'C', 'R' drukker. Justify ('L'); printer.println (F ("Die gierigheid eindig nooit! Ek wil gholfstokke. Ek wil diamante hê. Ek wil 'n ponie hê, sodat ek twee keer kan ry, verveeld kan raak en dit verkoop om gom te maak. Kyk, ek wil nie golwe maak nie., maar hierdie * hele * Kerstyd is … ")); breek; }

// Toets meer style

printer.boldOn (); printer.justify ('R'); printer.println (F ("Grinch")); printer.boldOff (); printer.println (F ("")); printer.justify ('L'); // Toets karakter dubbelhoogte op en af printer.doubleHeightOn (); printer.println (F ("Merry Grinchmas!")); printer.doubleHeightOff (); printer.println (F ("")); printer.println (F (""));

// Druk die 75x75 pixel logo in adalogo.h:

printer.printBitmap (grinch_width, grinch_height, grinch_data);

printer.println (F (""));

printer.println (F (""));

drukker.slaap (); // Sê vir die drukker om te slaap

vertraging (3000L); // Slaap vir drie sekondes printer.wake (); // MOET () wakker word voordat u weer druk, selfs al word printer.setDefault () herstel; // Herstel drukker na verstek}

Stap 4: Sagte stroombaan

Sagte stroombaan
Sagte stroombaan
Sagte stroombaan
Sagte stroombaan
Sagte stroombaan
Sagte stroombaan
Sagte stroombaan
Sagte stroombaan

Omdat die sagte kring veilig in die trui geplaas moet word, het ek veral aandag gegee aan die kringontwerp (prent 1) en die plasing van die komponent.

Nadat ek die hele kring met behulp van krokodilleklemme en broodbord getoets het (foto's 2 en 3), het ek tydelike komponente op die vilt geplaas voordat ek naai en soldeer (prent 4 & 5).

Belangrike opmerking: die bedrading, insluitend die weerstande, is noodsaaklik, aangesien hierdie stroombaan 'n spanningsverdeler benodig om te voorkom dat die stroom die bord beskadig. (Prent 6)

Laaste stap hier, om alles te toets (prent 7)

Stap 5: Alles saamvoeg

Alles aanmekaar sit
Alles aanmekaar sit
Alles aanmekaar sit
Alles aanmekaar sit
Alles aanmekaar sit
Alles aanmekaar sit

1) Die skep van 'n viltvlak (prent 1 en 2)

2) Werk letters aan (prent 3)

3) Skep 'n sak vir die papierrol en 'n struktuur vir die drukker en die Li-po-batteryhouer (prent 4 & 5). Alles word aan die trui vasgewerk.

4) Skep die Grinch -gesig wat as die omslag van die drukker werk. Die kringloop gaan onder die hoed voort met 'n laag geleidende band wat verbind is met die pompon. Die pompon is gemaak van groenwol en geleidende vesel. (Prent 6).

5) Aangesien die kragtoevoer 'n koord benodig, het ek 'n omslag gemaak van gare met 'n Franse breier. (Foto 7 opsioneel).

6) Die heel laaste stap, maak seker dat alles in plek is en probeer dit!

Aanbeveel: