ngoprek printer EPSON TM-T88

berikut printer epson tm-t88

IMG01782-20121213-1700

berikut hasil print dari epson TM-T88 yang dihubungkan ke atmega 16

IMG01783-20121213-1700

hasil print terdiri dari

1. logo perusahaan

2. nama layanan

3. nomor antrian font besar

4. tanggal dan ucapan terima kasih

jika butuh controler printer untuk aplikasi antrian maximal 24 loket dengan menggunakan mikrokontroler silahkan hubungi dhani nugraha (085228292473)

REMOTE YK 002 NEC PROTOCOL

dasar teori

  • Logical ‘0’ – a 562.5µs pulse burst followed by a 562.5µs space, with a total transmit time of 1.125ms
  • Logical ‘1’ – a 562.5µs pulse burst followed by a 1.6875ms space, with a total transmit time of 2.25ms

protocol NEC terdiri dari

  • 9ms leading pulse burst (16 times the pulse burst length used for a logical data bit)
  • a 4.5ms space
  • the 8-bit address for the receiving device
  • the 8-bit logical inverse of the address
  • the 8-bit command
  • the 8-bit logical inverse of the command
  • a final 562.5µs pulse burst to signify the end of message transmission

 

NECMessageFrame

 

remote yang dibeli dari orang bandung pa noor

remoteYK002

 

berikur source code sederhana terhubung ke modul avr trainer 2.0, xtal 11.059200

 

#include <mega16.h>
#include <stdio.h>
#include <delay.h>
// Declare your global variables here
#define LCD_RS_HI PORTC|=(1<<7) //LCD
#define LCD_RS_LO PORTC&=~(1<<7)

#define LCD_EN_HI PORTC|=(1<<6)
#define LCD_EN_LO PORTC&=~(1<<6)

#define LCD_D4_HI PORTC|=(1<<5)
#define LCD_D4_LO PORTC&=~(1<<5)
#define LCD_D5_HI PORTC|=(1<<4)
#define LCD_D5_LO PORTC&=~(1<<4)
#define LCD_D6_HI PORTC|=(1<<3)
#define LCD_D6_LO PORTC&=~(1<<3)
#define LCD_D7_HI PORTC|=(1<<2)
#define LCD_D7_LO PORTC&=~(1<<2)

#define line1 0x00
#define line2 0x40
#define _ALTERNATE_PUTCHAR_
unsigned int data_ir,datatimer;
unsigned char cnt_ir;
unsigned char flag_ir_start;
unsigned char flag_ir_ok;
unsigned char counter_dummy;

unsigned char poutput;
#define LCD 0
#define SERIAL 1
//=================================================================
void enableint0()
{GICR|=(1<<INT0);}
void disableint0()
{GICR&=~(1<<INT0);}
//===============================================
//=====================================================

void LCD_STROBE()
{
LCD_EN_HI;
LCD_EN_LO;
}

void lcd_write(unsigned char datalcd)
{
if(datalcd & 0x80) {LCD_D7_HI;} else {LCD_D7_LO;}
if(datalcd & 0x40) {LCD_D6_HI;} else {LCD_D6_LO;}
if(datalcd & 0x20) {LCD_D5_HI;} else {LCD_D5_LO;}
if(datalcd & 0x10) {LCD_D4_HI;} else {LCD_D4_LO;}
LCD_STROBE();
if(datalcd & 0x08) {LCD_D7_HI;} else {LCD_D7_LO;}
if(datalcd & 0x04) {LCD_D6_HI;} else {LCD_D6_LO;}
if(datalcd & 0x02) {LCD_D5_HI;} else {LCD_D5_LO;}
if(datalcd & 0x01) {LCD_D4_HI;} else {LCD_D4_LO;}
LCD_STROBE();
delay_ms(5);
}

void lcd_clrscr()
{
LCD_RS_LO;
lcd_write(0x1);
delay_ms(2);
}
void lcd_putc(unsigned char c)
{
LCD_RS_HI;
lcd_write(c);
}
void lcd_goto(unsigned char poslcd)
{
LCD_RS_LO;
lcd_write(0x80 + poslcd);
}

 

void init_lcd()
{
LCD_RS_LO;
delay_ms(15);
LCD_D4_HI;
LCD_D5_HI;
LCD_STROBE();
delay_ms(5);

LCD_STROBE();
delay_us(100);
LCD_STROBE();
delay_ms(5);
LCD_D4_LO;
LCD_STROBE();
delay_us(40);
lcd_write(0x28);
lcd_write(0x0C);
lcd_write(0x06);
lcd_write(0x01);
delay_ms(10);
}
//===============================================

// External Interrupt 0 service routine
interrupt [EXT_INT0] void ext_int0_isr(void)
{
disableint0();

TCCR1B=0B00000000;
datatimer=TCNT1;
TCNT1 = 0;
TCCR1B=0B00000101;

if(cnt_ir==0)
{
if((datatimer>130)&&(datatimer<150))
{
flag_ir_start=1;
cnt_ir=1;
}
}

if((flag_ir_start==1)&&(cnt_ir>0))
{
counter_dummy++;
if(counter_dummy>16)
{
flag_ir_start=2;
cnt_ir=1;
}
}

if((flag_ir_start==2)&&(cnt_ir>0))
{
cnt_ir–;
if(datatimer>15)
{
data_ir|=(1<<cnt_ir);
}
else
{
data_ir&=~(1<<cnt_ir);
}

cnt_ir = cnt_ir + 2;
if (cnt_ir > 8)
{
data_ir=data_ir;
flag_ir_start=0;
flag_ir_ok=1;
cnt_ir = 0;

}

}

enableint0();
}
//================================================
void putchar(char c)
{
switch (poutput)
{
case SERIAL: // the output will be directed to USART0
while ((UCSRA & (1<<5))==0);
UDR=c;
break;

case LCD: // the output will be directed to USART1
lcd_putc(c);
break;
};

}
// Declare your global variables here

void main(void)
{
delay_ms(100);

// External Interrupt(s) initialization
DDRD&=~(1<<2); //inisialisai pin int0
PORTD|=(1<<2);
MCUCR=0b00000010; //interupt int0 rising
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 115200
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x05;

DDRC=255;
init_lcd();

enableint0();
// Global enable interrupts
#asm(“sei”)

lcd_clrscr();
flag_ir_start=0;
cnt_ir=0;
counter_dummy=0;
while (1)
{
if(flag_ir_ok==1)
{
disableint0();
flag_ir_start=0;
flag_ir_ok=0;
cnt_ir = 0;
counter_dummy=0;
poutput=SERIAL;
printf(“%u \r\n”,data_ir);
poutput=LCD;
lcd_clrscr();
lcd_goto(line1);
printf(“%u”,data_ir);

enableint0();
}

}
}

 

Terima Pesanan kiosK

KCM menerina pembuatan kiosK untuk sistem antrian, indek kepuasan pelanggan dll

spesifikasi

1. bahan kiosK memakai plat besi 1.2mm untuk body, untuk base memakai plat besi 4mm

2. bentuk kiosK menyesuaikan rancangan atau photo (kalo photo hasilnya mendekati)

3. cat oven

4. LCD toucscreen 17 inch

5. CPU pentium 4

6. include terminal power, kipas 2 buah, tombol external untuk restart dan shutdown komputer

7. proses pengerjaan jika gambar teknik sudah ada 3 minggu

8. proses pengerjaan jika berupa photo sekitar 4 minggu

9. kami juga menjual software untuk aplikasi kios K, ada IKM, SOFTWARE info produk dll

10. harga minimal 15 juta, sudah termasuk lcd touchscreen 17 inch, cpu, tombol external restart, shutdown dan kipas

11. harga belum termasuk aplikasi

12. harga PASTI akan di itung setelah ada rancangan

berikut kiosK yang pernah dibikin


ikm00

hasil kiosK yang sudah diisi aplikasi IKM

ikm01

proses pembuatan

cashing1

 

kiosK dipasang di client

ikm pasang

 

segera hubungi DHANI NUGRAHA (085228292473)

email: dhan_t46@yahoo.com