Isi kandungan:

Sweater Merry Grinchmas, Pencetak Termal + GemmaM0: 5 Langkah (dengan Gambar)
Sweater Merry Grinchmas, Pencetak Termal + GemmaM0: 5 Langkah (dengan Gambar)

Video: Sweater Merry Grinchmas, Pencetak Termal + GemmaM0: 5 Langkah (dengan Gambar)

Video: Sweater Merry Grinchmas, Pencetak Termal + GemmaM0: 5 Langkah (dengan Gambar)
Video: NEW AT TARGET * 2023 CHRISTMAS ARRIVALS * CLOTHING/ DECOR & MORE!!! 2024, November
Anonim
Sweater Merry Grinchmas, Pencetak Termal + GemmaM0
Sweater Merry Grinchmas, Pencetak Termal + GemmaM0
Sweater Merry Grinchmas, Pencetak Termal + GemmaM0
Sweater Merry Grinchmas, Pencetak Termal + GemmaM0
Sweater Merry Grinchmas, Pencetak Termal + GemmaM0
Sweater Merry Grinchmas, Pencetak Termal + GemmaM0
Sweater Merry Grinchmas, Pencetak Termal + GemmaM0
Sweater Merry Grinchmas, Pencetak Termal + GemmaM0

Sweater Merry Grinchmas adalah pakaian interaktif yang menyediakan pelbagai pesanan bercetak yang diperibadikan sebagai keluhan setiap kali seseorang menyentuh topi topi Grinch. Mesej anti-Krismas datang melalui pencetak terma yang dikendalikan oleh Gemma MO, Arduino, dan Capacitive Sensing.

Langkah 1: Senarai Bahan

- Gemma MO

- Guts pencetak termal -

- Pita Fabrik Konduktif

- Sweater longgar

- Terasa

- Roving + felting kit

- Serat Konduktif -

- Benang tembaga

- Perintang (3.3k + 2.2k)

- Bekalan Kuasa - 7.5V, 3A

- Bateri Li-Po

- Pateri

- gam kain

- Arduino Uno, Alligator Clips & papan roti (untuk ujian)

Langkah 2: Uji + Tetapkan Pencetak

Test + Setup Printer
Test + Setup Printer
Test + Setup Printer
Test + Setup Printer
Test + Setup Printer
Test + Setup Printer

Pertama sekali, menguji pencetak untuk melihat apakah ia mempunyai daya yang cukup, jika tidak, apabila menekan butang set semula pada pencetak untuk mencetak halaman ujian, ia akan terus mencetak baris yang sama berulang-ulang (gambar 1).

Apabila cetakan percubaan keluar, sudah tiba masanya untuk memeriksa BaudRate kerana Printer Guts berfungsi pada 9600 dan secara default Adafruits Library, menggunakan tahun 19200 seperti pencetak termal lain yang mereka jual. Lihat di sini:

Gambar 3 menunjukkan secara khusus cara memasang pencetak.

Ujian ini membantu menentukurkan gaya fon yang berbeza untuk membuat reka bentuk yang disesuaikan. (Gambar 4).

Terdapat nombor rawak yang memilih antara 12 ayat yang berbeza termasuk gaya teks yang berbeza untuk tajuk, teks badan dan tandatangan.

Terakhir, untuk menambahkan gambar apa pun, ia perlu ditukar menjadi gambar Bitmap. (Gambar 6). Di sini pilihannya adalah Grinch. (Gambar 7)

Satu nota terakhir. Menggunakan pencetak dengan Gemma M0, memerlukan beberapa penyesuaian untuk menggunakan siri Perkakasan (Gambar 8).

Langkah 3: Merancang Program

Merangka Program
Merangka Program

Apa yang saya harapkan mengenai program saya?

1) Saya mempunyai LED RGB yang memberikan maklum balas visual mengenai pencetak. Hijau untuk siap, merah untuk dicetak

Oleh kerana Gemme M0 memiliki Neopixel tertanam, untuk mengkodkannya, led perlu ditangani seolah-olah itu adalah jalur LED.

#tentukan NUMPIXELS 1 // Bilangan LED dalam jalur

batal persediaan () {

jalur.begin (); // Memulakan pin untuk output strip.show (); // Matikan semua LED secepat mungkin

}

gelung kosong () {

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

strip.show ();

}

2) Sensor kapasitif yang mencetuskan sistem.

Penginderaan kapasitif memerlukan perpustakaan dan menentukan beberapa pemboleh ubah. Ia menggunakan satu Input Analog yang perlu dikalibrasi. Saya mungkin memerlukan beberapa ujian untuk mengubah nilai sentuhan.

#sertakan "Adafruit_FreeTouch.h"

int touch = 1000; # tentukan CAPTOUCH_PIN A0

lama lamaState = 0;

kekosongan cek kosong () {// Dapatkan keadaan butang semasa. lama baruState = qt_1.measure (); Serial.println (qt_1.measure ()); if (newState> touch && oldState <touch) {// Kelewatan sebentar untuk butang batal. kelewatan (20); // Periksa sama ada butang masih rendah selepas debounce. lama baruState = qt_1.measure (); } jika (newState <touch) {// Jangan buat apa-apa} yang lain {// Lakukan ini}

3) Cetak mesej yang berbeza setiap kali sistem dicetuskan

Program akan mengacak nombor setiap kali program dijalankan

batal cetakChristmas () {

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

randomNumber = rawak (1, 12);

pencetak.inverseOn ();

printer.println (F ("Persembahan Xmas Inc.")); pencetak.inverseOff ();

beralih (nombor rawak) {

kes 1: // statement printer.println (F ("")); // Tetapkan justifikasi teks (kanan, tengah, kiri) - menerima pencetak 'L', 'C', 'R'.justify (' L '); printer.println (F ("Itulah semua itu, bukan? Itulah yang selalu * mengenai *. Hadiah, hadiah … hadiah, hadiah, hadiah, hadiah, hadiah! Anda ingin tahu apa yang berlaku pada hadiah anda? Mereka semua datang kepada saya. Di sampah anda. Anda melihat apa yang saya katakan? Di * sampah * anda. Saya boleh menggantung diri dengan semua tali leher Krismas yang buruk yang saya dapati di tempat pembuangan sampah. Dan avarice.. ")); rehat; kes 2: // pernyataan printer.println (F ("")); // Tetapkan justifikasi teks (kanan, tengah, kiri) - menerima pencetak 'L', 'C', 'R'.justify (' L '); printer.println (F ("Oh, Man-Who.")); kes 3: // penyataan printer.println (F ("")); // Tetapkan justifikasi teks (kanan, tengah, kiri) - menerima pencetak 'L', 'C', 'R'.justify (' L '); printer.println (F ("Oh, tidak, kereta, hadiah, mereka akan musnah, dan saya peduli!")); rehat; kes 4: // penyataan printer.println (F ("")); // Tetapkan justifikasi teks (kanan, tengah, kiri) - menerima pencetak 'L', 'C', 'R'.justify (' L '); printer.println (F ("Letakkan muzik Krismas ini. Sangat menggembirakan dan berjaya.")); rehat; kes 5: // penyataan printer.println (F ("")); // Tetapkan justifikasi teks (kanan, tengah, kiri) - menerima pencetak 'L', 'C', 'R'.justify (' L '); printer.println (F ("Adakah saya hanya makan kerana bosan?")); rehat; kes 6: // statement printer.println (F ("")); // Tetapkan justifikasi teks (kanan, tengah, kiri) - menerima pencetak 'L', 'C', 'R'.justify (' L '); printer.println (F ("Namun, ada satu tradisi Krismas kecil yang saya anggap cukup bermakna … [mengangkat mistletoe] Mistletoe. [meletakkan mistletoe di atas punggungnya] Sekarang letakkan dan ciumlah itu, Whoville! [menggoyangkan mistletoe] Boi-yoi-yoi-yoing! ")); rehat; kes 7: // statement printer.println (F ("")); // Tetapkan justifikasi teks (kanan, tengah, kiri) - menerima pencetak 'L', 'C', 'R'.justify (' L '); printer.println (F ("Sekarang anda mendengarkan saya, wanita muda! Walaupun kita * sangat hancur *, tidak akan ada wajah sedih pada Krismas.")); rehat; kes 8: // penyataan printer.println (F ("")); // Tetapkan justifikasi teks (kanan, tengah, kiri) - menerima pencetak 'L', 'C', 'R'.justify (' L '); printer.println (F ("Percutian siapa-apa-ee?")); rehat; kes 9: // penyataan printer.println (F ("")); // Tetapkan justifikasi teks (kanan, tengah, kiri) - menerima pencetak 'L', 'C', 'R'.justify (' L '); printer.println (F ("Adakah anda mempunyai Krismas yang suci dan gembira?")); rehat; kes 10: // pernyataan printer.println (F ("")); // Tetapkan justifikasi teks (kanan, tengah, kiri) - menerima pencetak 'L', 'C', 'R'.justify (' L '); printer.println (F ("Dan mereka akan mengadakan kenduri, kenduri, kenduri, kenduri. Mereka akan memakan Who-Pudding dan Who-Roast Beast mereka yang jarang. Tetapi itu adalah sesuatu yang saya tidak tahan sedikit pun. Oh, tidak. Saya 'MENGUCAPKAN DALAM RHYME! ")); rehat; kes 11: // pernyataan printer.println (F ("")); // Tetapkan justifikasi teks (kanan, tengah, kiri) - menerima pencetak 'L', 'C', 'R'.justify (' L '); printer.println (F ("Avarice tidak pernah berakhir! Saya mahu kelab golf. Saya mahukan berlian. Saya mahukan kuda poni sehingga saya dapat menunggangnya dua kali, bosan dan menjualnya untuk membuat gam. Lihatlah, saya tidak mahu membuat gelombang, tetapi ini * keseluruhan * musim Krismas adalah… ")); rehat; }

// Uji lebih banyak gaya

pencetak.boldOn (); printer.justify ('R'); printer.println (F ("Grinch")); pencetak.boldOff (); pencetak.println (F ("")); printer.justify ('L'); // Uji watak ketinggian dua kali ganda di atas & mati pencetak.doubleHeightOn (); printer.println (F ("Merry Grinchmas!")); printer.doubleHeightOff (); pencetak.println (F ("")); pencetak.println (F (""));

// Cetak logo piksel 75x75 di adalogo.h:

printer.printBitmap (grinch_width, grinch_height, grinch_data);

pencetak.println (F (""));

pencetak.println (F (""));

pencetak.sleep (); // Suruh pencetak tidur

kelewatan (3000L); // Tidur selama 3 saat pencetak. Bangun (); // WAJIB bangun () sebelum mencetak lagi, walaupun set semula printer.setDefault (); // Pulihkan pencetak ke lalai}

Langkah 4: Litar Lembut

Litar Lembut
Litar Lembut
Litar Lembut
Litar Lembut
Litar Lembut
Litar Lembut
Litar Lembut
Litar Lembut

Oleh kerana litar lembut perlu diletakkan dengan selamat di sweater, saya memberi perhatian khusus kepada reka bentuk litar (Gambar 1) dan penempatan komponen.

Setelah menguji litar lengkap menggunakan klip buaya dan papan serbuk roti (Gambar 2 & 3), saya melompat meletakkan komponen sementara pada alat tulis, sebelum menjahit dan menyolder (Gambar 4 & 5).

Catatan penting: Pendawaian termasuk perintang adalah penting kerana litar ini memerlukan pembahagi voltan untuk mengelakkan arus merosakkan papan. (Gambar 6)

Langkah terakhir di sini, menguji semuanya (Gambar 7)

Langkah 5: Menggabungkan Semuanya

Menggabungkan Semuanya
Menggabungkan Semuanya
Menggabungkan Semuanya
Menggabungkan Semuanya
Menggabungkan Semuanya
Menggabungkan Semuanya

1) Membuat muka fon yang dirasakan (Gambar 1 & 2)

2) Surat Jahit (Gambar 3)

3) Buat beg untuk gulungan kertas dan struktur untuk pencetak dan pemegang bateri Li-po (Gambar 4 & 5). Segala-galanya dijahit ke sweater.

4) Buat wajah Grinch yang berfungsi sebagai penutup pencetak. Litar terus di bawah topi dengan lapisan pita konduktif kain yang menghubungkan ke pompon. Pompon terbuat dari bulu hijau dan serat konduktif. (Gambar 6).

5) Oleh kerana bekalan kuasa memerlukan kord untuk dihidupkan, saya membuat penutup yang diperbuat daripada benang menggunakan perajut perancis. (Gambar 7 Pilihan).

6) Langkah terakhir, pastikan semuanya sudah siap dan cubalah!

Disyorkan: