Jika Anda sering ke Bank, atau tempat tempat yang menyediakan suatu layanan, pasti adakalanya harus mengantri dengan mengambil nomor antrian, baik itu dengan mesin ataupun manual.
Nah kendalanya adalah jika masih menggunakan nomor antrian manual, seringkali nomor ada yang hilang karena dibawa pulang, sehingga nomornya lompat, jika hanya hilang satu celah masih wajar. Tapi bayangkan jika yang hilang lebih dari 3 celah. Misal 1,2,3 ...kemudian...7,8,9,dst jika ada customer yang datang bersamaan yang pertama mendapat nomor antrian 3, berarti yang setelahnya akan dapat nomor antrian 7.
Biasanya pertimbangan dari pemilik usaha tidak menggunakan mesin antrian karena harga mesin antrian bisa dibilang sangat mahal, sekitar 2Juta lebih.
Disini Saya membuat mesin antrian dengan biaya yang tidak terlalu mahal, hanya sekitar 500Ribu. Dengan harga segitu sudah lumayan bisa digunakan, sehingga tidak perlu memikirkan nomor antrian tidak urut karena hilang.
Saya menggunakan Arduino dan Mini Thermal Printer 58mm, tentu saja kecepatan printnya tidak sehebat yang ada di Bank-bank. Sehingga mesin antrian yang saya buat ini mungkin tidak cocok jika digunakan untuk 2 layanan atau lebih.
Ø Arduino Nano
Ø Thermal Printer 58mm
Ø Servo
Ø DVD player bekas komputer - 2 buah
Ø Adaptor bekas laptor yang kabelnya putus
Ø LM2596 DC to DC Step Down
Ø RTC DS1307
Ø Beberapa PCB polos dan Bekas
Ø Cable
Ø Saklar Push Button
Ø Led
Checking
Sebelum memulai merakit sebaiknya memastikan bahwa Mini Thermal Printer bisa berfungsi dengan adaptor yang akan dipakai, karena jika Daya kurang Thermal Printer tidak akan ngprint dengan jelas atau bahkan tidak bisa untuk ngeprint sama sekali, dan Jika kelebihan daya akan terlalu tebal.
Hubungkan Mini Thermal Printer dengan Sumber daya (Jalur komunikasi TTL, Serial, Atau USB tidak perlu dikonek ke mana-mana) dan tekan tombol test yang ada di bagian belakang, lihat hasilnya apakah sudah sesuai, tidak terlalu tebal atau terlalu tipis. Hasil cetakan ini juga akan mencetak beberapa informasi termasuk Baudrate yang digunakan.
Jika sudah sesuai dicoba untuk berkomunikasi dengan arduino dengan mencoba program printertest dari library adafruit (lihat video). Library bisa diletakkan di Documents/Arduino/libraries atau jika anda biasanya meletakkan di dalam Program Files/Arduino/Libraries bisa juga.
Disini saya menggunakan komunikasi TTL, Baudrate TTL yang digunakan disesuaikan dengan Thermal Printernya, pastikan TX(transmiter) pada Thermal Printer terhubung dengan RX(Receiver) pada Arduino dan begitupun sebaliknya RX pada Thermal Printer terhubung dengan TX Arduino. Jika Baudrate sudah sesuai tetapi tidak mau ngprint coba balik kabel RX dan TX, mungkin terbalik.
Programing And Testing
Jika langkah diatas sudah berhasil saatnya mencoba untuk print bitmap(bmp).Program yang digunakan untuk generate menggunakan LCD Assistant.
Yang perlu diperhatikan adalah byte orientationnya pilih horizontal, karena byte, artinya isinya bit Sehingga akan menggenerate dengan kelipatan 8, maka buatlah gambar dengan bagian horisontal/mendatar(lebar) dengan kelipatan 8(misal yang saya gunakan 400px). Jika tidak, bisa jadi gambar yang muncul di printer tidak akan sesuai. Lebih jelasnya check dari web adafruit.
Built
Jika sudah berhasil atau tidak ingin menggunakan fungsi print bitmap, maka bisa langsung saja memahami dan memodifikasi program mesin antrian yang saya buat.
Schematic.
Contoh isi Program berikut :
#define TX_PIN 3 // Arduino transmit YELLOW WIRE connect to RX printer
#define RX_PIN 2 // Arduino receive GREEN WIRE connect to TX printer
Pin TX dan RX bisa kalian sesuaikan tidak harus di 6 dan 5 sesuai printertest dari adafruit.
myservo.attach(9); // attaches the servo on pin 9 to the servo object
myservo.write(137); // tell servo to go to position in variable 'pos'
delay(1000); // waits for the servo to reach the position
myservo.write(0); // tell servo to go to position in variable 'pos'
delay(500); // waits for the servo to reach the position
myservo.detach(); // detaches the servo
Fungsi diatas adalah menggerakkan Servo untuk memotong kertas supaya tidak perlu merobek, tinggal tarik saja. Servo akan berputar 137 derajat untuk menarik pisau setelah 1000milisecon(1detik) servo kembali lagi keposisi semula/mendorong pisau mundur. Setelah 0.5 detik servo akan di diskonek secara software supaya awet, karena dalam kondisi ini servo tidak ada beban.Download
Arduino And Thermal Printer Ticketing machine with Auto Cutter.
Note : Thermal Printer adalah printer yang tidak menggunakan tinta, toner, ataupun pita. Printer ini hanya bisa ngprint pada kertas khusus yaitu thermal paper. Kertas ini jika diberikan panas misal solder akan muncul seperti tinta hitam, bukan akibat terbakar. Singkatnya kertas ini yang biasanya digunakan untuk bukti transaksi pada mesin ATM.
1 komentar:
Tutorial yg sangat membantu dan menambah ilmu. Kalo saya minta skatch yg sederhana bisa ga Bang...? Jadi hasil printnya cuma berisi logo, nomor antrian sama waktu gitu bisa Bang....? Sebelumnya terima kasih atas ilmu2 yg sebelumnya
Post a Comment