Keypad 3×4 dihubungkan ke ADC, pada dasarnya adalah push button yang disusun secara matriks kemudian ditambahkan rangkaian pembagi tegangan. Dengan memakai prinsip pembagi tegangan ini, maka jika ada tombol yang ditekan maka akan didapat tegangan keluaran yang berbeda dengan tombol lain. Jika tegangan keluaran antar tombol berbeda maka nilai yang diambil ADC pun akan berbeda sehingga kita dapat memetakan tombol mana yang ditekan.
TAH IEU RANGKAIANNA
berikut program bascomnya
$regfile = “m8def.dat”
$crystal = 8000000
$baud = 9600
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Satu Alias 819
Dua Alias 630
Tiga Alias 493
Empat Alias 786
Lima Alias 584
Enam Alias 446
Tujuh Alias 731
Delapan Alias 511
Sembilan Alias 376
Batal Alias 614
Nol Alias 384
Ok Alias 264
Dim Temphigh As Word
Dim Templow As Word
Dim Dataadc As Word
Declare Sub Ambildatakeypad
Do
Dataadc = Getadc(0)
Call Ambildatakeypad
Loop
Sub Ambildatakeypad
Temphigh = Satu + 5
Templow = Satu – 5
If Dataadc > Templow And Dataadc < Temphigh Then
Print “angka 1”
Goto Ambildatakeypadx
End If
Temphigh = Dua + 5
Templow = Dua – 5
If Dataadc > Templow And Dataadc < Temphigh Then
Print “angka 2”
Goto Ambildatakeypadx
End If
Temphigh = Tiga + 5
Templow = Tiga – 5
If Dataadc > Templow And Dataadc < Temphigh Then
Print “angka 3”
Goto Ambildatakeypadx
End If
Temphigh = Empat + 5
Templow = Empat – 5
If Dataadc > Templow And Dataadc < Temphigh Then
Print “angka 4”
Goto Ambildatakeypadx
End If
Temphigh = Lima + 5
Templow = Lima – 5
If Dataadc > Templow And Dataadc < Temphigh Then
Print “angka 5”
Goto Ambildatakeypadx
End If
Temphigh = Enam + 5
Templow = Enam – 5
If Dataadc > Templow And Dataadc < Temphigh Then
Print “angka 6”
Goto Ambildatakeypadx
End If
Temphigh = Tujuh + 5
Templow = Tujuh – 5
If Dataadc > Templow And Dataadc < Temphigh Then
Print “angka 7”
Goto Ambildatakeypadx
End If
Temphigh = Delapan + 5
Templow = Delapan – 5
If Dataadc > Templow And Dataadc < Temphigh Then
Print “angka 8”
Goto Ambildatakeypadx
End If
Temphigh = Sembilan + 5
Templow = Sembilan – 5
If Dataadc > Templow And Dataadc < Temphigh Then
Print “angka 9”
Goto Ambildatakeypadx
End If
Temphigh = Batal + 5
Templow = Batal – 5
If Dataadc > Templow And Dataadc < Temphigh Then
Print “batal”
Goto Ambildatakeypadx
End If
Temphigh = Nol + 5
Templow = Nol – 5
If Dataadc > Templow And Dataadc < Temphigh Then
Print “angka 0”
Goto Ambildatakeypadx
End If
Temphigh = Ok + 5
Templow = Ok – 5
If Dataadc > Templow And Dataadc < Temphigh Then
Print “oke”
Goto Ambildatakeypadx
End If
Print “tidak ditekan”
Ambildatakeypadx:
End Sub
Hasil simulasi proteus contoh untuk penekanan tombol angka1 dan tombol tidak ditekan
nilai resistor dapat diubah ubah sesuai dengan keinginan anda, nu aya dipake, pake wen rek sabaraha nilaina gen, elektronika for heheh ieu. hahahahahah