Translate

Mengakses Keyboard PC Dengan Mikrokontroller

Mengakses Keyboard PC Dengan Mikrokontroller


        Pada penjelasan kali ini akan dibahas bagaimana cara mengakses keyboard PC dengan menggunakan mikrokontroller, seperti yang telah diketahui bahwa keyboard merupakan sebuah device yang digunakan untuk memasukkan data berupa angka atau huruf begitu pula dengan alat yang akan dibahas, dengan menggunakan keyboard PC sebagi device input karater atau angka yang akan ditampilkan di layar LCD display mikrokontroller, jadi kita inputkan karakter tulisan apa saja dari keyboard maka pada layar lcd akan tertera tulisan tersebut, kemudian data yang telah dituliskan akan dikirimkan ke komputer, untuk tampilan alatnya seperti Gambar 6.45a berikut
      Jadi alat ini akan menampilkan input dari keyboard ke layar LCD 16x2 yang terdapat pada mikrokontroller, kemudian tulisan yang tertera di layar LCD dikirimkan melalui port serial ke komputer, untuk alat ini menggunakan tombol back space untuk mengirimkan data tulisan yang terdapat pada LCD ke komputer, kemudian layar LCD akan bersih kembali / seperti awal setelah tombol back space ditekan. 


Keyboard PC Port PS/2
      
           Keyboard PC yang digunakan seperti Gambar 6.45b yang mana menggunakan konektor Port PS/2 dan bukan Port USB atau lainnya, keyboard ini menggunakan dua kabel untuk berkomunikasi ke mikrokontroller yaitu clock dan data, untuk clock dihubungkan ke PortD.2 dan untuk jalur data dihubungkan ke PortD.4, untuk lebih jelasnya perhatikan Gambar 6.45d berikut.
            
 
Rangkaian RS232

            Rangkaian RS232 digunakan untuk menyamakan level teganagan mikrokontroller dengan level tegangan yang ada di komputer, sehingga jika level tegangan sudah sama akan bisa berkomunikasi kirim atau terima data dari mikrokontroller ke komputer atau sebaliknya.




 
Program Bascom AVR
$regfile = "m16def.dat"
$crystal = 12000000
$baud = 9600
$hwstack = 32
$swstack = 10
$framesize = 40

Config Keyboard = Pind.2 , Data = Pind.4 , Keydata = Keydata

Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2
Config Lcdpin = Pin , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5
Config Lcd = 16 * 2

Dim I As Byte
Dim X As Integer
Dim Y As Integer
Dim J As Word
Dim K As Integer
Dim S(40) As Word

Cls
Cursor Off

Mulai:


X = 0
Y = 1
J = 1

Do
Do

I = Getatkbd()

Loop Until I <> 0

X = X + 1

Locate Y , X
Lcd Chr(i)

J = J + 1

If J = 1 And Y = 1 Then
S(1) = I
Elseif J = 2 And Y = 1 Then
S(2) = I
Elseif J = 3 And Y = 1 Then
S(3) = I
Elseif J = 4 And Y = 1 Then
S(4) = I
Elseif J = 5 And Y = 1 Then
S(5) = I
Elseif J = 6 And Y = 1 Then
S(6) = I
Elseif J = 7 And Y = 1 Then
S(7) = I
Elseif J = 8 And Y = 1 Then
S(8) = I
Elseif J = 9 And Y = 1 Then
S(9) = I
Elseif J = 10 And Y = 1 Then
S(10) = I
Elseif J = 11 And Y = 1 Then
S(11) = I
Elseif J = 12 And Y = 1 Then
S(12) = I
Elseif J = 13 And Y = 1 Then
S(13) = I
Elseif J = 14 And Y = 1 Then
S(14) = I
Elseif J = 15 And Y = 1 Then
S(15) = I
Elseif J = 16 And Y = 1 Then
S(16) = I
Elseif J = 17 And Y = 1 Then
S(17) = I



Elseif J = 18 And Y = 2 Then
S(18) = I
Elseif J = 19 And Y = 2 Then
S(19) = I
Elseif J = 20 And Y = 2 Then
S(20) = I
Elseif J = 21 And Y = 2 Then
S(21) = I
Elseif J = 22 And Y = 2 Then
S(22) = I
Elseif J = 23 And Y = 2 Then
S(23) = I
Elseif J = 24 And Y = 2 Then
S(24) = I
Elseif J = 25 And Y = 2 Then
S(25) = I
Elseif J = 26 And Y = 2 Then
S(26) = I
Elseif J = 27 And Y = 2 Then
S(27) = I
Elseif J = 28 And Y = 2 Then
S(28) = I
Elseif J = 29 And Y = 2 Then
S(29) = I
Elseif J = 30 And Y = 2 Then
S(30) = I
Elseif J = 31 And Y = 2 Then
S(31) = I
Elseif J = 32 And Y = 2 Then
S(32) = I
Elseif J = 33 And Y = 2 Then
S(33) = I
Elseif J = 34 And Y = 2 Then
S(34) = I
End If

If I = 13 Then       ‘tombol enter
Y = 2
X = 0
End If

If I = 8 Then        ‘tombol back space

Print Chr(s(1)) ; Chr(s(2)) ; Chr(s(3)) ; Chr(s(4)) ; Chr(s(5)) ; Chr(s(6)) ; Chr(s(7)) ; Chr(s(8)) ; Chr(s(9)) ; Chr(s(10)) ; Chr(s(11)) ; Chr(s(12)) ; Chr(s(13)) ; Chr(s(14)) ; Chr(s(15)) ; Chr(s(16)) ; Chr(s(17))
Print Chr(s(18)) ; Chr(s(19)) ; Chr(s(20)) ; Chr(s(21)) ; Chr(s(22)) ; Chr(s(23)) ; Chr(s(24)) ; Chr(s(25)) ; Chr(s(26)) ; Chr(s(27)) ; Chr(s(28)) ; Chr(s(29)) ; Chr(s(30)) ; Chr(s(31)) ; Chr(s(32)) ; Chr(s(33)) ; Chr(s(34))

Cls
Y = 1
X = 0

For K = 1 To 34
S(k) = 0
Next K

Goto Mulai

End If

Loop

End

Keydata:
'normal keys lower case
Data 0 , 0 , 0 , 0 , 0 , 200 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , &H5E , 0
Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0
Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0
Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0
Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0
Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0
Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0
Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0
'shifted keys UPPER case
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 34 , 0
Data 0 , 67 , 88 , 68 , 69 , 0 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0
Data 0 , 78 , 66 , 72 , 71 , 89 , 38 , 0 , 0 , 76 , 77 , 74 , 85 , 47 , 40 , 0
Data 0 , 59 , 75 , 73 , 79 , 61 , 41 , 0 , 0 , 58 , 95 , 76 , 48 , 80 , 63 , 0
Data 0 , 0 , 0 , 0 , 0 , 96 , 0 , 0 , 0 , 0 , 13 , 94 , 0 , 42 , 0 , 0
Data 0 , 62 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 , 0
Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45

 
Cara Penggunaan Alat
            Cara penggunaan alat ini yaitu pertama aktifkan minimum sistem dengan memberikan tegangan 12 volt atau 9 volt dc kemudian layar LCD mikrokontroller akan nyala dan tanpa tulisan, ketikkan tulisan apapun dari keyboard, jika berhasil maka karakter huruf atau angka yang diketikkan akan tampil di layar LCD 16x2, setelah itu koneksikan mikrokontroller dengan komputer dengan rangkaian RS232, buka program Hyperterminal dan masukkan baudrate dan port COMM yang digunakan, setelah selasai maka tekan tombol back space maka tulisan yang tertara pada layar LCD akan ditransfer ke komputer dan akan tampil di monitor Hyperterminal, saat ditekan tombol back space, tulisan yang tertera di LCD akan hilang dan kembali seperti semula, ketikkan tulisan lagi untuk mencoba mengirimkan data tulisan yang berbeda. 



VIDEO HASILNYA







1 comment:

  1. wah, projectnya keren-keren. mas g ada kursus via online ya?

    ReplyDelete