Anda baru saja melakukan pembayaran ke restoran dan menerima sedikit tagihan atau mengeluarkan uang tunai dari ATM dan menerima tanda terima transaksi. Tanda terima ini dicetak menggunakan printer Thermal atau printer tanda terima.
Printer termal adalah solusi yang tersedia dan hemat biaya untuk mencetak tagihan atau kwitansi kecil. Solusi yang mudah diintegrasikan ini tersedia di mana saja. Printer menggunakan kertas termokromik, jenis kertas khusus yang berubah menjadi warna hitam jika terkena panas dalam jumlah tertentu. Printer thermal menggunakan proses pemanasan khusus untuk mencetak di atas kertas ini. Kepala printer dipanaskan dengan listrik khusus untuk menjaga suhu tertentu. Ketika kertas termal melewati kepalanya, lapisan termalnya berubah menjadi hitam di mana kepala dipanaskan.
Pada proyek sebelumnya, kami telah menghubungkan printer Thermal dengan Mikrokontroler PIC. Dalam tutorial ini, kita akan menghubungkan printer termal dengan papan Arduino Uno. Proyek ini akan bekerja seperti ini: -
- Printer akan terhubung dengan Arduino Uno.
- Sakelar taktil sedang dihubungkan dengan papan Arduino untuk memberikan opsi ' push to print' saat ditekan.
- LED Arduino Onboard akan memberitahukan status pencetakan. Ini akan bersinar hanya ketika aktivitas pencetakan sedang berlangsung.
Spesifikasi dan koneksi printer
Kami menggunakan Thermal Printer CSN A1 dari Cashino yang mudah didapat dengan harga yang tidak terlalu mahal.
Jika kita melihat spesifikasinya di situs resminya, kita akan melihat tabel yang memberikan spesifikasi rinci-
Di sisi belakang printer, kita akan melihat koneksi berikut-
Konektor TTL menyediakan koneksi Rx Tx untuk berkomunikasi dengan unit mikrokontroler. Kami juga dapat menggunakan protokol RS232 untuk berkomunikasi dengan printer. Konektor daya untuk menyalakan printer dan tombolnya digunakan untuk tujuan pengujian printer. Saat printer sedang dinyalakan, jika kita menekan tombol self-test printer, akan mencetak lembar dimana spesifikasi dan garis sample akan dicetak. Ini lembar swauji-
Seperti yang bisa kita lihat printer menggunakan 9600 baud rate untuk berkomunikasi dengan unit mikrokontroler. Printer dapat mencetak karakter ASCII. Komunikasinya sangat mudah, kita bisa mencetak apapun hanya dengan menggunakan UART, transmisi string atau character.
Printer bekerja dari 5-9V, kami akan menggunakan catu daya 9V 2A yang dapat memberi daya pada printer dan Arduino Uno. Printer membutuhkan lebih dari 1,5A arus untuk memanaskan kepala printer. Inilah kekurangan dari thermal printer karena membutuhkan arus beban yang sangat besar selama proses pencetakan.
Prasyarat
Untuk membuat proyek berikut, kita membutuhkan hal-hal berikut: -
- Papan tempat memotong roti
- Hubungkan kabel
- Papan Arduino UNO dengan Kabel USB.
- Komputer dengan pengaturan antarmuka Arduino siap dengan Arduino IDE.
- Resistor 10k
- Sakelar taktil
- Thermal Printer CSN A1 dengan gulungan kertas
- Unit catu daya pengenal 9V 2A.
Diagram Sirkuit dan Penjelasannya
Skema untuk mengontrol printer dengan Arduino Uno diberikan di bawah ini:
Rangkaiannya sederhana. Kami menggunakan resistor untuk memberikan status default di seluruh pin input Switch D2. Saat tombol ditekan, D2 akan menjadi HIGH dan kondisi ini digunakan untuk memicu pencetakan. Catu daya tunggal catu daya 9V 2A digunakan untuk menyalakan printer termal dan papan Arduino. Penting untuk memeriksa polaritas catu daya sebelum menghubungkannya ke papan Arduino UNO. Ini memiliki masukan jack barel dengan polaritas positif tengah.
Kami membangun sirkuit di papan tempat memotong roti dan mengujinya.
Program Arduino
Lengkapi kode Arduino dengan Video Demo di akhir proyek. Di sini kami menjelaskan beberapa bagian penting dari kode.
Pada awalnya, kami menyatakan pin untuk tombol tekan (Pin 2) dan LED papan (Pin13)
int led = 13; int SW = 2;
Kemudian beberapa variabel dikonfigurasi untuk penundaan debounce dan status saklar tekan
int is_switch_press = 0; // Untuk mendeteksi sakelar, tekan status int debounce_delay = 300; // Penundaan debounce
Dalam fungsi pengaturan , kami mengkonfigurasi pin LED sebagai output dan sakelar sebagai input. Kami juga mengkonfigurasi UART dengan 9600 baud rate.
void setup () { / * * Fungsi ini digunakan untuk mengatur konfigurasi pin * / pinMode (led, OUTPUT); pinMode (SW, INPUT); Serial.begin (9600); }
Pada main loop, pertama kita periksa apakah saklar ditekan atau tidak, kemudian kita tunggu beberapa saat dan sekali lagi periksa untuk mengidentifikasi bahwa saklar benar-benar ditekan atau tidak, jika saklar masih ditekan bahkan setelah penundaan, kita mencetak kustom garis di UART, jadi di printer Thermal.
Pada awal pencetakan kami mengatur LED onboard tinggi dan setelah mencetak, kami mematikannya dengan membuatnya rendah.
void loop () { is_switch_press = digitalRead (SW); // Membaca status pers Switch if (is_switch_press == HIGH) { delay (debounce_delay); // hentikan penundaan untuk menekan tombol if (is_switch_press == HIGH) { digitalWrite (led, HIGH); Serial.println ("Halo"); penundaan (100); Serial.println ("Ini adalah antarmuka printer Thermal"); Serial.println ("dengan Arduino UNO."); penundaan (100); Serial.println ("Circuitdigest.com"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("---------------------------- \ n \ r"); Serial.println ("Terima Kasih."); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); digitalWrite (led, LOW); } } lain { digitalWrite (led, LOW); } }
Lihat kode Arduino lengkap dan Video Demonstrasi di bawah ini.