alexa-tracking
Kategori
Kategori
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
LOVE HURTS 2011

Untuk menyambut Valentine, kita bikin sesuatu yang bisa kita persembahkan kepada yg tercinta ....secara elektronika digital tentunya..


siapkan BAHAN-BAHAN



Quote:



rangkaiannya seperti ini :




dirangkai diatas PCB lobang, ato bisa juga tidak memakai PCB lobang ( disesuaikan dengan tempat yg mau di pake, misale kotak hadiah buat cewek agan...dsb)





letakkan LED MATRIX sesuai dengan SOCKET IC yg dibelah tadi



karena ga ada baterai ( punya tempatnya doang) jadi pake adaptor 3 Volt aja




code pemrograman seperti berikut

Code:


#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>
#include <avr/pgmspace.h>
#include <string.h>
#include <avr/eeprom.h>

//Progmem simpannya di FLASH memory

const char love1[] PROGMEM =
{
0b0011110,
0b0100001,
0b1000010,
0b0100001,
0b0011110

};

const char love2[] PROGMEM =
{
0b0001100,
0b0010010,
0b0100100,
0b0010010,
0b0001100

};

const char L[] PROGMEM ={0x7f, 0x7f, 0x40, 0x40, 0x20};
const char O[] PROGMEM ={0x3e, 0x7f, 0x41, 0x41, 0x3e};
const char V[] PROGMEM ={0x3f, 0x7e, 0x40, 0x20, 0x1f};
const char E[] PROGMEM ={0x7f, 0x7f, 0x49, 0x49, 0x41};
const char H[] PROGMEM ={0x7f, 0x7f, 0x08, 0x08, 0x7f};
const char U[] PROGMEM ={0x3f, 0x7f, 0x40, 0x40, 0x3f};
const char R[] PROGMEM ={0x7f, 0x7f, 0x11, 0x29, 0x46};
const char T[] PROGMEM ={0x03, 0x03, 0x7f, 0x03, 0x02};

const char creature[]={0x4e, 0x31, 0x35, 0x31, 0x4e}; //simpan di memory/RAM aja

uint8_t EEMEM tengkorak[5]= {0x1e, 0x75, 0x61, 0x75, 0x1e}; //simpan di EEPROM

uint8_t EEMEM pacman[5]= {0x26, 0x67, 0x67, 0x7f, 0x3e}; //simpan di EEPROM


char dotnya[5],scrolnya[7];



void tulis(uint8_t lama)
{
uint8_t a,b;

for(a=0 ; a<lama ; a++)
{
for(b=0 ; b<5 ; b++)

{

PORTB = ~(1<<b) ;
PORTD = dotnya[b];
_delay_ms(2);


}

}



}


void geser(uint8_t lama)
{
uint8_t a,b;

for(a=0 ; a<11 ; a++)

{

if( a<6)
{
for(b=0 ; b<(5-a) ; b++) dotnya[b]=0x80;
for(b=(5-a); b<5 ;b++) dotnya[b]=scrolnya[b-5+a];

tulis(10);

}
else if (a==6) tulis(lama);

else
{ for(b=0 ; b<11-a ; b++) dotnya[b]=scrolnya[a-5+b];
for(b=(11-a); b<11 ;b++) dotnya[b]=0x80;

tulis(10);
}

}






}

void naik (uint8_t lama)

{
{ uint8_t q,step=0;


while(step!=16)
{
if( step <8)
{
for(q=0 ; q < 5 ; q++) dotnya[q] = scrolnya[q] << (7 - step) ;

tulis(10);
}

else if (step == 8)
{
tulis(lama);

}
else
{
for(q=0 ; q < 5 ; q++) dotnya[q] = scrolnya[q] >> (step - 7) ;

tulis(10);
}
step++;

}

}




}


int main(void)
{
DDRD = 0b1111111; // untuk baris
DDRB = 0b11111; // untuk kolom

PORTD =0; // Set all pins low
PORTB =0b11111; //matikan layar




while(1)
{
// yang ini nulis langsung

strncpy_P(dotnya,love2,5);
tulis(20); // angka didalam maksudnya lama tampil
strncpy_P(dotnya,love1,5);
tulis(40);
strncpy_P(dotnya,love2,5);
tulis(20);
strncpy_P(dotnya,love1,5);
tulis(40);
strncpy_P(dotnya,love2,5);
tulis(20);
strncpy_P(dotnya,love1,5);
tulis(40);

//yang ini pake function geser

strncpy_P(scrolnya,L,5);
geser(50);
strncpy_P(scrolnya,O,5);
geser(50);
strncpy_P(scrolnya,V,5);
geser(50);
strncpy_P(scrolnya,E,5);
geser(50);
strncpy_P(scrolnya,H,5);
geser(50);
strncpy_P(scrolnya,U,5);
geser(50);
strncpy_P(scrolnya,R,5);
geser(50);
strncpy_P(scrolnya,T,5);
geser(50);

//geser ambil dari RAM

strncpy(scrolnya,creature,5); //tanpa _P karena ambil di RAM
naik(50);

//ambil dari eeprom ..mengirit soalnya attiny2313 super pelit

eeprom_read_block((void*)&scrolnya,(const void*)&tengkorak, 5);
naik(50);

eeprom_read_block((void*)&scrolnya,(const void*)&pacman, 5);
geser(50);

}

return 0;
}




ingat, code ini dibuat dalam mode FLASH, RAM, dan EEPROM...
jadi pas download program ke IC, kudu di doenload FLASH dulu baru EEPROM
FLASH extensinya .hex sedangkan isi EEPROM extensinya .eep




hasil akhirnya seperti di video berikut :




SELAMAT MENCOBA
Diubah oleh ahocool
×
GDP Network
© 2019 KASKUS, PT Darta Media Indonesia. All rights reserved
Ikuti KASKUS di