KOMUNITAS
Home / FORUM / All / Hobby / Hobby & Community /
Hobby Elektronika Digital, MicroController & solder Menyolder gabung sini Yuks
KASKUS
51
244
https://www.kaskus.co.id/thread/000000000000000002654259/hobby-elektronika-digital-microcontroller-amp-solder-menyolder-gabung-sini-yuks

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
>> SAMBUNGAN ..




5. Pengaturan Tombol

Code:


void tombol(void)
{
if(bit_is_clear(PIND, PIND5) && start == 0)
{
//start timer sekaligus simpan eeprom
eeprom_write_byte(&detikee,detik);
eeprom_write_byte(&menitee,menit);
start=1;
timer1();
_delay_ms(150);
}

if(bit_is_clear(PIND, PIND5) && start == 2)
{
//ini bagian menyimpan sususan potong kabel
eeprom_write_byte(&fusee,fusemem);
detik=eeprom_read_byte(&detikee);
menit=eeprom_read_byte(&menitee);

start=0;

_delay_ms(150);
}
//pemencetan 2 tombol untuk ke menu setting urutan defuse
else if(bit_is_clear(PIND, PIND6) && bit_is_clear(PIND, PIND7) && start == 0)
{
start=2;

_delay_ms(150);
}

else if(bit_is_clear(PIND, PIND6) && start == 0)
{
//tambah menit
menit++;
if(menit == 100) menit=0 ;

_delay_ms(150);
}

else if(bit_is_clear(PIND, PIND7) && start == 0)
{ //tambah detik
detik++;
if(detik == 60) detik=0 ;

_delay_ms(150);
}



else if(bit_is_clear(PIND, PIND6) && start == 2)
{
//ke urutan defuse sebelumnya
if (fusemem == 1) fusemem = 2;
fusemem--;

_delay_ms(150);
}

else if(bit_is_clear(PIND, PIND7) && start == 2)
{
//ke urutan defuse selanjutnya
fusemem++;

if (fusemem > 24) fusemem = 24;

_delay_ms(150);

}

}




6. Pengolah Data Pemotongan kabel

Code:

//jika salah urutan potong
void salah(void)
{ sequence=4;
detik =5;
menit =0;
gagal =1;
timer0();
OCR0=50;
}

void defuse(void)

{

//pembacaan code di array fusecode[]
uint8_t sol1,sol2,sol3,sol4;
//perumusan urutan berdasarkan variabel fusemem
sol1=fusecode[fusemem * 4];
sol2=fusecode[(fusemem * 4) +1];
sol3=fusecode[(fusemem * 4) +2];
sol4=fusecode[(fusemem * 4) +3];

//(fusemem disimpan di eeprom agar tidak terhapus)

//pembacaan PIN sesuai urutan code defuse
if(sequence == 0)
{
if( bit_is_set(PINB, sol1)) sequence =1;
if( bit_is_set(PINB, sol2) || bit_is_set(PINB, sol3) || bit_is_set(PINB, sol4) ) salah();

}

else if (sequence == 1)
{
if( bit_is_set(PINB, sol2)) sequence =2;
if( bit_is_set(PINB, sol3) || bit_is_set(PINB, sol4) ) salah();
}

else if (sequence == 2)
{
if( bit_is_set(PINB, sol3)) sequence =3;
if( bit_is_set(PINB, sol4)) salah();
}

//jika urutan terakhir benar maka akan menghentikan timer
//jika tidak maka akan mentriger dunction salah
else if (sequence == 3 && bit_is_set(PINB, sol4))
{
TCCR1B = 0;
TCCR0 = 0;
defused=1;
}


}





7. PROGRAM UTAMA

Code:


int main(void)

{

//deklarasi PIN input/output

DDRA |= _BV(PA0) | _BV(PA1) | _BV(PA2) | _BV(PA3) ; //scan 7 seg
DDRD &= ~_BV(PD5) & ~_BV(PD6) & ~_BV(PD7) ; // input tombol
DDRB &= ~_BV(PB0) & ~_BV(PB1) & ~_BV(PB2) & ~_BV(PB3) ; // defuser
DDRD |= _BV(PD4); //buzzer dan LED
DDRC |= _BV(PC0) | _BV(PC1) | _BV(PC2) | _BV(PC3) | _BV(PC4) | _BV(PC5) | _BV(PC6) | _BV(PC7) ; // segmen

//inisialisasi variabel awal
start=0;
gagal=0;
kritis=0;
defused=0;
sequence=0;
dor=0;

//baca eeprom
detik=eeprom_read_byte(&detikee);
menit=eeprom_read_byte(&menitee);
fusemem=eeprom_read_byte(&fusee);

//trigger transistor switch sirene (bisa diabaikan jika tidak memakai sirene)
PORTD &= ~_BV(PD4);

sei();
while(1)

{

tombol();

if(start == 1) defuse();


if (dor == 1) boom();
else
{
if(defused == 0) tulis();
else sukses();

}

}


return 0;

}




AYO KALO MAU DIBAHAS..DENGAN SENANG HATI AKAN SAYA KUPAS TUNTAS ..


SELAMAT MENCOBA
×
© 2022 KASKUS, PT Darta Media Indonesia. All rights reserved
Ikuti KASKUS di