- Beranda
- Komunitas
- Hobby
- Hobby & Community
Hobby Elektronika Digital, MicroController & solder Menyolder gabung sini Yuks

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

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
Proyek2 micro yg sudah jadi
I.N.D.E.X F.O.R.U.M
Biar ngiler, ane kasih contoh hasil karya TS...
.

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

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