KEYPAD 3X4 dihubungkan ke ADC ATMEGA8


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

keypadadcberikut 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

keypadadc1nilai resistor dapat diubah ubah sesuai dengan keinginan anda, nu aya dipake, pake wen rek sabaraha nilaina gen, elektronika for heheh ieu. hahahahahah

5 tanggapan untuk “KEYPAD 3X4 dihubungkan ke ADC ATMEGA8”

  1. kuring geus nyobaan, kudu ditambah kapasitor atuh Neng, na inputnya, referensi jeung AVCC oge kudu edan edanan, maneh make batas pleus mineus 5 ? nilai adc ? wah ngajlokna jauh pisan mang….

Tinggalkan komentar