mengakses Digital Output microcontroller dengan indikator LED dengan Codevision AVR

Untuk percobaan kali ini saya menggunakan beberapa alat antara lain :
1) minimum system dan microcontroller (disini saya menggunakan ATMEGA 8535) untuk membuat minimum system Anda bisa menuju link ini
2) downloader microcontroller AVR (disini saya menggunakan downloader USBASP) untuk membuat downloader USBASP anda bisa menuju link ini
3) software codevision AVR


4) software downloader untuk mentransfer file program ke microcontroller (saya menggunakan avrdude GUI jika Anda tidak punya bisa didownload disini)


5) project board

6) Led dan resistor 470ohm 8 buah (saya menggunakan Resistor pack agar lebih praktis)


7) kabel secukupnya

PERSIAPAN HARDWARE

untuk rangkaian dari percobaan ini ada 2 jenis yaitu rangkaian active low dan rangkaian active high.




untuk perbedaan dari kedua rangkaian ini adalah berlaku kebalikan dimana pada rangkaian active low led akan menyala pada saat logika output dari mikrokontroller bernilai 0 atau "low" dan padam saat logika output dari mikrokontroller bernilai 1 atau "high", sebaliknya pada rangkaian active high led akan menyala pada saat logika output dari mikrokontoler bernilai 1 atau "high" dan padam saat logika output dari mikorkontroller bernilai 0 atau "low".

maksud dari PORTx artinya Anda bisa menghubungkan dengan PORT yang tersedia pada microcontroller AVR yang disediakan (bisa PORT A,B,C,D)

baik langsung saja untuk percobaan ini saya akan menggunakan rangkaian active low dan untuk rangkaian active high anda bisa mencobanya sendiri, dan untuk PORT yang saya gunakan adalah PORTD dapat kita lihat konfigurasi pin pada ATMEGA 8535 untuk PORTD.0 sampai PORTD.7 terletak pada pin 14-21. maka saya hubungkan rangkaian diatas dengan PORTD.



PEMROGRAMAN

Untuk memulai memprogram buka software codevision AVR, kemudian pada menu bar klik File-New

Kemudian Pilih File Type-Project-OK

Setelah itu klik Yes ketika ada MessageBox seperti dibawah ini. (Jika memilih No Anda tidak menggunakan CodeWizardAVR sehingga Anda hanya disediakan halaman kosong dan ini sangat sulit untuk pemula).


Setelah itu pilih bagian AT90,ATtiny,ATmega,FPSLIC pada AVR Chip Type seperti dibawah ini dikarenakan kita memakai type Chip ATMEGA. kemudian klik OK


Kemudian akan keluar window seperti dibawah ini, pada bagian Chip kita pilih Chip yang kita gunakan disini saya menggunakan ATMEGA 8535, kemudian untuk clock juga sesuaikan dengan clock yang kita gunakan disini saya menggunakan clock yang berasal dari crystal 11,0592 Mhz.


Kemudian Untuk memprogram Digital Output kita pilih bagian Port kemudian pilih Port yang akan digunakan disini saya menggunakan PORTD. kemudian rubah Bit 0-7 dari In(default) menjadi Out dengan cara mengekliknya. 

Maksudnya In disini adalah PORT pada bit yang dipilih dijadikan sebagai digital input (dapat membaca tegangan yang terhubung pada jalur PORT tersebut dimana pembacaannya 0V = logika '0' dan 5V = logika '1') 

jika Out maka PORT pada bit yang dipilih dijadikan sebagai digital output(dapat mengeluarkan logika 0/1 dimana logika '0' = mengeluarkan tegangan  0v, logika '1' = mengeluarkan tegangan5 V).

Setelah itu klik Program-Generate Save and Exit, setelah itu Anda akan diminta mengesave 3 buah file yaitu berupa (*.c), (*.prj) dan (*.cwp) , tempatkan pada 1 buah folder dan beri nama yang sama. Disini saya simpan pada folder Project DO dan saya beri nama untuk setiap filenya PDO. Anda bisa beri nama sesuka Anda.


Setelah itu klik Save kemudian bim salabim program akan tergenerate secara otomatis.
Yang perlu diperhatikan pada program disini adalah bagian DDRD nilainya 0xFF(0x maksudnya nilai dalam bilangan hexa) dimana PORTD saya gunakan sebagai output, bandingkan dengan DDRA,DDRB dan DDRC yang nilainya 0x00, mengapa demikian?


Penjelasannya adalah : untuk menjadikan bit PORT menjadi output maka DDR PORT pada bit yang dipilih diberi nilai 1. dimana di awal saya set semua bit pada PORTD menjadi Output sehingga nilainya menjadi 0xFF(dalam biner nilainya 0b11111111). oh ya sedikit penjelasan untuk program disini untuk nilai dengan bilangan hexa awalnya diberi tanda 0x, untuk bilangan biner 0b, untuk desimal tanpa tanda.

Selanjutnya pada menu bar pilih project-compile-OK kemudian pilih project-build-OK.
kemudian kita akan coba transfer program ini ke microcontroller. pertama colokan USBASP ke komputer dan colokan juga ke minimum systemnya


kemudian buka program avrdude GUI kemudian pada bagian configuration atur -c programmer menjadi usbasp, -p device menjadi chip yang kita gunakan contoh ATMEGA 8535 --> m8535(m =mega).

Kemudian pada bagian Location of avrdude pilih file dengan nama avrdude.exe pada folder file usbasp tempat program avr dude GUI yang Anda download melalui blog saya 

Dan pada bagian -C Location of alternate configuration file pilih file dengan nama avrdude.conf pada folder file usbasp tempat program avr dude GUI yang Anda download melalui blog saya


Setingan diatas hanya perlu dilakukan 1 x saja biasanya. untuk pemakaian selanjutnya asalakan folder tidak dipindah software sudah otomatis menyimpan alamatnya.

Setelah itu masih pada software AVRDude GUI pilih bagian Files kemudian centang bagian write dan pilih file yang kita akan downloadkan. file yang akan kita downloadkan berada pada folder dimana kita menyimpan file codevision AVR folder saya bernama "project DO", ddidalm folder Project DO ada folder exe, buka folder tersebut dan pilih file dengan format intel hex atau hex kemudian click execute.



Tet tet tet teret....Hasilnya Led yang sebelumnya mati menyala semua....


Untuk memulai latihan program coba Anda tambahkan pada program #inlcude <delay.h> pada bagian seperti di bawah ini.


kemudian tambahkan program pada bagian while(1) seperti dibawah ini :

Setelah itu jangan lupa untuk mengcompile dan membuildnya setiap kali selesai memprogram. dengan cara F9 untuk compile, shift +F9 untuk build atau klik Project-compile dan Project build.

Kemudian transfer program melalui software avrdude GUI langsung pencet execute saja, karena tadi kita sudah mengatur alamat filenya, jadi secara otomatis avrdude GUI akan membaca file yang paling terupdate.

Setelah itu Perhatikan Apa yang terjadi.....
Dari program diatas dapat diambil beberapa hal :
1) delay_ms(1000) = digunakan untuk jeda 1000 ms atau 1 detik Anda bisa merubah nilainya sesuka Anda
2) untuk mengatur output pada bit tertentu pada suatu PORT dapat digunakan perintah PORTX.n dimana X adalah jenis PORT dan n adalah bitnya. (example PORTD.0 = 1; mengatur PORTD bit 0 mengeluarkan output high)
3) untuk rangkaian active low ini bila diberi logic 0 maka LED menyala. dan berlaku sebaliknya.
dan untuk lainnya Anda dapat mengambil kesimpulan sendiri dan Anda dapat mencoba-coba sendiri.misalkan membuat running LED, blink LED dll.

Sekian dari saya bila ada pertanyaan silahkan comment...

Membuat Downloader AVR USBASP


Baik kali ini saya akan membagikan cara membuat downloader microcontroller avr USBASP, downloader ini dapat digunakan untuk mentransfer program yang kita buat ke dalam microcontroller. Dalam pembuatan microcontroller ini diperlukan beberapa komponen dan beberapa file antara lain :

1) Microcontroller ATMEGA 8 yang telah terisi program downloader (untuk megisikan programnya minimal mempunyai downloader dan minimum system) dan socketnya
2) Untuk driver dan program downloader untuk diisikan ke ATMEGA 8 dapat didownload disini
3) PCB dot atau PCB hasil design yang dapat didownload disini (dapat dibuka dengan software EAGLE)
4) Crystal 12 MHz
5) Capasitor 22pF 2 buah
6) konektor usb printer female beserta kabel connector usb nya


7) resistor 10k,  2k2, 1K, 68ohm atau bisa digantikan dengan 100 ohm bila tidak ada (siapkan masing-masing minimal 2).
8) kapasitor 4,7 uF/16 V dan kapasitor 100nF
9) LED 3mm 3 buah (warnanya merah, kuning, hijau : merah untuk busy, kuning standby, hijau power).
10) Dioda zener 3.6 volt 2 buah
11) jumper header + header 2pin masing-masing 1 buah











12) male amphenol header 10 pin 1buah + cable 10 core dan connector female amphenol header 10 pin yang telah terpasang seperti gambar di bawah.
male amphenol header 10 pin 1 buah
cable 10 core dan connector
female amphenol header 10 pin

Setelah itu untuk rangkaiannya adalah sebagai berikut :


Rangkaian downloader USBASP
PROSEDUR
1. Buat Rangkaian pada PCB seperti rangkaian di atas atau Anda dapat mendownload design yang saya buat disini (buka dengan software EAGLE) lalu mengetching dan menyoldernya. Setelah jadi tanpa ATMEGA 8 hubungkan USBASP dengan komputer melalui port usb bila berhasil maka akan muncul tanda usb not recognize dan LED power menyala.
2. Transfer program USB.hex yang ada pada folder file usbasp yang Anda download (linknya ada diatas ke ATMEGA 8 dengan downloader paralel atau bila komputer Anda tidak memiliki port paralel Anda dapat mendownloadnya dengan usb downloader usbasp yang sudah jadi (pinjam di teman) untuk mikro yang baru beli harus mengatur fuse bitnya dahulu sebelum mengisikan programnya.
Ini saya contohkan mentransfer program dengan downloader paralel dengan software codevision AVR . bila tidak memiliki bisa mendownload programnyasoftware codevision avr ini akan kita gunakan terus untuk memprogram mikro seterusnya.

buka software codevision AVR lalu pada menu bar klik settings-programmer lalu pilih Kanda Systems STK200+/300.lalu OK


lalu setelah itu pada menu bar klik Tools-Chip Programmer lalu klik File-load flash kemudian pilih file USB.Hex yang ada pada folder file usbasp


Setelah itu atur settingan seperti gambar dibawah ini lalu klik program All


3. Setelah itu pasang ATMEGA 8 pada rangkaian yang dibuat kemudian colokan kembali ke komputer maka Anda akan diminta memasukkan driver. drivernya ada pada folder file usbasp.  didalam folder bernama win-driver, jadi tunjuk pada folder file usbasp\win-driver.
4. jika proses berhasil maka akan ada notfikasi sukses, kemudian copot dan pasangkan kembali usb downloader lalu lihat pada control panel-device manager akan ada hardware usbasp seperti gambar dibawah ini.

Sekian dari saya untuk Membuat downloader AVR USBASP bila ada pertanyaan silahkan comment.