Semua Tentang Belajar Teknologi Digital Dalam Kehidupan Sehari - Hari

  • IC Timer 555 yang Multifungsi

    IC timer 555 adalah sirkuit terpadu (chip) yang digunakan dalam berbagai pembangkit timer, pulsa dan aplikasi osilator. Komponen ini digunakan secara luas, berkat kemudahan dalam penggunaan, harga rendah dan stabilitas yang baik

  • Ayo Migrasi TV Digital

    Kami bantu anda untuk memahami lebih jelas mengenai migrasi tv digital, apa sebabnya dan bagaimana efek terhadap kehidupan. Jasa teknisi juga tersedia dan siap membantu instalasi - setting perangkat - pengaturan antena dan distribusi televisi digital ke kamar kos / hotel

  • Bermain DOT Matrix - LOVEHURT

    Project Sederhana dengan Dot Matrix dan Attiny2313. Bisa menjadi hadiah buat teman atau pacarmu yang ulang tahun dengan tulisan dan animasi yang dapat dibuat sendiri.

  • JAM DIGITAL 6 DIGIT TANPA MICRO FULL CMOS

    Jika anda pencinta IC TTL datau CMOS maka project jam digital ini akan menunjukkan bahwa tidak ada salahnya balik kembali ke dasar elektronika digital , sebab semuanya BISA dibuat dengan teknologi jadul

  • Node Red - Kontrol Industri 4.0

    Teknologi kontrol sudah melampaui ekspektasi semua orang dan dengan kemajuan dunia elektronika, kini semakin leluasa berkreasi melalui Node Red

Selasa, 27 November 2012

Pengganti Max232 menggunakan transistor

Jika membutuhkan konverter UART micro (TTL) ke RS232 dapat menggunakan rangkaian sederhana seperti ini ....




Rangkaian diatas memiliki prinsip merubah sinyal High (5v) menjadi sinyal negatif (-3 ~ -15v) dan sebaliknya . Seperti yang kita ketahui format tegangan RS232 memanfaatkan level tegangan + dan - sesuai dengan gambar berikut :

File:Rs232 oscilloscope trace.svg 


Karena yang kita butuhkan hanya jarak yang pendek, maka dengan memanfaatkan kapasitor 10uF dan dioda 1N4148 dapat diperoleh tegangan negatif. Jika membutuhkan jarak komunikasi serial yang panjang disarankan menggunakan ic yang sudah paten seperti MAX232.

Karena rangkaiannya simple, maka converter ini dapat dimasukkan langsung ke dalam kotak DB9.


Selanjutnya anda bisa mengikuti praktek komunikasi antara micro vs PC seperti  yang dibahas di kaskus dan disini







SELAMAT MENCOBA
Share:

Senin, 26 November 2012

JOULE THIEF : Menghidupkan LED dengan 1 Baterai 1,5V



Ga mungkin ahh ? kan LED biasanya hidup dengan 2 baterai 1,5v  ..


Jangan bingung...rangkai saja seperti gambar skematik berikut



Bahan- bahan mudah didapat, kumparan di peroleh dari bekas lampu hemat energi atau bekas power supply komputer. Kumparan sebelah kanan jumlah lilitannya banyak, sedangkan kumparan sebelah kiri lilitannya kecil. Jadi cara simple nya adalah melilitkan kawat enamel atau kabel tipis diantara lilitan bekas kanibal. Ingat lilitan sebaiknya memiliki inti ferit/ toroida didalamnya. Komponen lainnya cukup mudah didapat, transistor yang digunakan merupakan transistor NPN yang umum dan (BC 327 , 2N2222 dsb)


SELAMAT MENCOBA
Share:

Rabu, 14 November 2012

Solusi Bug Pemrograman di DT-HIQ AVR/51 USB versi AVRISP MKII menggunakan AVRDUDE

Setelah beberapa kali mengalami komplain yang tidak mengenakkan dari programmer jenis ini, akhirnya di website Innovative Electronics mengeluarkan patch AVRDUDE yang terbukti sangat ampuh.

DT-HiQ _AVR_ USB_ ISP..jpg (350×235)


Beberapa jenis bug yang umumnya terjadi adalah seperti berikut :

- AVR STUDIO 4  :  susahnya programming ATTINY (sering gagal ),  ATmega8515 / 16 gagal pada programming EEPROM

- AVR STUDIO 6 :  tidak terdeteksi

- AVRDUDE :  stk500v2_recv_mk2: error in USB receive


Patch AVRDUDE keluaran Innovative dapat di download di sini


Cara menggunakan AVRDUDE :

1. Install driver Jungo (melalui instalasi avrstudio 4) dan libusb sesuai petunjuk di CD. Libusb dapat didownload disini
2. Hubungkan programmer DT-HiQ AVR USB ke rangkaian target dan PC sebagaimana mestinya
3. Extract file patch AVRDUDE hasil download dimana  terdapat  2 file (avrdude.exe & avrdude.conf)
4. Jika sudah siap maka bisa diberikan perintah berikut melalui command prompt

command prompt dibuka dengan mengetik cmd pada menu start => run  atau  untuk win7 pada kotak search diatas tombol start, kemudian arahkan ke folder dimana file avrdude berada


avrdude.exe -P usb -c avrispmkII -p t2313


t2313 artinya menggunakan attiny2313, jika menggunakan ic yg lain bisa memakai m8 , m16, m8535 dan sebagainya (bisa dibuka di avrdude.conf menggunakan wordpad / text editor). Jika IC dan programmer terhubung benar maka akan tampil seperti berikut :



5. Letakkan file hex dan eep yang akan di program pada folder yang sama dengan AVRDUDE. File hex dan EEP pada AVR STUDIO 4 terletak di folder "default" pada folder tempat menyimpan project.

untuk melakukan programming FLASH digunakan perintah seperti contoh  berikut :


avrdude.exe -P usb -c avrispmkII -p m16 -U flash:w:humitemp3_4out.hex


dimana humitemp3_4out.hex merupakan file flash yang akan didownload. ilustrasi jika sukses sebagai berikut : 



Sedangkan untuk programming EEPROM seperti berikut ini :


avrdude.exe -P usb -c avrispmkII -p m16 -U eeprom:w:humitemp3_4out.eep



Ilustrasinya seperti berikut :






Mudah bukan ? SELAMAT MENCOBA


Share:

Senin, 12 November 2012

INTERFACING KEYBOARD ke AVR (ATtiny) & OUTPUT ke DOT MATRIX



- LEVEL : ADVANCE
- BAHAN2 : AVR micro ( ATTINY 2313), KEYBOARD PS-2, DOTMATRIX , R 10K
- DASAR yg PERLU DIKUASAI : Basic I/O, Interupt dan menulis ke DOT MATRIX ( love hurts) silahkan baca disini



Pertama kita perlu mengetahui port keyboard PS2 itu seperti ini :


sedangkan pada input micro , umumnya menggunakan koneksi seperti ini :



dimana input 'clock' masuk ke pin interupt pada microcontroller, sedangkan pin 'data' masuk ke pin biasa dari AVR (bidirect). semua I/O di pull up dengan resistor 10k ke Vcc. Selanjutnya kita bahas dulu format transfer data saat ada penekanan tombol , gambarannya seperti ini :



jadi keyboard dapat mengirim data karakter ke micro, sedangkan micro mengirimkan setting keyboard. sehingga komunikasinya bidirectional

oke, selanjutnya kita perhatikan kode scan/hex dari pencetan tombol keyboard, tabelnya seperti ini :




setelah itu kita susun port ps 2 & port dot matrix dengan susunan I/O seperti ini :


==========potongan script di main(), lengkapi sendiri==============

//clock di interupt 0 (pin 6)

MCUCR |= (1<<ISC01) | (0<<ISC00); // falling edge int 0

GIMSK |= (1<<INT0);



//data keyboard di port PD3 (pin 7)

DDRD &= ~_BV(PD3) ;



//kolom dot matrix

DDRD |= _BV(PD0) | _BV(PD1) | _BV(PD4) | _BV(PD5) | _BV(PD6) ;



//data / baris dot matrix 

DDRB |= _BV(PB0) | _BV(PB1) | _BV(PB2) | _BV(PB3) | _BV(PB4) | _BV(PB5) | _BV(PB6) ;



// output led buat ngecek ada pencetan  keyboard di PA0 (pin 4)

DDRA |= _BV(PA0);














kemudian yg ga kalah pentingnya adalah membikin databse/lookup table untuk scan code keyboard menjadi baris data dot matrix. (harap baca dulu cara menulis di dot matrix)




const char h_A[5] PROGMEM = {0x7e, 0x11, 0x11, 0x11, 0x7e}; //A

const char h_B[5] PROGMEM = {0x7f, 0x49, 0x49, 0x49, 0x36}; //B

const char h_C[5] PROGMEM = {0x3e, 0x41, 0x41, 0x41, 0x22}; //C

const char h_D[5] PROGMEM = {0x7f, 0x41, 0x41, 0x22, 0x1c}; //D

...... dst ....




jadi, tiap ada pemencetan tombol, maka pin clock dari keyboard akan menginterupt ( falling / turun dari 1-0) AVR dengan format seperti gambar diatas, sehingga script pada interuptnya berupa




SIGNAL (SIG_INT0) //routinre interupt INT0

{



if(clk > 1 && clk <10) //clock yg bermanfaat saja yg dibaca 



{ 

//pindahkan data dari PIN DATA keyboard ke memory

key[(clk - 2)] = ((PIND & _BV(PIND3)) >> PIND3);

 //nyalakan led penanda ada data dikirim keyboard

PORTA |= _BV(PA0);



}



clk++;   // tambahkan nilai variable clk tiap interrupt



if(clk == 12) //maksimum clock yg dikirim



{clk=1; 

PORTA &= ~_BV(PA0); //matikan led tanda data kosong



}



}


selanjutnya kita terjemahkan data dari memory array "key" kedalam bentuk hexa yg kemudian diterjemahkan dengan database metode "lookup"




int a;

char hurufnya[5];



//rumus merubah array key ke hexa scan code

 a= (128*key[7]) + (64*key[6]) + (32*key[5]) + (16*key[4]) + (8*key[3]) + (4*key[2]) + (2*key[1]) + key[0] ;





switch (a)        

  {

case 0x1C : strncpy_P(hurufnya,h_A,5); break;

case 0x32 : strncpy_P(hurufnya,h_B,5); break;

case 0x21 : strncpy_P(hurufnya,h_C,5); break;

case 0x23 : strncpy_P(hurufnya,h_D,5); break;

case 0x24 : strncpy_P(hurufnya,h_E,5); break;

case 0x2B : strncpy_P(hurufnya,h_F,5); break;

............dan seterusnya

default : strncpy_P(hurufnya,h_43,5);



  }



// selanjutnya ditampilkan di DOTMATRIX ( tampilkan per kolom)

//kolom 1

    PORTB = 0x80;

    PORTD &= ~_BV(PD0);

    PORTD |=  _BV(PD1) | _BV(PD4) | _BV(PD5) | _BV(PD6) ;

    PORTB = hurufnya[0];    

    _delay_ms(10);  

//kolom2

    PORTB = 0x80;

    PORTD &= ~_BV(PD1);

    PORTD |=  _BV(PD0) | _BV(PD4) | _BV(PD5) | _BV(PD6) ;

    PORTB = hurufnya[1];    

    _delay_ms(10);  

......dst.....


Masalahnya jaman sekarang udah jarang yang jual model PS/2 dan yang umum itu versi USB. Tinggal beli adapter nya aja...ehhh ternyata didalemnya ga ada rangkaian tambahannya loo...bikin aja sendiri



Jangan lupa untuk melakukan pull-up clock dan data dengan resistor 10K ke Vcc





hasilnya kalo udah mahir, seperti ini loooo....




code full bisa didapat disini
Share:

Kontak Penulis



12179018.png (60×60)
+628155737755

Mail : ahocool@gmail.com

Site View

Categories

555 (8) 7 segmen (3) adc (4) amplifier (2) analog (19) android (12) antares (8) arduino (25) artikel (11) attiny (3) attiny2313 (19) audio (5) baterai (5) blog (1) bluetooth (1) chatgpt (2) cmos (2) crypto (2) dasar (46) digital (11) dimmer (5) display (3) esp8266 (25) euro2020 (13) gcc (1) iklan (1) infrared (2) Input Output (3) iot (58) jam (7) jualan (12) kereta api (1) keyboard (1) keypad (3) kios pulsa (2) kit (6) komponen (17) komputer (3) komunikasi (1) kontrol (8) lain-lain (8) lcd (2) led (14) led matrix (6) line tracer (1) lm35 (1) lora (5) MATV (1) memory (1) metal detector (4) microcontroller (70) micropython (6) mikrokontroler (1) mikrokontroller (14) mikrotik (5) modbus (9) mqtt (3) ninmedia (5) ntp (1) paket belajar (19) palang pintu otomatis (1) parabola (88) pcb (2) power (1) praktek (2) project (33) proyek (1) python (7) radio (15) raspberry pi (4) remote (1) revisi (1) rfid (1) robot (1) rpm (2) rs232 (1) script break down (3) sdcard (3) sensor (2) sharing (3) signage (1) sinyal (1) sms (6) software (18) solar (1) solusi (1) tachometer (2) technology (1) teknologi (2) telegram (2) telepon (9) televisi (167) television (28) transistor (2) troubleshoot (3) tulisan (92) tutorial (108) tv digital (6) tvri (2) vu meter (2) vumeter (2) wav player (3) wayang (1) wifi (3)

Arsip Blog

Diskusi


kaskus
Forum Hobby Elektronika