Belajararduino:membuatboardsendiriATmega8,168dan328|BambangSiswoyo
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
memanfaatkan orang lain.
Postingkaliinidiperuntukkanbagiyanginginbelajararduinonamunberkantongtipisuntukmembeliboard
arduinoyangrelatifmahal.Ataubagimerekayangmemangsukautakatikperangkatkeraselektronika.
MikrokontrolerATmega8,168dan328memilikijumlahkakiyangsamayaitu28untukkemasanDIP,
mikrokontrolerjenisinibanyakyangmenjualnyarelatiflebihmurahdibandingdenganmikrokontrolerlainnya.
Denganmemilikisalahsatumikrokontrolerdanditambahdengansedikitkomponensebenarnyasudahbisa
berfungsilayaknyaboardarduinoyangasli.
Dalampostinginiberisitutorialcaramembuatarduino.
Membangunrangkaian
Untukmembuatarduinoterdapatbanyakpilihanjenismikrokontroleryangakandigunakan.Namundalam
postinginibisamenggunakanATmega8,168,328.SayamenggunakanATmega328dengankapasitasmemori
programlebihbesaryaitu32KB.Bangunlahdahulurangkaianmikrokontrolerdalamrangkaianberikutini.
http://bsiswoyo.lecture.ub.ac.id/2012/06/belajararduinomembuatboardsendiriatmega8168dan328/
1/7
11/3/2016
Belajararduino:membuatboardsendiriATmega8,168dan328|BambangSiswoyo
Komponenyangharusandasediakanadalah:
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.
http://bsiswoyo.lecture.ub.ac.id/2012/06/belajararduinomembuatboardsendiriatmega8168dan328/
2/7
11/3/2016
Belajararduino:membuatboardsendiriATmega8,168dan328|BambangSiswoyo
Rangkaianyangdibangunpadabreadboarddiatas,belumadabootloaderarduinonya.Jadiperludiprogram
bootloadersesuaidenganjenismikrokontrolerATmegayangdigunakan.Untukmengisibooloaderinicarayang
palingmudahdenganmenggunakanIDEarduino.Namunandamemerlukanpirantipemrogramyangsesuaidan
dikenalarduino.Andaharusmensetjenispemrogramsesuaidenganyangandagunakan.Carasettingnyapilih
menuTools>programmer>pilihjenisprogrammer.
ProgrammeryangtermurahadalahjenisParallelProgrammeryangmemanfaatkanportparalelpada
komputer.Namunsayangpadalaptopsudahtidakadalagi.KalaupunmenggunakankonverterUSBLPTakan
menjadilebihribetlagi,lebihbaikmenggunakanUSBaspbisadibelidipasaranumumataudibuatsendiri
menggunakanATmega8.SayamenggunakanUSBaspsebagaipemrogramnya.
YangtakkalahpentingnyaadalahmengenalkoneksipemrogramanpadaUSBaspagarprosespemrograman
berhasil.PadaUSBaspadaduajeniskonektoryaitu6pindan10pin.Sayamenggunakanjenis10pinpadaUSBasp
buatansendiri.
SaluranpemrogramanadalahMISO,MOSIdanSCKdihubungkandenganMISO,MOSIdanSCKmikrokontroler
target.SedangkanRESdihubungkankeRESETmikrokontrolertargetuntukmeresetmenjadimodeprogram.
SedangkanVTGadalahsumbertegangan+5VdariportUSBkomputer.GNDadalahsaluranbersama.Jaditotal
http://bsiswoyo.lecture.ub.ac.id/2012/06/belajararduinomembuatboardsendiriatmega8168dan328/
3/7
11/3/2016
Belajararduino:membuatboardsendiriATmega8,168dan328|BambangSiswoyo
yangharusdihubungkankemikrokontroleradalah5kabeljikaboard
andamemilikisuplytegangan+5Vsendiri.Jikaboardandtidakmemiliki
suply+5VdandiperolehdariUSBkomputer,VTGdihubungkankeVCC
mikrokontroler.Harusdiperhatikanjangankeduaduanya,untuk
menghindarikerusakankomputerkarenategangannyamenjadibentrok.
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).
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.
http://bsiswoyo.lecture.ub.ac.id/2012/06/belajararduinomembuatboardsendiriatmega8168dan328/
4/7
11/3/2016
Belajararduino:membuatboardsendiriATmega8,168dan328|BambangSiswoyo
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/
5/7
11/3/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
fajarsays:
April30,2013at7:20pm
sayamautanyapak,untukICATmega8itumasukdalamARDUINOjenisapaya??apaICATmega8bisadipakaidiminsys
ARDUINOUNO???
Reply
BambangSiswoyosays:
July5,2013at9:39am
bisapakpakaiIDEarduinoyangversi0.XX,disituadabootloadernya
Reply
http://bsiswoyo.lecture.ub.ac.id/2012/06/belajararduinomembuatboardsendiriatmega8168dan328/
6/7
11/3/2016
Belajararduino:membuatboardsendiriATmega8,168dan328|BambangSiswoyo
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/
7/7