Daftar Isi:

Merry Grinchmas Sweater, Thermal Printer + GemmaM0: 5 Langkah (dengan Gambar)
Merry Grinchmas Sweater, Thermal Printer + GemmaM0: 5 Langkah (dengan Gambar)

Video: Merry Grinchmas Sweater, Thermal Printer + GemmaM0: 5 Langkah (dengan Gambar)

Video: Merry Grinchmas Sweater, Thermal Printer + GemmaM0: 5 Langkah (dengan Gambar)
Video: Watch me Grinch #christmas#christmas2022#grinch#grinchmas#sublimation#sublimationprinting #ecotank 2024, November
Anonim
Merry Grinchmas Sweater, Thermal Printer + GemmaM0
Merry Grinchmas Sweater, Thermal Printer + GemmaM0
Sweater Merry Grinchmas, Printer Termal + GemmaM0
Sweater Merry Grinchmas, Printer Termal + GemmaM0
Merry Grinchmas Sweater, Thermal Printer + GemmaM0
Merry Grinchmas Sweater, Thermal Printer + GemmaM0
Merry Grinchmas Sweater, Thermal Printer + GemmaM0
Merry Grinchmas Sweater, Thermal Printer + GemmaM0

Sweater Merry Grinchmas adalah pakaian interaktif yang menyediakan berbagai macam pesan tercetak yang dipersonalisasi sebagai keluhan setiap kali seseorang menyentuh pompon topi Grinch. Pesan anti-Natal datang melalui printer termal yang dikendalikan oleh Gemma MO, Arduino, dan Capacitive Sensing.

Langkah 1: Daftar Bahan

- Gemma MO

- Nyali printer termal -

- Pita Kain Konduktif

- Sweater Longgar

- Dirasakan

- Perlengkapan keliling + felting

- Serat Konduktif -

- Benang tembaga

- Resistor (3.3k + 2.2k)

- Catu Daya - 7.5V, 3A

- Baterai Li-Po

- Solder

- Lem Kain

- Arduino Uno, Klip Buaya & papan tempat memotong roti (untuk pengujian)

Langkah 2: Uji + Siapkan Printer

Tes + Siapkan Printer
Tes + Siapkan Printer
Tes + Siapkan Printer
Tes + Siapkan Printer
Tes + Siapkan Printer
Tes + Siapkan Printer

Pertama-tama, menguji printer untuk melihat apakah itu memiliki daya yang cukup, jika tidak, ketika menekan tombol reset pada printer untuk mencetak halaman pengujian, itu akan terus mencetak baris yang sama berulang-ulang (gambar 1).

Saat test print keluar, saatnya untuk memeriksa BaudRate karena Printer Guts bekerja di 9600 dan secara default Adafruits Library, menggunakan 19200 seperti printer termal lain yang mereka jual. Periksa di sini:

Gambar 3 menunjukkan secara spesifik cara memasang kabel pada printer.

Tes ini membantu mengkalibrasi gaya font yang berbeda untuk membuat desain yang disesuaikan. (Gambar 4).

Ada nomor acak yang memilih antara 12 kalimat yang berbeda termasuk gaya tekstual yang berbeda untuk judul, teks isi dan tanda tangan.

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

Satu catatan terakhir. Menggunakan printer dengan Gemma M0, memerlukan beberapa penyesuaian untuk menggunakan serial Hardware (Gambar 8).

Langkah 3: Merancang Program

Merancang Program
Merancang Program

Apa yang saya harapkan dari program saya?

1) Saya memiliki LED RGB yang memberikan umpan balik visual tentang printer. Hijau untuk siap, merah untuk pencetakan

Karena Gemme M0 memiliki Neopixel yang tertanam, untuk mengkodekannya, led perlu ditangani seolah-olah itu adalah strip LED.

#define NUMPIXELS 1 // Jumlah LED dalam strip

batalkan pengaturan() {

strip.mulai(); // Inisialisasi pin untuk strip keluaran.show(); // Matikan semua LED secepatnya

}

lingkaran kosong(){

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

strip.tampilkan();

}

2) Sensor kapasitif yang memicu sistem.

Penginderaan kapasitif membutuhkan perpustakaan dan mendefinisikan beberapa variabel. Ini menggunakan satu Input Analog yang perlu dikalibrasi. Saya mungkin memerlukan beberapa pengujian untuk mengubah nilai sentuhan.

#sertakan "Adafruit_FreeTouch.h"

int touch = 1000;#define CAPTOUCH_PIN A0

lama keadaan lama = 0;

void checkpress() { // Dapatkan status tombol saat ini. long newState = qt_1.measure(); Serial.println(qt_1.measure()); if (NewState > sentuh && oldState < touch) { // Penundaan singkat untuk tombol debounce. penundaan (20); // Periksa apakah tombol masih rendah setelah debounce. long newState = qt_1.measure(); } if (newState < touch) { // Jangan lakukan apa-apa } else { //Lakukan ini }

3) Cetak pesan yang berbeda setiap kali sistem dipicu

Program akan mengacak nomor setiap kali program berjalan

batal cetakNatal(){

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

randomNumber = acak(1, 12);

printer.inverseOn();

printer.println(F("Hadiah Natal Inc.")); printer.inverseOff();

beralih (nomor acak) {

case 1: // pernyataan printer.println(F("")); // Mengatur justifikasi teks (kanan, tengah, kiri) -- menerima 'L', 'C', 'R' printer.justify('L'); printer.println(F("Itulah masalahnya, bukan? Itu selalu *tentang*. Hadiah, hadiah… hadiah, hadiah, hadiah, hadiah, hadiah! Anda ingin tahu apa yang terjadi dengan hadiah Anda? Mereka semua datang kepada saya. Di sampah Anda. Anda lihat apa yang saya katakan? Di *sampah* Anda. Saya bisa gantung diri dengan semua dasi Natal buruk yang saya temukan di tempat pembuangan sampah. Dan ketamakan..")); merusak; case 2: // pernyataan printer.println(F("")); // Mengatur justifikasi teks (kanan, tengah, kiri) -- menerima 'L', 'C', 'R' printer.justify('L'); printer.println(F("Oh, Kemanusiaan.")); case 3: // pernyataan printer.println(F("")); // Mengatur justifikasi teks (kanan, tengah, kiri) -- menerima 'L', 'C', 'R' printer.justify('L'); printer.println(F("Oh, tidak, kereta luncur, hadiah, mereka akan dihancurkan, dan saya peduli!")); merusak; case 4: // pernyataan printer.println(F("")); // Mengatur justifikasi teks (kanan, tengah, kiri) -- menerima 'L', 'C', 'R' printer.justify('L'); printer.println(F("Ledakan musik Natal ini. Ini menyenangkan dan penuh kemenangan.")); merusak; case 5: // pernyataan printer.println(F("")); // Mengatur justifikasi teks (kanan, tengah, kiri) -- menerima 'L', 'C', 'R' printer.justify('L'); printer.println(F("Apakah saya makan hanya karena bosan?")); merusak; case 6: // pernyataan printer.println(F("")); // Mengatur justifikasi teks (kanan, tengah, kiri) -- menerima 'L', 'C', 'R' printer.justify('L'); printer.println(F("Namun, ada satu tradisi Natal kecil yang menurut saya cukup bermakna…[mengangkat mistletoe] Mistletoe.[meletakkan mistletoe di atas pantatnya]Sekarang mengerut dan menciumnya, Whoville![menggoyangkan mistletoe] Boi-yoi-yoi-yoing!")); merusak; case 7: // pernyataan printer.println(F("")); // Mengatur justifikasi teks (kanan, tengah, kiri) -- menerima 'L', 'C', 'R' printer.justify('L'); printer.println(F("Sekarang dengarkan aku, nona muda! Bahkan jika kita *sangat hancur*, tidak akan ada wajah sedih di hari Natal.")); merusak; kasus 8: // pernyataan printer.println(F("")); // Mengatur justifikasi teks (kanan, tengah, kiri) -- menerima 'L', 'C', 'R' printer.justify('L'); printer.println(F("Liburan siapa-apa-ee?")); merusak; kasus 9: // pernyataan printer.println(F("")); // Mengatur justifikasi teks (kanan, tengah, kiri) -- menerima 'L', 'C', 'R' printer.justify('L'); printer.println(F("Apakah Anda merayakan Natal yang holly, jolly?")); merusak; kasus 10: // pernyataan printer.println(F("")); // Mengatur justifikasi teks (kanan, tengah, kiri) -- menerima 'L', 'C', 'R' printer.justify('L'); printer.println(F("Dan mereka akan berpesta, berpesta, berpesta, berpesta. Mereka akan memakan Who-Pudding dan Who-Roast Beast mereka yang langka. Tapi itu adalah sesuatu yang paling tidak bisa kutahan. Oh, tidak. Aku 'M BERBICARA DALAM RHYME!")); merusak; case 11: // pernyataan printer.println(F("")); // Mengatur justifikasi teks (kanan, tengah, kiri) -- menerima 'L', 'C', 'R' printer.justify('L'); printer.println(F("Ketamakan tidak pernah berakhir! Saya ingin tongkat golf. Saya ingin berlian. Saya ingin kuda poni sehingga saya bisa mengendarainya dua kali, bosan dan menjualnya untuk membuat lem. Lihat, saya tidak ingin membuat gelombang, tapi *seluruh* musim Natal ini…”)); merusak; }

// Uji lebih banyak gaya

printer.boldOn(); printer.justify('R'); printer.println(F("Grinch")); printer.boldOff(); printer.println(F("")); printer.justify('L'); // Uji karakter tinggi ganda on & off printer.doubleHeightOn(); printer.println(F("Selamat Grinchmas!")); printer.doubleHeightOff(); printer.println(F("")); printer.println(F(""));

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

printer.printBitmap(grinch_width, grinch_height, grinch_data);

printer.println(F(""));

printer.println(F(""));

printer.tidur(); // Beri tahu printer untuk tidur

penundaan (3000L); // Tidur selama 3 detik printer.wake(); // HARUS bangun() sebelum mencetak lagi, meskipun reset printer.setDefault(); // Kembalikan printer ke default }

Langkah 4: Sirkuit Lunak

Sirkuit lunak
Sirkuit lunak
Sirkuit lunak
Sirkuit lunak
Sirkuit lunak
Sirkuit lunak
Sirkuit lunak
Sirkuit lunak

Karena sirkuit lunak perlu ditempatkan dengan aman di dalam sweater, saya memberikan perhatian khusus pada desain sirkuit (Gambar 1) dan penempatan komponen.

Setelah menguji rangkaian lengkap menggunakan klip buaya dan papan tempat memotong roti (Gambar 2 & 3), saya langsung menempatkan komponen sementara pada kain kempa, sebelum menjahit dan menyolder (Gambar 4 & 5).

Catatan penting: Pengkabelan termasuk resistor sangat penting karena rangkaian ini membutuhkan pembagi tegangan untuk mencegah arus merusak papan. (Gambar 6)

Langkah terakhir di sini, menguji semuanya (Gambar 7)

Langkah 5: Menyatukan Semuanya

Menyatukan Semuanya
Menyatukan Semuanya
Menyatukan Semuanya
Menyatukan Semuanya
Menyatukan Semuanya
Menyatukan Semuanya

1) Membuat tampilan font felt (Gambar 1 &2)

2) Menjahit Huruf (Gambar 3)

3) Buat kantong untuk gulungan kertas dan struktur untuk printer dan tempat baterai Li-po (Gambar 4 & 5). Semuanya dijahit ke sweter.

4) Buat wajah Grinch yang berfungsi sebagai penutup printer. Sirkuit berlanjut di bawah topi dengan lapisan pita konduktif kain yang terhubung ke pompon. Pompon terbuat dari wol hijau keliling dan serat konduktif. (Gambar 6).

5) Karena catu daya membutuhkan kabel untuk diberi daya, saya membuat penutup yang terbuat dari benang menggunakan perajut Prancis. (Gambar 7 Opsional).

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

Direkomendasikan: