ahocool
TS
ahocool
Hobby Elektronika Digital, MicroController & solder Menyolder gabung sini Yuks
DIGITAL ELECTRONICS HOBBY FORUM




Spoiler for apa aja sih yang dibahas?:


Spoiler for "Hobby Microcontroller Itu Mahal ? Kreativitasmu Itu yg Mahal Gan !":




UPDATE 8/JUNI/2014

DUKUN FUSEBIT AKAN MENGHIDUPKAN IC MU YANG MATI !



Selengkapnya dibahas di sini gan !!

CLINOMETER SEDERHANA MEMANFAATKAN ADC



Selengkapnya dibahas di post berikut




Spoiler for Buka Jika Mau Paket Belajar:


Proyek2 micro yg sudah jadi
Quote:



I.N.D.E.X F.O.R.U.M

Quote:




Biar ngiler, ane kasih contoh hasil karya TS...






Spoiler for Contact TS lewat dimari yahh:



.
Diubah oleh ahocool 08-06-2014 04:14
0
1M
8.6K
Berikan Komentar
Tampilkan semua post
ahocool
TS
ahocool
#4327
Quote:



mau diramein ? ayo deh bahas yang gampang2 aja...keypad 3x4





ayo posting coding agan mengenai keypad...bisa cara apa aja...


kalo ane skematiknya pake ini :



ane pull up di Column nya ..., jadi 3 input Col , 4 output Row


listingnya :

Code:


uint8_t tombol(void)
{

uint8_t key=100; //nilai default (tidak ada penekanan)

// scanning row 1
PORTD &= ~_BV(PD3);
PORTD |= _BV(PD4)|_BV(PD5)|_BV(PD6);
_delay_ms(1);


if(bit_is_clear(PIND, PIND0) ) key= 1;
else if(bit_is_clear(PIND, PIND1) ) key= 2;
else if(bit_is_clear(PIND, PIND2)) key= 3;


// scanning row 2
PORTD &= ~_BV(PD4);
PORTD |= _BV(PD3)|_BV(PD5)|_BV(PD6);
_delay_ms(1);

if(bit_is_clear(PIND, PIND0) ) key= 4;
else if(bit_is_clear(PIND, PIND1) ) key= 5;
else if(bit_is_clear(PIND, PIND2) ) key= 6;


// scanning row 3
PORTD &= ~_BV(PD5);
PORTD |= _BV(PD4)|_BV(PD3)|_BV(PD6);
_delay_ms(1);

if(bit_is_clear(PIND, PIND0) ) key= 7;
else if(bit_is_clear(PIND, PIND1) ) key= 8;
else if(bit_is_clear(PIND, PIND2) ) key= 9;


// scanning row 4
PORTD &= ~_BV(PD6);
PORTD |= _BV(PD4)|_BV(PD5)|_BV(PD3);
_delay_ms(1);


if(bit_is_clear(PIND, PIND1) ) key= 0;
else if(bit_is_clear(PIND, PIND2) ) key= 21; //*
else if(bit_is_clear(PIND, PIND0) ) key= 20; //#



return key;



}





bagaimana punya agan ?
0