Membuat Rangkaian Printer Antrian Sederhana

Back to Blog

Membuat Rangkaian Printer Antrian Sederhana

Halo temen temen, hari ini saya akan berbagi kepada temen semua bagaimana cara saya membuat sebuah mesin atau alat yang dapat kita gunakan untuk mencetak karcis antrian secara praktis dan murah tanpa menggunakan komputer dalam operasinya. Saya sebut sebagai rangkaian printer antrian sederhana.

Alat printer karcis ini adalah sebuah printer yang saya hubungkan dengan rangkaian mikrokontroller buatan saya, dimana nanti si printer ini dapat mencetak nomor antrian (dalam kasus ini).

Sebenar nya tidak cuma nomor antrian saja yang bisa kalian cetak dengan rangkaian pada artikel printer antrian sederhana ini, hal lainpun bisa. Misalkan mencetak sebuah data online dari internet bahkan tanpa komputer sekalipun.

Alat dan Bahan

Oke untuk dapat membuat alat ini beberapa bahan yang harus kalian siapkan diantara nya adalah :

  1. Minimum sistem duwiarsana.com
  2. Modul RTC
  3. Printer Thermal TTL
  4. Tactile Switch x3
  5. Kabel Jumper (secukupnya)

Untuk minimum sistem mikrokontroller buatan duwiarsana.com kalian bisa lihat seperti pada gambar dibawah ini. Minimum sistem ini dilengkapi dengan header male dan female yang membuat kalian lebih fleksible untuk memilih kabel jumper yang akan digunakan. Selain intu minimum sistem ini dilengkapi dengan IC komunikasi serial yang memungkinkan kamu dapat mengupload program arduino ke minimum sistem ini layaknya arduino uno dan kawan kawan nya.

Nah untuk printer thermal nya, yang kita gunakan disini bukan printer thermal yang harganya jutaan seperti merk epson. Tapi disini kita hanya menggunakan printer thermal TTL yang harganya dibawah 500rbu. Printer thermal TTL berkomunikasi dengan alat yang akan kita buat melalui jalur komunikasi serial. Dengan hanya tegangan 5V 2A saja kita sudah bisa menyalakan printer ini, itu artinya mikrokontroller yang kita pakai bisa kita pararel catu daya nya dengan printer thermal ini.

Nah untuk modul RTC nya berfungsi cuma sebagai pemberi data tanggal dan waktu saja saat mencetak karcis antrian nya. Selain itu sih ga ada hehehe.. Kalau kalian ga isiin juga ga apa apa sih.

Coding Arduino

Nah kalau untuk coding printer antrian nya, jangan lupa sebelum mulai ngoding atau ngopi coding ini kalian lengkapi dulu library arduino yang digunakan pada project ini. Kalian bisa download semua file library nya pada link download yang sudah disediakan.

#include <PString.h>
#include "Adafruit_Thermal.h"
#include <Wire.h>
#include "RTClib.h"

RTC_DS1307 RTC;

#include "SoftwareSerial.h"
#define TX_PIN 7 
#define RX_PIN 6 

SoftwareSerial mySerial(RX_PIN, TX_PIN); 
Adafruit_Thermal printer(&mySerial);   

int hitung=0;

const int buttonPin = 12;
const int buttonPin2 = 11;
const int buttonPin3 = 10;
int buttonState=0;             
int lastButtonState = LOW;  
long lastDebounceTime = 0;  
long debounceDelay = 50;

void setup() {
   Wire.begin();
    RTC.begin();
     if (! RTC.isrunning()) {
    Serial.println("RTC is NOT running!");
    
    RTC.adjust(DateTime(__DATE__, __TIME__));
  }
 pinMode(buttonPin, INPUT_PULLUP);
 pinMode(buttonPin2, INPUT_PULLUP);
 pinMode(buttonPin3, INPUT_PULLUP);

  mySerial.begin(9600); 
  
  printer.begin();        

  
  
}

void loop() {
  
  buttonState = digitalRead(buttonPin);
   if (!buttonState) {     
     printer.wake();       
  printer.setDefault(); 
    hitung+=1;
    char buffer[40];
  PString str(buffer, sizeof(buffer));
  if(hitung<100)
  {
    str.print(0);
    if(hitung<10)
    {
      str.print(0);
    }
  }
  else if(hitung<10)
    {
      str.print(0);
    }
  str.print(hitung);
    
printer.boldOn();
  printer.justify('C');
  
   printer.setSize('M');
  printer.println(F("Nomor Antrian :"));
 
  printer.setSize('L');
  printer.println(str);
   printer.setSize('S');
  
   DateTime now = RTC.now();
  str.begin();
  str.print("tgl.");
  str.print(now.day(), DEC);
  str.print('-');
  str.print(now.month(), DEC);
  str.print('-');
  str.print(now.year(), DEC);
  str.print(' ');
  int z=0;
  z=now.hour(), DEC;
  if(z<10)str.print('0');
  
  str.print(z);
  str.print(':');
  z=now.minute(), DEC;
  if(z<10)str.print('0');
  str.print(now.minute(), DEC);
  str.print(':');
  z=now.second(), DEC;
  if(z<10)str.print('0');
  str.print(now.second(), DEC);
  printer.println(str);
  printer.println("dibuat oleh duwiarsana.com");
    printer.feed(6);
  printer.sleep();      
      
  printer.wake();       
  printer.setDefault(); 
  
  } 
  
  if(!(digitalRead(buttonPin2))){  
 printer.wake();       
  printer.setDefault();    
    hitung-=1;
    char buffer[40];
  PString str(buffer, sizeof(buffer));
  if(hitung<100)
  {
    str.print(0);
    if(hitung<10)
    {
      str.print(0);
    }
  }
  else if(hitung<10)
    {
      str.print(0);
    }
    if(hitung<0)hitung=0;
  str.print(hitung);
   printer.boldOn();
  printer.justify('C');
 
   printer.setSize('M');
  printer.println(F("Nomor Antrian :"));
 
  printer.setSize('L');
  printer.println(str);
   printer.setSize('S');
  DateTime now = RTC.now();
  str.begin();
  str.print("tgl.");
  str.print(now.day(), DEC);
  str.print('-');
  str.print(now.month(), DEC);
  str.print('-');
  str.print(now.year(), DEC);
  str.print(' ');
  int z=0;
  z=now.hour(), DEC;
  if(z<10)str.print('0');
  
  str.print(z);
  str.print(':');
  z=now.minute(), DEC;
  if(z<10)str.print('0');
  str.print(now.minute(), DEC);
  str.print(':');
  z=now.second(), DEC;
  if(z<10)str.print('0');
  str.print(now.second(), DEC);
  printer.println(str);
  printer.println("dibuat oleh duwiarsana.com");
    printer.feed(6);
  printer.sleep();      
  //delay(3000);         
  printer.wake();       
  printer.setDefault(); 
  
  }
   if(!(digitalRead(buttonPin3))){    
    printer.wake();       
  printer.setDefault();  
     printer.justify('C');

   printer.setSize('M');
  printer.println(F("Printer Direset"));
  hitung=0;
     printer.feed(6);
  printer.sleep();      
  //delay(3000);         
  printer.wake();       
  printer.setDefault(); 
     
     
   }
  
}

[ads1]

Kalian bisa edit coding diatas sesuai dengan keperluan, untuk yang mau download coding beserta library nya bisa download pada tombol download berikut.

[button color=”red” size=”medium” link=”http://zipansion.com/2miez” icon=”” target=”false”]Download Coding[/button]

[button color=”orange” size=”medium” link=”http://zipansion.com/2wLii” icon=”” target=”false”]Download library printer[/button]

Untuk yang mau beli komplit alat yang ada di artikel ini langsung aja hubungi whatsapp admin toko di :

WA 085739786669

Kalau kalian ga ngerti dengan arahan pada artikel printer antrian sederhana ini kalian bisa coba tonton video tutorial nya berikut ini semoga bisa membantu dalam pembuatan mesin karcis antrian yang sederhana ini.

Share this post

Komentar anda

Back to Blog