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
wah, projectnya keren-keren. mas g ada kursus via online ya?
ReplyDelete