Anda baru sahaja membuat pembayaran ke restoran dan menerima sedikit wang atau mengeluarkan wang tunai dari ATM dan menerima resit transaksi. Resit ini dicetak menggunakan pencetak termal atau pencetak resit.
Pencetak termal adalah penyelesaian yang mudah didapati dan menjimatkan untuk mencetak bil kecil atau resit. Penyelesaian yang mudah disatukan ini terdapat di mana-mana sahaja. Pencetak menggunakan kertas termokromik, jenis kertas khas yang berubah menjadi warna hitam apabila terkena sejumlah haba. Pencetak termal menggunakan proses pemanasan khas untuk mencetak pada kertas ini. Kepala pencetak dipanaskan dengan elektrik khas untuk mengekalkan suhu tertentu. Apabila kertas terma melepasi kepalanya, lapisan termalnya berubah menjadi hitam di mana kepala dipanaskan.
Dalam projek sebelumnya, kami telah menghubungkan pencetak Thermal dengan PIC Microcontroller. Dalam tutorial ini, kami akan menghubungkan pencetak terma dengan papan Arduino Uno. Projek ini akan berfungsi seperti ini: -
- Pencetak akan dihubungkan dengan Arduino Uno.
- Suis taktil sedang disambungkan dengan papan Arduino untuk memberikan pilihan ' tekan untuk mencetak' ketika ditekan.
- LED Arduino onboard akan memberitahu status percetakan. Ia akan bersinar hanya semasa aktiviti percetakan sedang dijalankan.
Spesifikasi dan sambungan Pencetak
Kami menggunakan Pencetak Termal CSN A1 dari Cashino, yang tersedia dengan mudah dan harganya tidak terlalu tinggi.
Sekiranya kita melihat spesifikasi di laman web rasminya, kita akan melihat jadual yang memberikan spesifikasi terperinci-
Di bahagian belakang pencetak, kita akan melihat sambungan berikut-
Penyambung TTL menyediakan sambungan Rx Tx untuk berkomunikasi dengan unit mikrokontroler. Kami juga dapat menggunakan protokol RS232 untuk berkomunikasi dengan pencetak. Penyambung kuasa adalah untuk menghidupkan pencetak dan butangnya digunakan untuk tujuan pengujian pencetak. Semasa pencetak dihidupkan, jika kita menekan butang ujian diri, pencetak akan mencetak helaian di mana spesifikasi dan garis sampel akan dicetak. Berikut adalah helaian ujian diri-
Seperti yang kita lihat, pencetak menggunakan 9600 baud rate untuk berkomunikasi dengan unit mikrokontroler. Pencetak boleh mencetak watak ASCII. Komunikasi sangat mudah, kami dapat mencetak apa-apa dengan hanya menggunakan UART, menghantar rentetan atau watak.
Pencetak berfungsi dari 5-9V, kami akan menggunakan bekalan kuasa 9V 2A yang dapat memberi kuasa kepada pencetak dan Arduino Uno. Pencetak memerlukan lebih daripada 1.5A arus untuk memanaskan kepala pencetak. Ini adalah kelemahan pencetak termal kerana memerlukan arus beban yang besar semasa proses pencetakan.
Prasyarat
Untuk membuat projek berikut, kami memerlukan perkara berikut: -
- Papan roti
- Sambungkan wayar
- Papan Arduino UNO dengan Kabel USB.
- Komputer dengan persediaan antara muka Arduino siap dengan Arduino IDE.
- Perintang 10k
- Suis taktil
- Pencetak Termal CSN A1 dengan gulungan kertas
- Unit bekalan kuasa berkadar 9V 2A.
Rajah dan Penjelasan Litar
Skema untuk mengawal pencetak dengan Arduino Uno diberikan di bawah:
Litarnya sederhana. Kami menggunakan perintang untuk memberikan keadaan lalai melintasi pin input D2. Apabila butang ditekan, D2 akan menjadi TINGGI dan keadaan ini digunakan untuk mencetuskan pencetakan. Bekalan kuasa tunggal 9V 2A digunakan untuk menyalakan pencetak termal dan papan Arduino. Penting untuk memeriksa kekutuban bekalan kuasa sebelum menyambungkannya ke papan Arduino UNO. Ia mempunyai input jack tong dengan kutub positif tengah
Kami membina litar di papan roti dan mengujinya.
Program Arduino
Kod Arduino yang lengkap dengan Video Demo ada di penghujung projek. Di sini kami menerangkan beberapa bahagian penting kod tersebut.
Pada mulanya, kami menyatakan pin untuk butang tekan (Pin 2) dan LED on board (Pin13)
int led = 13; int SW = 2;
Kemudian beberapa pemboleh ubah dikonfigurasikan untuk penundaan debounce dan menukar status tekan
int is_switch_press = 0; // Untuk mengesan status tekan suis int debounce_delay = 300; // Kelewatan debounce
Dalam fungsi setup , kami mengkonfigurasi pin LED sebagai output dan beralih sebagai input. Kami juga mengkonfigurasi UART dengan kadar baud 9600.
batal setup () { / * * Fungsi ini digunakan untuk menetapkan konfigurasi pin * / pinMode (led, OUTPUT); pinMode (SW, INPUT); Serial.begin (9600); }
Di gelung utama, pertama-tama kita periksa sama ada suis ditekan atau tidak, sekali lagi kita tunggu sebentar dan sekali lagi periksa untuk mengenal pasti bahawa suis benar-benar ditekan atau tidak, jika suis masih ditekan walaupun selepas penundaan, kita mencetak garisan di UART, begitu juga pada pencetak Termal.
Pada permulaan percetakan kami menetapkan LED onboard tinggi dan setelah mencetak, kami mematikannya dengan menjadikannya rendah.
gelung void () { is_switch_press = digitalRead (SW); // Membaca status tekan Switch jika (is_switch_press == TINGGI) { kelewatan (debounce_delay); // kelewatan debounce untuk tekan butang jika (is_switch_press == HIGH) { digitalWrite (dipimpin, TINGGI); Serial.println ("Hello"); kelewatan (100); Serial.println ("Ini adalah antara muka pencetak Termal"); Serial.println ("dengan Arduino UNO."); kelewatan (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 (dipimpin, RENDAH); } } lain { digitalWrite (dipimpin, RENDAH); } }
Lihat kod Arduino lengkap dan Video Demonstrasi di bawah.