BambangSiswoyo
LecturerStaffofElectronicDepartment
UniversityofBrawijaya
Belajararduino:membuatboardsendiriATmega8,168dan328
PostedonJune22,2012byBambangSiswoyo
Isi materi ini ditujukan untuk berbagi ilmu pengetahuan kepada semua pengunjung blog ini.
Silakan digunakan untuk kepentingan proses pembelajaran untuk mencerdaskan bangsa ini dengan tidak lupa menyebutkan sumbernya.
Namun yang harus dihindari adalah: mengambil isi dengan mengakui sebagai haknya, mengambil isi untuk tujuan komersialisasi.
Semua tergantung kepada hati-nurani, jika terjadi saya berkewajiban mengingatkan para plagiator. Biasakan sesuatunya terlahir dari tangan anda, itu menunjukkan bahwa anda ada dan
anda diberi hidayah sebagai ciptaanNya yang paling mulia untuk memberikan manfaat di dunia ini. Biasakanlah memberikan manfaat kepada orang lain, dan jangan membiasakan
Postingkaliinidiperuntukkanbagiyanginginbelajararduinonamunberkantongtipisuntukmembeliboard
arduinoyangrelatifmahal.Ataubagimerekayangmemangsukautakatikperangkatkeraselektronika.
MikrokontrolerATmega8,168dan328memilikijumlahkakiyangsamayaitu28untukkemasanDIP,
mikrokontrolerjenisinibanyakyangmenjualnyarelatiflebihmurahdibandingdenganmikrokontrolerlainnya.
Denganmemilikisalahsatumikrokontrolerdanditambahdengansedikitkomponensebenarnyasudahbisa
berfungsilayaknyaboardarduinoyangasli.
Dalampostinginiberisitutorialcaramembuatarduino.
Membangunrangkaian
Untukmembuatarduinoterdapatbanyakpilihanjenismikrokontroleryangakandigunakan.Namundalam
postinginibisamenggunakanATmega8,168,328.SayamenggunakanATmega328dengankapasitasmemori
programlebihbesaryaitu32KB.Bangunlahdahulurangkaianmikrokontrolerdalamrangkaianberikutini.
Komponenyangharusandasediakanadalah:
http://bsiswoyo.lecture.ub.ac.id/2012/06/belajararduinomembuatboardsendiriatmega8168dan328/ 1/6
10/9/2016 Belajararduino:membuatboardsendiriATmega8,168dan328|BambangSiswoyo
1.IC1:MikrokontrolerATMega8,168,atau328,terserahkepadaandasilakandipilihsalahsatu.
2.Q1:Kristalresonator,8MHzatau16MHz.
3.R1:sebagairesistorpullupuntukresetsebesar1K10K
4.C1danC2sebesar22pF.
TegangansuplyVCCadalah5VDC,jangansampaiterbalikpolaritasnya,kalauterjadimakamikrokontrolerakan
menjadialmarhumaliasterbakar.UntukmengisiprogrambiasanyamenggunakanICSPdenganmenggunakan4
sinyalMISO,MOSI,SCKdanRESET.SayasarankanmenggunakanUSBASPbisadibuatsendiridengan
menggunakanmikrokontrolerATmega8.Tegangansuply5VdapatdisuplydariUSBASPprogrammerdengan
mengambildayadariportUSBkomputer.CaramembuatUSBASPprogrammerdijelaskandalampostinglainnya.
Andadapatmembangunrangkaiandenganmenggunakanbreadboardagarmudahbereksperimendengan
menghubungkansetiapkakikomponenmenggunakankabelengkelsekitar0.51mm.Pilihanlainbisa
mengunakanPCBberlobangdanandabisamenghubungkandengankawatengkeluntuksetiapkakikomponen
dengancaradisolder.
Rangkaianyangdibangunpadabreadboarddiatas,belumadabootloaderarduinonya.Jadiperludiprogram
bootloadersesuaidenganjenismikrokontrolerATmegayangdigunakan.Untukmengisibooloaderinicarayang
palingmudahdenganmenggunakanIDEarduino.Namunandamemerlukanpirantipemrogramyangsesuaidan
dikenalarduino.Andaharusmensetjenispemrogramsesuaidenganyangandagunakan.Carasettingnyapilih
menuTools>programmer>pilihjenisprogrammer.
ProgrammeryangtermurahadalahjenisParallelProgrammeryangmemanfaatkanportparalelpada
komputer.Namunsayangpadalaptopsudahtidakadalagi.KalaupunmenggunakankonverterUSBLPTakan
http://bsiswoyo.lecture.ub.ac.id/2012/06/belajararduinomembuatboardsendiriatmega8168dan328/ 2/6
10/9/2016 Belajararduino:membuatboardsendiriATmega8,168dan328|BambangSiswoyo
menjadilebihribetlagi,lebihbaikmenggunakanUSBaspbisadibelidipasaranumumataudibuatsendiri
menggunakanATmega8.SayamenggunakanUSBaspsebagaipemrogramnya.
YangtakkalahpentingnyaadalahmengenalkoneksipemrogramanpadaUSBaspagarprosespemrograman
berhasil.PadaUSBaspadaduajeniskonektoryaitu6pindan10pin.Sayamenggunakanjenis10pinpadaUSBasp
buatansendiri.
SaluranpemrogramanadalahMISO,MOSIdanSCKdihubungkan
denganMISO,MOSIdanSCKmikrokontrolertarget.SedangkanRES
dihubungkankeRESETmikrokontrolertargetuntukmeresetmenjadi
modeprogram.SedangkanVTGadalahsumbertegangan+5Vdariport
USBkomputer.GNDadalahsaluranbersama.Jaditotalyangharus
dihubungkankemikrokontroleradalah5kabeljikaboardandamemiliki
suplytegangan+5Vsendiri.Jikaboardandtidakmemilikisuply+5VdandiperolehdariUSBkomputer,VTG
dihubungkankeVCCmikrokontroler.Harusdiperhatikanjangankeduaduanya,untukmenghindarikerusakan
komputerkarenategangannyamenjadibentrok.
MengisiBootLoader
BootloadermerupakanprogrampendekyangdiisikankedalamATmega,yangakandieksekusisaat
mikrokontrolerdibericatudaya.Sebenarnyabootloaderinimerupakanfirmwareuntukpemrogramanyang
bekerjasecaraserialRS232.JadicukupmemanfaatkansaluranserialRS232padakomputer,untukselanjutnya
bootloaderakanmenanganipengisianprogrampadamemoriprogramberupaFlashdalamATmega.Sebenarnya
masihadapilihanlainnyauntukmengisi/uploadhasilkompilasiarduinoyaitusalahsatunyadengan
menggunakanUSBasp,sehinggatanpamemerlukanbootloader.
Namunjikainiyangmenjadipilihanandaakandijelaskanbagaimanamengisi(burn)firmwarebootloaderini.
UntukmengisibootloaderhubungkanMISO>MISO,MOSI>MOSI,SCK>SCK,/RES>RESET,GND>
GND,VTG>VCC(jikatargetdisuplydariteganganUSBkomputer).
http://bsiswoyo.lecture.ub.ac.id/2012/06/belajararduinomembuatboardsendiriatmega8168dan328/ 3/6
10/9/2016 Belajararduino:membuatboardsendiriATmega8,168dan328|BambangSiswoyo
SetelahtargettersambungdenganbenarkeprogrammerUSBasp,colokkanUSBasp.Selanjutnyajalankan
arduino,kemudianlakukansebagaiberikut:
1.Setboardyangsesuai:Tools>Board>Duemilanovew/ATmega328(bisayanglainasalATmega328
16MHz)
2.SetProgrammer:Tools>Programmer>USBasp
3.Kirimbootloader:Tools>Burnbootloader
Sayamenggunakanarduinoversi1.0.1.
Menguploadprogram
Untukmengujiapakahbootloaderbekerjadenganbaik,dicobamenguploadprogramdaricontohyangadapada
arduinobernamablink.HubungkanTXkomputer>RXarduino(pin2),RXkomputer>TXarduino(pin3),
RTSkomputer>RESETarduino(pin1).Ingatketigasalurandariserialkomputerharusmemilikileveltegangan
logikaTTL0Vatau5V.KalauandamenggunakanUSBtoserialpadaumumnya,keluarannyamasihdalamtaraf
levelteganganRS232.UntukmengubahlevelteganganRS232keTTLgunakanICMAX232.
http://bsiswoyo.lecture.ub.ac.id/2012/06/belajararduinomembuatboardsendiriatmega8168dan328/ 4/6
10/9/2016 Belajararduino:membuatboardsendiriATmega8,168dan328|BambangSiswoyo
Mudahmudahanbermanfaatbuatseluruhpengunjungblog.
LastupdatedbyBambangSiswoyoatAugust6,2012.
AboutBambangSiswoyo
Iamacollegelecturersince1988atUB(UniversityofBrawijaya)intheelectronicsdepartment.Myexperience:Applicationsof
Microprocessorsystem,ApplicationsofControlSystem,ApplicationsofFieldProgrammableGateArray,Computer
Programmingincomputerinstrumentations.Myhobby:Musicespeciallyplayingthesaxophone,hikingandexploringthe
countryside.
ViewallpostsbyBambangSiswoyo
ThisentrywaspostedinArduino,Elektronika,Mikrokontrolerandtaggedbelajararduino,hobby,indonesian,tutorial.Bookmarkthepermalink.
28ResponsestoBelajararduino:membuatboardsendiriATmega8,168dan328
toyibinelektrosays:
March13,2013at10:55pm
kenapapadasaatburningbootloaderAtmega328PPUmenggunakanUSBASPselalugagalya?
munculketerangan:
avrdude:error:programmenable:targetdoesntanswer.1
avrdude:initializationfailed,rc=1
Doublecheckconnectionsandtryagain,oruseFtooverride
thischeck.
terimakasihpak
Reply
BambangSiswoyosays:
April11,2013at7:12am
pastikankabelprogrammingnyayangbenar.biasanyadiprogrammernyasayabuatslowclock.
Reply
http://bsiswoyo.lecture.ub.ac.id/2012/06/belajararduinomembuatboardsendiriatmega8168dan328/ 5/6
10/9/2016 Belajararduino:membuatboardsendiriATmega8,168dan328|BambangSiswoyo
fajarsays:
April30,2013at7:20pm
sayamautanyapak,untukICATmega8itumasukdalamARDUINOjenisapaya??apaICATmega8bisadipakaidiminsys
ARDUINOUNO???
Reply
BambangSiswoyosays:
July5,2013at9:39am
bisapakpakaiIDEarduinoyangversi0.XX,disituadabootloadernya
Reply
tahanpraharasays:
June25,2013at10:17pm
Untukmengujiapakahbootloaderbekerjadenganbaikmelaluiserialport,apakahandamenggunakanKabelUSBtoserial?
atauserialportdariPC?
klomenggunakankabelUSBtoserialAndamenggunakanmerekapaklobolehtau,soalnyapernahbeberapakalisayabeli
kabelUSBtoserialgakberfungsidenganbaikkecualiyangmerekBAFO
Terimakasih
Reply
BambangSiswoyosays:
July5,2013at9:28am
sayamenggunakandonggleusbtoserialRS232.namundiperlukanuntukmengubahlevelteganganRS232menjadi
digitalmenggunakanICMAX232.KalauandamenggunakanUSBtoSerialTTLtidakdiperlukanmengubahlevel
teganganinikarenatelahkompatibel
Reply
Berylsays:
July11,2013at6:15pm
Pakmautanya,setinganslowclocknyaapasaja?fusebitdkknya.Mohonpencerahannya.Terimakasih
Reply
jumarsays:
July17,2013at5:05pm
massayapunyaboardpanjerino(jiplaanearduinouno)sertapapanpanelukuran1632,nahygsytanyakanmas?sayamau
uploudtulisanberjalan,udahsayacarimuter2dimenuarduinonyakokgakadaya,apasayanyayanglomtaucaranyauploud
tulisannyaapagimana?mohonbantuannyamas?
Reply
BambangSiswoyo
ProudlypoweredbyWordPress.
http://bsiswoyo.lecture.ub.ac.id/2012/06/belajararduinomembuatboardsendiriatmega8168dan328/ 6/6