Monday, 15 December 2014

Simulasi Keypad Matrix 4x4 dengan Proteus

Sekedar share tugas kuliah nih gan yah mumpung lagi semangat banget ngeblog hahaha.

Untuk menggunakan keypad matrix 4x4 dengan mikrokontroler terlebih dahulu kita harus mengetahui prisnisp kerja dari keypad tersebut

Keypad Matriks adalah tombol-tombol yang disusun secara maktriks (baris x kolom) sehingga dapat mengurangi penggunaan pin input. Sebagai contoh, Keypad Matriks 4×4 cukup menggunakan 8 pin untuk 16 tombol. Hal tersebut dimungkinkan karena rangkaian tombol disusun secara horizontal membentuk baris dan secara vertikal membentuk kolom:

 Namun demikian, sebagai konsekuensi dari penggunaan bersama satu jalur (semisal baris satu (B1)), maka tidak dimungkinkan pengecekkan dua tombol sekaligus dalam satu slot waktu.
Proses pengecekkan dari tombol yang dirangkai secara maktriks adalah dengan teknik scanning, yaitu proses pengecekkan yang dilakukan dengan cara memberikan umpan-data pada satu bagian dan mengecek feedback (umpan-balik) – nya pada bagian yang lain. Dalam hal ini, pemberian umpan-data dilakukan pada bagian baris dan pengecekkan umpan-balik pada bagian kolom. Pada saat pemberian umpan-data pada satu baris, maka baris yang lain harus dalam kondisi inversi-nya. Tombol yang ditekan dapat diketahui dengan melihat asal data dan di kolom mana data tersebut terdeteksi:

Pada contoh di atas, tombol yang ditekan adalah tombol “5”. Seperti terlihat bahwa B2 bernilai nol, sedangkan B1, B3, dan B4 adalah satu. Kemudian dengan mengetahui bahwa asal data dari B2, dan umpan-baliknya terdeteksi pada K2, maka dapat disimpulkan bahwa tombol yang ditekan adalah tombol “5”.
Flowhcart berikut memperlihatkan proses scanning Keypad Matriks 4×4 secara lengkap:

Berikut contoh simulasi rangkaiannya mnggunakan proteus dan programnya menggunakan codevision AVR.
Nah untuk programnya ini dia agan-agan sekalian

//*Created By Ruli Adi Lestari (RCT & TNC)
//insthasa.blogspot.com
//MAN JADDA  WA JADA
//PUNYANA KELOMPOK LCD
#include <mega16.h>
#include <alcd.h>
#include <delay.h>

// Declare your global variables here
int a;
void main(void)
{
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0x00;
PORTC=0x00;
DDRC=0x00;
PORTD=0xFF;
DDRD=0x0F;
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Alphanumeric LCD initialization
// Connections specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTB Bit 0
// RD - PORTB Bit 1
// EN - PORTB Bit 2
// D4 - PORTB Bit 4
// D5 - PORTB Bit 5
// D6 - PORTB Bit 6
// D7 - PORTB Bit 7
// Characters/line: 16
lcd_init(16);
 a=0;

while (1)
{
lcd_gotoxy(2,0);
lcd_putsf("Kelompok LCD");
lcd_gotoxy(0,1);
lcd_putsf("=");       
for (a=0;a<=3;a++)
{  
    if (a==0)
    {
    PORTD=0b11111110;
    } 
    if (a==1)
    {
    PORTD=0b11111101;
    } 
    if (a==2)
    {
    PORTD=0b11111011;
    } 
     if (a==3)
    {
    PORTD=0b11110111;
    } 
// KOlom 1
    if (PORTD.0==0 && PIND.4==0)
    {
    lcd_gotoxy(1,1);
    lcd_putsf("7");
    }
    if (PORTD.1==0 && PIND.4==0)
    {
    lcd_gotoxy(1,1);
    lcd_putsf("4");
    }  
     if (PORTD.2==0 && PIND.4==0)
    {
    lcd_gotoxy(1,1);
    lcd_putsf("1");
    }
     if (PORTD.3==0 && PIND.4==0)
    { 
    lcd_gotoxy(1,1);
    lcd_putsf("               ");
    }     
 //Kolom 2    
     if (PORTD.0==0 && PIND.5==0)
    {
    lcd_gotoxy(1,1);
    lcd_putsf("8");
    }
    if (PORTD.1==0 && PIND.5==0)
    {
    lcd_gotoxy(1,1);
    lcd_putsf("5");
    }  
     if (PORTD.2==0 && PIND.5==0)
    {
    lcd_gotoxy(1,1);
    lcd_putsf("2");
    }
     if (PORTD.3==0 && PIND.5==0)
    {
    lcd_gotoxy(1,1);
    lcd_putsf("0");
    }  
 // Kolom 3
    if (PORTD.0==0 && PIND.6==0)
    {
    lcd_gotoxy(1,1);
    lcd_putsf("9");
    }
    if (PORTD.1==0 && PIND.6==0)
    {
    lcd_gotoxy(1,1);
    lcd_putsf("6");
    }  
     if (PORTD.2==0 && PIND.6==0)
    {
    lcd_gotoxy(1,1);
    lcd_putsf("3");
    }
     if (PORTD.3==0 && PIND.6==0)
    {
    lcd_gotoxy(1,1);
    lcd_putsf("= (Sama Dengan)");
    }  
 //Kolom 4
    if (PORTD.0==0 && PIND.7==0)
    {
    lcd_gotoxy(1,1);
    lcd_putsf("'/. (BAGI)");
    }
    if (PORTD.1==0 && PIND.7==0)
    {
    lcd_gotoxy(1,1);
    lcd_putsf("X (KALI)");
    }  
     if (PORTD.2==0 && PIND.7==0)
    {
    lcd_gotoxy(1,1);
    lcd_putsf("- (KURANG)");
    }
     if (PORTD.3==0 && PIND.7==0)
    {
    lcd_gotoxy(1,1);
    lcd_putsf("+ (Tambah)");
    }     
   delay_us(10);
}

}
}
sumber:
> http://depokinstruments.com/2011/07/27/teori-keypad-matriks-4x4-dan-cara-penggunaannya/.
> Penulis


Ok thanks for you attention.
coment aja kalau ada yang ingin ditanyakan


Simulasi ATMega16 dengan Proteus

Ok langsung aja.

Untuk mensimulasikan Mikrokontroler khususnya ATMega 16 cukup dengan menambahkan komponen ATMega16 ke dalam pilihan komponen yang ingin digunakan dalam simulasi.  Dalam mensimulasikan menggunakan Proteus ATMega16 tidak perlu diberi catu daya karena telah diberikan secara otomatis. Pada tutorial kali ini program rangkaian yang ingin disimulasikan adalah mengendalikan nyala LED yang ada pada PORTA.7-4 dengan menggunanak Codevision AVR untuk membuat programnya. Berikut tutorial singkatnya nih gan.

1. Tekan huruf P pada Proteus
2. Ketik pada bagian Keyword ="ATMega".
3. Pilih ATMega 16. Pada kolom DEVICES anda akan melihat tulisan ATMEGA16
4. Untuk menambahkan komponen tersebut ke board simulasi cukup lakukan klik Kiri pada daerah kerja simulasi setelah mengaktifkan komponen mode pada bagian toolbar.
5. Klik P lagi untuk menambahkan komponen LED. Untuk memudahkan ketik saja agan-agan sekalian komponen LED pada bagian keyword. Ingat gunakan LED yang animated agar dapat disimulasikan.
6. Selanjutnya tinggal menambahkan ground untuk LED. Ground dapat diperoleh dari terminals mode yang ada pada bagian toolbar.
7. Rangkailah seperti pada rangkaian berikut ini. Tapi kalo punya rangkaian sediri bisa lah asal sesuai program.


 8. Tahap selanjutnya adalah memasukkan program ke dalam mikrokontroler. Hanya file bereksistensi .hex yang dapat dimasukkan. Double klik mikrokontroler tersebut akan muncul jendela edit component.
9. Pada bagian Program File tambahkan file .hex dari program yang telah dibuat menggunakan cvavr.
10. Klik OK. Kemudian RUN.

Berikut contoh programnya.

#include <mega16.h>
void main(void)
{
PORTA=0x00;
DDRA=0xFF;
while (1)
      {
      PORTA.4=1;
      PORTA.5=0;
      PORTA.6=1;
      PORTA.7=1;

      }
}

Ini nih gan hasilnya setelah di RUN.



Sekian dari saya semoga bermanfaat untuk agan-agan pembaca sekalian. Kalo ada masalah silahkan coment.

Keep do the BEST

Saturday, 15 November 2014

Mengatasi error number 5200 pada Canon Pixma iP2770


Eror number 5200 printer Canon Pixma iP2770

Pada artikel singkat ini kami akan membahas mengenai Cara mengatasi error number 5200 printer Canon Pixma iP2770. Seerti yang kita ketahui Printer canon ip2770 merupakan salah satu printer jenis printer inkjet dari canon yang banyak peminatnya, karena harganya yang terjangkau, serta kualitas hasil cetaknya pun cukup memadai. Bukan hanya bagus dalam menghasilkan cetakan berupa teks. Hasil print photo pun cukup bagus, meskipun kualitas nya akan menurun berbanding lurus dengan lama atau seringnya penggunaan. Ini bisa dimaklumi bagi sebagian besar printer jenis inkjet.
Cara mengatasi error number 5200 printer Canon Pixma iP2770
Tidak berbeda dengan jenis printer lainnya, Printer jenis ini juga bisa mengalami error, salah satunya adalah error : 5200. Ketika mengalami erro 5200 printer canon ip2770 tidak akan bisa melakukan proses pencetakan. Akan muncul jendela peringatan error 5220, dan diikut dengan tomnbol yang berkedip-kedip, atau istilahnya mengalami blink.

Jika mengalami hal di atas tentu saja akan merepotkan, kamu tidak akan bisa melakukan pencetakan. Namun jangan khawatir karena ada tips atau cara mengatasi error 5200 canon ip2770.  Caranya cukup simple atau sederhan serta mudah untuk dipraktekkan. Tidak memerlukan aplikasi khusus. InsyaAllah tidak perlu juga pergi ke tukang service printer untuk memperbaikinya. Cukup dengan menekan tombol kombinasi antara Power dan Resume. Silahkan simak panduan yang kami dapat dari cyber4rt.com di bawah ini

Cara mengatasi error number 5200 printer Canon iP2770

  1. Berdoa dulu kepada Alloh SWT, mohonlah semoga berhasil mengatasi error number 5200 printer Canon iP2770.  Mohon bacan panduan ini pelan-pelan, baca sampai selesai baru dipraktekkan ke printer kamu.
  2. Kemudian pastikan printer dalam keadaan off atau mati atau tidak hidup, dan posisi kabel power terpasang pada colokan listrik. dan pastikan PLN sedang tidak melakukan pemadaman. (maap lebai dikit).
  3. Kemudian Tombol Resume ditekan selama 3 detik (tetap tahan jangan lepas), lalu tombol POwer ditekan sampai lampu hijau.
  4. Tombol resume dilepas, sedangka tombol power tetap ditahan
  5. Dalam keadaan tombol power masih ditahan, tekan tombol resume 5 kali (lampu led akan menyala bergantian, orange, hijau, seterusnya)
  6. Setelah menekan tombol 5 resume kali, lepas kedua tombol secara bersamaan
  7. Lampu led akan berkedip atau blink sesaat kemudian akan menyala warna hijau
  8. Maka komputer akan mendeteksi printer baru, kamu abaikan saja hal itu dan tunggu sampai proses pendeteksian printer baru selesai.
  9. Setelah dirasa selesai mendeteksi, matikan printer dengan cara matikan tombol power
  10. Tunggu beberapa saat, setelah itu tekan lagi tombol power untuk menghidupkan. InsyaAllah langkah perbaikan printer canon ip2770 yang mengalami erro 5200 telah selesai. Printer pun siap untuk digunakan.
Selamat mencoba, semoga berhasil mengembalikan printer mu seperti semula. Jika berhasil. jangan lupa ucapkan Alhamdulillah… kami mengerti betapa stressnya seseorang ketika printer tidak bisa digunakan.
sumber:

Sunday, 26 October 2014

Contoh Program Menyalakan LCD, Bahasa Assembly dengan Edsim51


Program ini akan menampilkan output dari seven segmen mulai angka 1 sampai huruf F
CATATAN: Logika 0 adalah led menyala dan logika 1 adalah led mati

Ini adalah tampilan halaman depan edsim 51 untuk program ini


Ini adalah tampilan seven segment yang dihasilkan setelah program di running


Ini adalah tampilan led saat di running


BAGIAN1:  SETB P3.3

SETB P3.4 ; Mengijinkan tampilan layar 3

MOV P1, #11111001B ; menampilkan angka 1 pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 2


MOV P1, #10100100B ; menampilkan angka 2 pada layar(addressing mode: immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.4

SETB P3.3 ; Mengijinkan tampilan layar 1

MOV P1, #10110000B ; menampilkan angka 3 pada layar(addressing mode: immediate)

MOV P1, #0FFh ; menghapus layar(addressing mode: immediate)

CLR P3.3  ; Mengijinkan tampilan layar 0

MOV P1, #10011001B ; menampilkan angka 4 pada layar(addressing mode: immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

JMP BAGIAN2 ; melompat ke BAGIAN2

BAGIAN2: ;  

SETB P3.3

SETB P3.4 ; Mengijinkan tampilan layar 3

MOV P1, #10010010B ; menampilkan angka 5 pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 2

MOV P1, #10000010B ; menampilkan angka 6 pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.4

SETB P3.3 ; Mengijinkan tampilan layar 1

MOV P1, #11111000B ; menampilkan angka 7 pada layar(addressing mode : immediate)

MOV P1, #0FFh ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 0

MOV P1, #10000000B ; menampilkan angka 8 pada layar(addressing mode : immediate)

MOV P1, #0FFH ; clear display

JMP BAGIAN3 ; melompat ke BAGIAN3

BAGIAN3:  SETB P3.3

SETB P3.4 ; Mengijinkan tampilan layar 3

MOV P1, #10010000B  ; menampilkan angka 9 pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 2

MOV P1, #10001000B ; menampilkan huruf A pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.4

SETB P3.3 ; Mengijinkan tampilan layar 1

MOV P1, #10000011B ; menampilkan huruf b pada layar(addressing mode : immediate)

MOV P1, #0FFh ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 0

MOV P1, #11000110B ; menampilkan huruf c pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

JMP BAGIAN4 ; melompat ke BAGIAN4

 

BAGIAN4:   

SETB P3.3

SETB P3.4 ; Mengijinkan tampilan layar 3

MOV P1, #10100001b  ; menampilkan huruf d pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 2

MOV P1, #10000110b  ; menampilkan huruf E pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.4

SETB P3.3 ; Mengijinkan tampilan layar 1

MOV P1, #10001110b ; menampilkan huruf F pada layar(addressing mode : immediate)

MOV P1, #0FFh ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 0

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

 JMP BAGIAN1 ; melompat kembali ke BAGIAN1

sumber:

Friday, 17 October 2014

Open Recruitement Komunitas Robotika Fak. Teknik

Selamat datang calon anggota Komunitas Robotika Fak. Teknik Universitas Hasanuddin.

Pada awal berdirinya di tahun 2012 komunitas ini bernama Rocture yang bisa dilihat pada gambar di bawah:
 
Untuk periode ini Komunitas ini akan mempunyai dua bagian pemfokusan yaitu:
1. Game Development
Bergerak di bidang pengembangan game. Dengan menggunakan metode algoritma sederhana.
2. Otomation Development.
Bergerak di bidang otomasi, teknologi tepat guna dan tarutama pada bidang Robotika.

Kedua pemfokusan tersebut akan dibahas lebih lanjut dalam perekrutan.

Bagi teman-teman dan adik-adik yang ingin mendaftar silahkan download formulir di bawah ini dan diisi dengan tulis tangan. Batas terakhir pengumpulan formulir adalah hari Jumat 24 Oktober 2014. Dikumpul pada salah seorang di bawah ini.

Formulir.pdf

Cp. 081241923339 (Patahuddin), 082347798788 (Ruli Adi Lestari) , 08988331136 (Dea).

"Memulai sesuatu memang sangatlah sulit. Bukan mengenai bagaimana tapi memulailah.Ketika kamu berhasil memulai sesuatu dan berhasil mempertahankannya. Yakinlah itu lebih baik dari pada mengeluh dan menyerah sekarang"


Salam OTIMASI