ADC Multibutton untuk Tambah PORT? Memang Bisa ya?

Indobot Academy

Sesuai tema kali ini juga yaitu seputar analog/ADC, nah kami akan kasih tips memaksimalkan port pada arduino atau mikrokontrol sejenisnya. Kemudian ADC multibutton apa sih? Belum pernah dengar juga?.

Selanjutnya ADC multibutton adalah rangkaian banyak tombol yang disusun menjadi satu dan dapat dibaca tombol nomor berapa yang sedang ditekan dengan membaca nilai tegangan keluaran dari output rangkaian. Kemudian ada beberapa kelemahan dari rangkaian ini, yaitu tidak bisa difungsikan ditekan secara bersamaan dan terdapat batas maksimal jumlah tombol.

Baca Juga : Pengen buat robot Line Follower ATmega32 dengan Arduino? Di sini bisa lho

Seperti gambar di atas, terdapat juga rangkaian ADC multibutton dengan jumlah tombol 10 buah. Kemudian bagaimana mengetahui nilai keluarannya?

P0 = 0

Kemudian contoh nilai P4:

P4=((10K x 4)/((10K x 4) + 100K)) x 1023

P4=(40K/140K) x 1023

P4=292,2 ~ 292(nilai ADC)

Segera langsung saja pembuktiannya. Selanjutnya Skema nya seperti dibawah ini.

 

Segera dapatkan akses ratusan video tutorial dan pembelajaran dengan registrasi melalui tombol di bawah!

Segera Baca Juga : Hanya tambah resistor jadi Voltmeter Digital dengan Arduino!!

Kemudian Berikutini Sketchnya:

#include <LiquidCrystal.h>
LiquidCrystal lcd(8,9,10,11,12,13);
int nilai[10]={0,93,171,236,292,341,384,421,454,484};
int toleransi=10;

//
int out;

void setup() {
lcd.begin(16,2);
pinMode(A0,INPUT_PULLUP);
}

void loop() {
lcd.setCursor(0,0);
lcd.print(“ADC=”);

//
lcd.print(analogRead(A0));
lcd.print(” “);

//
lcd.setCursor(0,1);
switch(button()){

case 0 : lcd.print(“PB0”);break;
case 1 : lcd.print(“PB1”);break;

//
case 2 : lcd.print(“PB2”);break;
case 3 : lcd.print(“PB3”);break;

//
case 4 : lcd.print(“PB4”);break;
case 5 : lcd.print(“PB5”);break;

//
case 6 : lcd.print(“PB6”);break;
case 7 : lcd.print(“PB7”);break;

//
case 8 : lcd.print(“PB8”);break;
case 9 : lcd.print(“PB9”);break;
default: lcd.print(“—“);break;

}
}

char button(){
int adc=analogRead(A0);
for(out=0;out<11;out++){

if((toleransi>(adc-nilai[out])) && ((-toleransi)<(adc-nilai[out])))break;

}
return out;
}

Mudah juga kan? Selamat Bereksperimen juga

Segera

segera

 

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Satu pemikiran pada “ADC Multibutton untuk Tambah PORT? Memang Bisa ya?”

Tinggalkan komentar

whatsapp whatsapp