Anda di halaman 1dari 28

BAB I.

Pendahuluan
1.1 Latar Belakang
Ikan yang dipelihara dalam aquariuam harus diperhatikan waktu pemberian
pakannya sehingga ikan tersebut membutuhkan makanan yang teratur dan terus
menerus. Memelihara ikan adalah suatu hobi masyarakat yang sangat di gemari dari
dulu hingga sekarang, karena kemudahan dalam pemeliharaan dan perawatannya
membuat semua orang ingin memelihara ikan apa lagi memelihara ikan dengan harga
jualnya yang tinggi.
Hanya saja ada kesulitan ketika seseorang harus berpergian hingga memakan
waktu yang lama sampai berhari-hari, dan pasti akan berpikir bagaimana dengan ikan-
ikan yang dipeliharanya lalu, bagaimana caranya bisa memberi makan ikan-ikan
tersebut dengan terus menerus atau terjadwal tanpa harus mengganggu aktivitas sehari
hari.
Alat pemberiaan pakan ikan secara otomatis ini sangat di perlukan oleh orang
yang memiliki banyak aktivitas, karena dengan pemberian makanan yang sudah
dirancang secara otomatis orang tersebut tidak perlu khawatir lupa atau harus ada
untuk memberi makan ikan peliharaannya. Alat ini dapat menjaga pola makan ikan
sehingga selalu dalam kondisi prima dan akan memberi dampak yang bagus ketika
dinikmati keindahan dari ikan peliharaannya.
ntuk mendukung perancangan alat ini maka dengan itu alat ini menarik
untuk diteliti atau dicoba pada Microkontroler A!mega"#. $engan alat ini diharapkan
lebih e%isien, sehingga tidak perlu intervensi manusia &operator manual' untuk setiap
kali pemberian pakan pada ikan-ikan pemeliharaan di dalam aquarium. (istem kerja
yang dipakai dalam merancang alat pemberian pakan ikan secara otomatis ini
memerlukan orang untuk meletakkan pakanan ikan yang berupa pellet didalam
penampung pakan yang telah disediakan, apabila pakan ikan akan habis tinggal
ditambahkan saja ke penampung dari penampunglah akan dibuat penjadwalan pakan
ikan otomatis menggunakan mirkokontroler A!mega"#. penjadwalan pemberian
makan dan banyaknya pellet yang di berikan pada ikan akan di inputkan oleh user
melalui computer &aplikasinya' melalui komunikasi serial. )erdasarkan dari latar
belakang di atas, maka kelompok kami memberikan solusi dengan merancang alat
untuk tugas akhir dengan judul *Alat +engendali +emberi Makan Ikan ,tomatis $i
Aquarium )erbasis Mikrokontroler A!Mega"#.
1.1 Perumusan Masalah
+ada laporan kelompok kami, terdapat permasalahan yang akan dibahas adalah
)agaimana cara membuat sebuah alat pemberian makan ikan dengan cara teratur disaat
orang yang memelihara sedang beraktivitas maupun di saat dia lupa memberi makan.
Membuat komunikasi antara -omputer ke mikrokontroler untuk menginputkan jadwal
pemberian dan banyaknya pellet yang diberikan kepada ikan.
1.2 Pembatasan Masalah
". +ewaktuan pada Mikrokontroler menggunakan .!/ $("012.
3. +emberian makan ikan dan banyaknya pellet berdasarkan interval waktu yang di
unputkan user.
0. -omunikasi antara mikrokontroler dengan computer menggunakan komunikasi
serial.
1.3 Tujuan
!ujuan pembuatan laporan akhir ini adalah 4
". Membuat Alat +engendali +emberi Makan Ikan ,tomatis $i Aquarium
)erbasis Mikrokontroler A!Mega"# yang digunakan untuk mengontrol
pemberian pakan ikan secara otomatis yang sudah ditentukan sehingga ikan
yang dipelihara akan teratur pemberian pakan nya.
3. Menyelesaikan projek mata kuliah Mikrokontroler lanjut
1.4 Manfaat
Adapun man%aat yang diperoleh dari laporan akhir ini adalah ntuk memberikan
kemudahan setiap orang untuk memberikan pakan ikan di aquarium, karena secara
otomatis sehingga walaupun orang yang memelihara ikan tersebut sedang banyak
aktivitas, tidak perlu khawatir ikan yang dipelihara kekurangan makanan
BAB II Dasar Teor
2.1 Minimum System ATMega1!
A5. merupakan seri mikrokontroler /M,( 6-bit buatan Atmel,berbasis arsitektur
.I(/ (Reduced Instruction Set Computer). Hampir semua instruksi dieksekusi dalam satu
siklus clock. A5. mempunyai 03 register general-purpose, timer7counter %leksibel
dengan mode compare, interrupt internal dan eksternal, serial A.!, programmable
8atchdog !imer, dan mode power saving, A$/ dan +8M internal.A5. juga
mempunyai In-System Programmable Flash on-chip yang mengijinkan memori program
untuk diprogram ulang dalam sistem menggunakan hubungan serial (+I. A!Mega"#.
A!Mega"# mempunyai throughput mendekati " MI+( per MH9 membuat disainer sistem
untuk mengoptimasi konsumsi daya versus.
2.2 "eal Tme #lo$k %"T# D&13'()

.!/ adalah jenis pewaktu yang bekerja berdasarkan waktu yang sebenarnya atau
dengan kata lain berdasarkan waktu yang ada pada jam kita. Agar dapat ber%ungsi,
pewaktu ini membutuhkan dua parameter utama yang harus ditentukan, yaitu pada
saat mulai &start' dan pada saat berhenti &stop'.
$("012 merupakan salah satu tipe I/ .!/ yang dapat bekerja dalam daya listrik
rendah. $i dalamnya berisi waktu jam dan kalender dalam %ormat )/$. 8aktu jam
dan kalender memberikan in%ormasi detik, menit, jam, hari, tanggal, bulan, dan
tahun. ntuk bagian jam dapat ber%ormat 3: jam atau "3 jam. +endeteksi sumber
listrik juga disediakan untuk mendeteksi kegagalan sumber listrik dan langsung
mengalihkannya ke sumber baterai.
Pin-pin RTC DS!"# beserta pen$elasannya adalah sebagai beri%ut &
1. ;", ;3 < dihubungkan dengan kristal quart9 03,2#6 kH9. .angkaian osilator internal
ini didesain untuk beroperasi dengan sebuah kristal yang mempunyai kapasitansi
beban tertentu &/=' yakni "3,> p?.
2. 5cc, @A$ < sebagai po'er supply utama. 5cc merupakan tegangan input B> 5olt
sedangkan @A$ merupakan ground. -etika tegangan > 5olt digunakan pada batas
normal, .!/ dapat diakses secara penuh dan data dapat ditulis dan dibaca. -etika
5cc kurang dari ",3> C 5bat, proses penulisan dan pembacaan menjadi terhalang.
Aamun demikian, proses penghitungan waktu tetap berjalan. +ada saat 5cc kurang
dari 5bat, .AM dan penghitung waktu terhubung dengan batere 0 5olt.
3. 5bat < tegangan input batere lithium cell 0 5olt. !egangan batere harus berada antara
3,> 5olt sampai 0,> 5olt.
4. (/= &Serial Cloc% Input' < digunakan untuk mensinkronkan perubahan data pada
antarmuka serial.
5. ($A &Serial Data Input()utput' < merupakan pin input7output untuk antarmuka serial
3 kawat. +in ($A membutuhkan resistor pull-up eksternal.
#. (D87,! &S*uare +a,e()utput Dri,er'
2.3 *omunkas I2#
$alam I2# kita hanya membutuhkan dua jalur untuk berkomunikasi antar
perangkat. dua jalur tersebut adalah ($A &Serial Data' dan (/= &Serial Cloc%'. (/=
merupakan jalur yang digunakan untuk mensinkronisasi trans%er data pada jalur I2#,
sedangkan ($A merupakan jalur untuk data. )eberapa perangkat dapat terhubung ke
dalam jalur I2# yang sama dimana (/= dan ($A terhubung ke semua perangkat
tersebut, hanya ada satu perangkat yang mengontrol (/= yaitu perangkat master.
Ealur dari (/= dan ($A ini terhubung dengan pull-up resistor yang besar
resistansinya tidak menjadi masalah &bisa "-, ".6-, :.2-, "1-, :2- atau nilai
diantara range tersebut'.
2.4 Port &eral
@ambar " adalah gambar konektor port serial $) F. +ada komputer I)M +/
Compatibel biasanya kita dapat menemukan dua konektor $) F yang bisanya
dinamakan /,M" dan /,M3.
-ambar ../. 0on1igurasi Serial port D23
!abel -on%igurasi pin dan nama sinyal konektor serial $) F 4
-eterangan mengenai %ungsi saluran .(303 pada konektor $)F adalah sebagai
berikut4
a' Recei,e 4ine signal detect, dengan saluran ini $/G memberitahukan ke $!G bahwa
pada terminal masukkan ada data masuk.
b' Recei,e Data, digunakan $!G menerima data dari $/G.
c' Transmit Data, digunakan $!G mengirimkan data ke $/G.
d' Data Terminal Ready, pada saluran ini $!G memberitahukan kesiapan terminalnya.
e' Signal -round, saluran ground.
%' Ring Indicator, pada saluran ini $/G memberitahukan ke $!G bahwa sebuah stasiun
menghendaki berhubungan dengannya.
g' Clear To Send, dengan saluran ini $/G memberitahukan bahwa $!Gboleh mulai
mengirim data.
h' Re*uest To Send, dengan saluran ini $/G diminta mengirim data oleh $!G.
i' DC5 Ready, sinyal akti% pada saluran ini menunjukkan bahwa $/G sudah siap.
2.+ I# MA,232
$engan adanya perbedaan level tegangan !!= mikrokontroler dengan level
tegangan mikrokontroler dengan level tegangan rs303 , maka port serial
mikrokontroler tidak bisa secara langsung dihubungkan dengan usb to serial
%omputer, oleh sebab itu diperlukan sebuah pengubah level logika dari !!= ke .(-
303.
I/ MA;303 dari MaCim Incoporation adalah I/ pengubah level !!= menjadi .(-
303 atau sebaliknya, yang memiliki sebuah charge pump yang bisa menghasilkan
tegangan B"15 dan -"15 dari tegangan catu daya >5. !egangan-tegangan ini
dihasilkan dengan proses pengisian dan pembuangan empat kapasitor luar yang
dihubungkan dengan rangkaian pengganda tegangan internal yang dimiliki I/
ini.MA;303 mempunyai 3 penerima &.(-303 ke !!=' dan 3 pengirim &!!= ke
.(303', cukup untuk menghubungkan pin !;$ dan .;$ mikrokontroler dengan
modem -omputer
2.! -an Pro$essor
?an processor akan digunakan untuk pelontar pellet, %an ini membutuhkan
tegangan H"3v. kipas akan berputar searah jarum jam. ntuk memenuhi tegangan
yang di butuhkan pada kipas maka di gunakan baterai "3v.
2.( #ode.son A."
/ode5ision A5. adalah compiler untuk bahasa pemrograman / yang nantinya
digunakan untuk memprogram microcontroller. /5A5. adalah so1t'are yang sangat
serbaguna yang menawarkan *6igh Per1ormance 78SI C Compiler9: Integrated
De,elopment 5n,ironment: 7utomatic Program -enerator dan In- System
Programmer untuk keluarga microcontroller A5. A!MG= 1amily.
BAB III. Peran$angan dan "ealsas
3.1 &ensor dan Aktuator
3.1.1 &ensor PI/0
-ami menggunakan 0 buah sensor +IA@ yang digunakan untuk mendeteksi jarak
dari robot ke dinding. (ensor +IA@ digunakan sebagai acuan untuk
mengendalikan gerak motor. +IA@ diletakkan di sebelah kiri, depan, dan kanan.
Eika +IA@ depan dekat dengan dinding depan, misalnya rentang "1cm < ">cm,
maka sensor +IA@ akan menghitung jarak +IA@ kiri. Eika +IA@ kiri mendeteksi
jarak yang memungkinkan untuk belok, misalnya +IA@ kiri lebih dari 31cm,
maka robot akan belok kiri. (ebaliknya, jika +IA@ kiri kurang dari 31cm dan
+IA@ kanan lebih dari 31cm, maka robot akan belok kanan. Aamun jika jarak
+IA@ kiri maupun +IA@ kanan kurang dari 31cm, maka robot akan mundur
beberapa saat kemudian +IA@ kiri dan +IA@ kanan mendeteksi jarak lagi.
(ementara itu, selama robot berjalan lurus, +IA@ kanan dan +IA@ kiri selalu
mendeteksi jarak masing-masing. Agar robot tidak terlalu dekat dengan tembok
samping. Eika +IA@ kiri mendeteksi jarak yang terlalu dekat dengan dinding kiri,
maka robot akan belok kanan sedikit. (ebaliknya, jika +IA@ kanan mendeteksi
jarak yang terlalu dekat dengan dinding kanan, maka robot akan belok kiri
sedikit.
#ara Akses &ensor PI/0
+rinsip kerja sensor +IA@ mula - mula sensor mengirim gelombang ultrasonik
tanpa tambahan komponen apapun. +IA@ hanya akan mengirimkan gelombang
ultrasonik ketika ada pulsa trigger dari mikrokontroller &+ulsa High selama > us'.
@elombang ulrasonik ini akan merambat di udara dengan kecepatan
0::.:3:m7detik &atau "cm setiap 3F.10:us', jika mengenai benda padat
didepannya akan dipantulkan kembali ke sensor. mengenai objek untuk kemudian
terpantul kembali ke +ing. (elama menunggu pantulan, +ing akan menghasilkan
sebuah pulsa. +ulsa ini akan berhenti &low' ketika suara pantulan terdeteksi oleh
+ing. ,leh karena itulah lebar pulsa tersebut dapat merepresentasikan jarak antara
+ing dengan objek.
Misal +,.!A.1 di hubungkan dengan +IA (ignal dari sensor, mula < mula
+,.!A.1 diatur register $$.A.1 menjadi output dan set +,.!A high untuk
men trigger sensor agar bisa mengirimkan gelombang ultrasonik trigger
dimatikan setelah di delay selama > us setelah itu +,.!A kembali di atur
registernya menjadi input lalu di pull up. (elama +IAA berkondisi high &pull up'
maka counter akan di plus sampai ada pantulan dari gelombang ulrasonik yang
awalnya di trigger tadi +IAA akan berkondisi low. Eika +IAA low data dari
counter dikonversi ke dalam jarak dengan rumus cepat rambat bunyi &t I 1.10::3'
7 3.
/ontoh program akses sensor +IA@ 4
float Read_PING()
{
int t = 0;
float Jarak = 0;
DDRA.4=1; PORA.4 = 1; !!""## $et O%t&%t ' ri((er
dela)_%* (10);
PORA.4=0; DDRA.4=0; !!""## dir%+a, -en.adi In&%t
PORA.4 = 1;
/,ile (PINA.4 == 0);
/,ile (PINA.4 == 1)
{
t00;
1
Jarak = (t 2 0.03444) ! 4;
if (Jarak#300 55 Jarak6=3) !!""## 7a8 PING4 394
{
Jarak = 400;
1

dela)_-*(10);
ret%rn(Jarak);
1
-lo1$hart Program 2
3.1.2 &ensor Photodioda
Deklarasi
Variabel Jarak =
0 dan t = 0
Begin
Set PORTA.4
en!adi "#t$#t
Set PORTA.4 = 1
%trigger P&' signal
P&'()
Set PORTA.4 en!adi
in$#t
A$aka*
PORTA.4
+asi* l",
Register PORTA.4 =
1 %$#ll#$)
A$aka*
PORTA.4 = 1
-"#nter = ."#nter /
1
0it#ng Jarak 1
Jarak = %t 2 0.03442) 3
24
A
A
A$aka* Jarak
5= 3 ata# Jarak
6= 300
Jarak =
400
Dela7 selaa 10
s
8nd
O#t$#t
Jarak
(ensor photodioda digunakan untuk mendeteksi garis putih yang
mengindikasikan letak api. =etak api dikelilingi oleh garis putih. (ehingga, jika
robot menemukan garis putih, maka robot sudah menemukan letak api.
#ara Akses &ensor Photodioda
/ara mengakses sensor photodioda &(ensor @aris' dengan menggunakan Interupt.
+in data dari rangkaian Photodioda langsung di hubungkan ke +,.! mikro
&interupt'. Eika ada perubahan tegangan dari high ke low maka akan terjadi
interrupt &menggunakan mode 1alling edge', jika terjadi interrupt maka
diasumsikan robot telah menemukan api.
/ontoh program akses Photodioda 4
7! :8ternal Interr%&t 0 *er;i<e ro%tine
interr%&t =:>_IN0? ;oid e8t_int0_i*r(;oid)
{
!! Pla<e )o%r <ode ,ere
@anan_Re-();
@iri_Re-();
$er;o(A0);
dela)_-*(B00);
$er;o(4B);
dela)_-*(B00);
$er;o(0);
dela)_-*(B00);
$er;o("4B);
dela)_-*(B00);
$er;o("A0);
dela)_-*(B00);
1
3.1.3 Motor D#
Motor $/ digunakan untuk menggerakkan roda robot. -ami menggunakan 3
motor, " motor untuk roda kanan dan " motor lagi untuk roda kiri. ntuk
menggerakkan motor $/ dibutuhkan motor dri,er. Motor dri,er bertugas
mengendalikan gerak motor. (ehingga motor bisa bergerak maju, mundur, dan
berhenti. Motor dri,er yang kami gunakan adalah GM( >A H-2ridge sebanyak 3
untuk masing-masing motor. GM( >A H-2ridge mampu menggerakkan motor
yang mempunyai daya maksimal >A.
GM( >A 6-2ridge merupakan dri,er 6-2ridge yang didesain untuk
menghasilkan dri,e 3 arah dengan arus kontinyu sampai dengan >A pada
tegangan > 5olt sampai :1 5olt. Modul ini dilengkapi dengan rangkaian sensor
arus beban yang dapat digunakan sebagai umpan balik ke pengendali. Modul ini
mampu men-dri,e beban-beban indukti% seperti misalnya relay, solenoida, motor
$/, motor stepper, dan berbagai macam beban lainnya.
#ara Akses Motor D#
Jang perlu diperhatikan dalam mengakses motor $/ melalui motor driver yang
pertama adalah po'er untuk motor dri,er. !egangan po'er untuk GM( >A 6-
2ridge adalah sebesar >5 dari microcontroller.
Jang perlu diperhatikan kedua adalah po'er untuk motor $/. Motor $/ kami
membutuhkan tegangan "35, sehingga input po'er pada motor driver GM( >A
6-2ridge kami sebesar "35. !egangan "35 tersebut akan dikendalikan oleh
motor dri,er sehingga yang dikeluarkan untuk menjalankan motor sesuai dengan
instruksi dari micro.
Jang perlu diperhatikan selanjutnya adalah direction untuk menentukan arah
pergerakan motor $/, apakah /8 atau //8. )erikut tabel logika untuk
mengatur arah pergerakan motor $/ 4
=ogika Gnabled Direction
1 1 ; Stop
1 " " /8 &Maju'
" 1 " //8 &Mundur'
" " ; 2rea%
ntuk mengendalikan kecepatan motor, user dapat memberikan input +8M pada
register timer ".
/ontoh program akses motor melalui motor driver 4
;oid @anan_*to&(%n*i(ned int &/-)
{
PORC.0 = 0;
PORC.1 = 0;
1

;oid @anan_-a.%(%n*i(ned int &/-)
{
PORC.0 = 0;
PORC.1 = 1;
ODR1A = &/-;
1

;oid @anan_-%nd%r(%n*i(ned int &/-)
{
PORC.0 = 1;
PORC.1 = 0;
ODR1A = &/-;
1
;oid @anan_re-()
{
PORC.0 = 1;
PORC.1 = 1;
1
3.1.4 Motor &er3o
Motor (ervo digunakan untuk menggerakkan %okus angin dari motor kipas yang
sedang berputar, sehingga api dapat dimatikan selama berada di sudut maksimal
servo yaitu "61
1
.
#ara Akses Motor &er3o
ntuk dapat mengontrol motor servo perlu diberikan pulsa high dan pulsa lo'
dengan lebar tertentu. ?rekuensi yang diperlukan adalah >1 H9, +ulsa dapat
dihasilkan dari port I7, biasa pada mikrokontroler. Aamun jika ingin hasil yang
lebih akurat bisa menggunakan metode Pulse +idth ;odulation &+8M'. $engan
mode +hase /orrect +8M topKI/." pada wi9ard dan %rekuensi clock "111,11
-h9. $engan demikian dapat ditentukan kenaikan counter pada timer" dapat
dihitung t<(1re* yaitu "7 "111 K 1.11"s . periode pwm yang ingin dihasilkan
adalah 31 ms, karena menggunakan mode Phase Correct P+; maka periode
adalah dua kali lipat dari kenaikan counter nya yaitu "1 ms. waktu yang
diinginkan dari periode timer yaitu "1ms7"C"1-0 K "1111. Ailai dari periode ini
akan dimasukkan ke register I/.". Eika di konversi menjadi heCa 1C32"1.
ntuk mengatur sudut putaran servo kita perlu menghitung rentang nilai ,/."A
yang perlu diberikan ke motor servo agar dapat bergerak dari sudut 1o hingga
"61o. (ama seperti cara sebelumnya untuk menghitung nilai top dari counter
timer, maka nilai ,/."A diperoleh dari pembagian pulse on yang diperlukan
dengan periode timer. ntuk sudut 1
o
diperlukan pulsa on dengan lebar " ms
sesuai datasheet motor servo seperti contoh gambar dibawah ini.
$engan membaginya dengan dua karena mode +hase /orrect +8M maka
menjadi 1,> ms. (ehingga 1,> ms 7 1,11"s K >11. (edangkan untuk sudut F1
o
,
pulsa yang perlu diberikan adalah 3 ms. $iperoleh nilai integer untuk ,/."A
adalah 1,2> ms 7 1,11" s K 2>1. untuk sudut "61
o
, pulsa yang perlu diberikan
adalah 3 ms. $iperoleh nilai integer untuk ,/."A adalah " ms 7 1,11" s K "111.
$ari perhitungan tersebut dibuat %ungsi seperti dibawah ini, dengan persamaan
2>1 < &degreeI3>17F1'.
/ontoh program akses motor servo 4
;oid *er;o(int de(ree)
{
int 8 = EB0"1F024B0!A0; !!"# %nt%k 1F0 dera.at
ODR1A = 8;
1
3.1.+ Motor *4as Angn
ntuk menggerakkan sebuah kipas angin, kami menggunakan sebuah motor $/
yang biasa dipakai untuk motor pada mobil tamiya. (aat photodioda menemukan
garis putih, maka robot akan berhenti. -emudian robot akan menggerakkan servo
sekaligus mengakti%kan motor kipas.
#ara akses motor k4as angn 2
-utub negati% dan positi% pada motor kipas angin dihubungkan ke transistor
!I+0". -utub positi% kipas dihubungkan dengan tegangan >5.
/ontoh program akses kipas angin 4
;oid -ain()
{
/,ile(1)
{
POR:.0=1; !! -otor ki&a* ON
1
1
3.2 &kematk 5 La6out
@ambar ". (kematik ;inimum System A!Mega"36
@ambar 3. (kematik ;otor Dri,er GM( >A 6-2ridge
3.3 Alur *erja "obot
Mula-mula robot berjalan lurus mencari garis putih. Apabila jarak depan kurang dari
31cm, maka robot menentukan arah untuk belok. Eika kanan atau kiri tidak
memungkinkan robot untuk belok, maka robot akan mundur. Hal tersebut diulangi
hingga photodioda pada robot menemukan warna putih. (etelah menemukan warna
putih, maka robot berhenti. -emudian motor kipas menyalakan kipas, lalu servo
diputar :>
o
berturut-turut hingga mencapai "61
o
berulang-ulang sehingga bisa
memadamkan api.
Blok Dagram &stem
-lo1$hart Dagram "obot
B8(&'
9:R:S;A'
POS&S&
D8'(A'
D&'D&'(
<A99
=O99O<8R
A+A-AH
($AH =.(
!GM),-L
A
B
8'D
S8'SOR
(AR&S
+8'D8T
8;S&
(AR&S
P:T&0 >
A
B
(G.5, B
-I+A(
M,!,.
AJA=A
Allo$aton Lst
+,.!A.1 IA7,! +IA@ "
+,.!A." IA7,! +IA@ 3
+,.!A.3 IA7,! +IA@ 0
+,.!).1 ,! $I. -AAAA B
+,.!)." ,! $I. -AAAA -
+,.!).3 ,! $I. -I.I B
+,.!).0 ,! $I. -I.I -
+,.!).: &,/."A' ,!& +8M -AAAA' M,!,. -AAAA
+,.!).> &,/.")' ,!& +8M -I.I' M,!,. -I.I
+,.!G.> IA (GA(,. @A.I( "
+,.!G.# IA (GA(,. @A.I( 3
+,.!G.0 ,!&,/.0A' (G.5,
+,.!G." ,! M,!,. -I+A(
BAB I.. Pengujan
4.1 Pengujan Microcontroller
4.1.1 Tujuan Pengujan
+engujian ;inimum system bertujuan mengetahui apakah ;icrocontroller dapat
melakukan proses signature, do'nloader.
4.1.2 Alat 6ang Dbutuhkan
". .angkaian ;inimum sistem microcontroler.
3. -omputer.
0. Do'nloader I(+
=. Po'er supply.
4.1.3 Prosedur Pengujan
". Akti%kan Po'er supply dan hubungkan ke ;inimum system.
3. (elanjutnya jalankan program Code>ision 7>R.
3. (ebelum proses do'nloading, lakukan Read Chip Signature melalui
Code>ision 7>R terlebih dahulu. $engan membuka menu Tools  Chip
Programmer  Read  Chip Signature.
4. ntuk do'nload program yang telah dibuat ke dalam ;inimum system maka
yang harus dilakukan adalah menjalankan menu Pro$ect  2uild 7ll pada
Code>ision 7>R. Atau langsung tekan tombol /trlB?F.
4.1.4 7asl Pengujan
$ari percobaan di atas apabila menu Read Chip Signature8 Do'nload program dapat
berhasil dikerjakan maka ;inimum system dapat dikatakan bekerja dengan baik.
4.2 Pengujan &ensor Ultrasonic Distance
4.2.1Tujuan Pengujan
!ujuan dari pengujian sensor ini adalah mengetahui apakah sensor dapat mengukur
jarak dengan baik.
4.2.2 Alat 6ang dbutuhkan
". (ensor ?ltrasonic Distance &+IA@''''.
3. )aterai =ippo.
0. ;inimum sistem microcontroler Atmega "36.
:. =cd.
4.2.3 Prosedur Pengujan
". Hubungkan )aterai =ippo dengan .egulator untuk diturunkan tegangannya.
3. Hubungkan sensor ?ltrasonic Distance dengan Regulator dengan tegangan >5,
kaki data tancapkan ke pin data mimimum system Atmega "36.
0. +engukuran hasil sensor ?ltrasonic Distance berupa data inputan jarak
menggunakan =cd.
:. $ownload program ke ;inimum sistem microcontroler Atmega "36.
4.2.4 7asl Pengujan
/o
9arak
terukur
%$m)
*anan
De4an
*anan
De4an
Tengah
De4an *r
*r
L#D
%$m)
Teg.
%.)
L#D
%$m)
Teg.
%.)
L#D
%$m)
Teg.
%.)
L#D
%$m)
Teg.
%.)
L#D
%$m)
Teg.
%.)
I +engujian "
1. 0 0 ".":0 0
".16
2
:
".1#
>
:
".16
>
0 ".1>2
2. "1 "1 ".360 "1
"."0
6
""
".""
>
""
"."0
"
"1 "."
3. "> "# ".063 "#
"."2
"
"#
".":
3
"#
".">
F
"> ".31
4. 31 31 ".:>6 31
"."F
#
31
"."2
3
31
"."2
>
31 ".0F"
+. 01 3F ".#" 3F
".30
"
3F ".33 3F
".3:
#
01 ".>#"
!. :1 :1 ".2#: :1
".3F
6
:1
".32
6
0F ".36 :1 ".21#
I +engujian 3
1. 0 : "."#3 3
".16
>
0
".1>
F
0
".16
0
: ".1#2
2. "1 "" ".3F: ""
".":
:
""
".""
>
""
"."0
3
"1 "."
3. "> "# ".06 "#
"."2
"
": ".": "#
".">
F
"> ".31#
4. 31 31 ".::: 3"
".31
"
3"
"."2
>
3"
"."6
"
31 ".0F"
+. 01 01 ".#"6 36
".3:
2
01
".33
3
36 ".30 01 ".>#"
!. :1 :1 ".2#: 0F
".3F
>
0F
".32
>
0F ".3F :1 ".21>
I +engujian 0
1. 0 : "."#3 0
".16
F
0
".1>
F
0
".16
:
0 ".1>6
2. "1 "1 ".360 "1
"."0
6
"1 "."" "1
"."3
"
"1 "."
3. "> "> ".026 ">
"."#
F
"0
".":
>
">
".">
2
"> ".3
4. 31 31 ".:>6 31
"."F
6
3"
"."2
>
3"
"."6
"
31 ".0F"
+. 01 01 ".#": 01
".30
3
01
".33
>
01
".3:
F
01 ".>#"
!. :1 :1 ".2#: 0F ".3F 0F ".32 0F ".3F :1 ".21#
> >
I +engujian :
1. 0 : "."#3 3
".16
#
:
".1#
#
:
".16
:
0 ".1>F
2. "1 "1 ".360 "1
"."0
#
"1
".""
3
"1 "."3 "1 "."
3. "> "> ".02F ">
"."#
F
">
".":
"
">
".">
2
"> ".31#
4. 31 31 ".:>6 31
"."F
#
31
"."2
3
31
"."2
>
31 ".0F"
+. 01 01 ".#"6 3F
".30
"
31
"."2
3
3F
".3:
#
01 ".>#"
!. :1 :1 ".2#: 06
".3F
0
0F
".32
>
0F ".3F :1 ".21#
I +engujian >
1. 0 0 ".":0 3
".16
:
:
".1#
>
0
".16
0
: ".1#2
2. "1 "1 ".363 "1
"."0
2
""
".""
0
"1
"."3
"
"1 "."
3. "> "> ".026 ">
"."#
F
">
".":
"
">
".">
2
"> ".3
4. 31 31 ".:>6 "F
"."F
:
31
"."#
2
31
"."2
F
31 ".0F"
+. 01 01 ".#36 3F
".30
"
3F ".33 36
".33
2
01 ".>#"
!. :1 0F ".2#3 06
".3F
0
0F
".32
>
0F ".3F :1 ".21#
4.3 Pengujan &ensor 0ars Photododa
4.3.1 Tujuan Pengujan
!ujuan +engujian (ensor ini adalah untuk menguji kepekaan photodioda saat
mengenai garis putih.
4.3.2 Alat 6ang dbutuhkan
". +hotodioda B =ed.
3. )aterai =ippo.
0. ;inimum sistem microcontroler Atmega "36.
4.3.3 Prosedur Pengujan
". Hubungkan kaki data Photodioda ke pin interupt dengan mode 1alling edge pada
minimum system Atmega "36.
3. )utput data dari Photodioda akan bernilai high jika sensor mengenai garis putih
dan lo' jika sensor mengenai permukaan hitam.
0. Do'nload program ke microcontroller Atmega "36
4.3.4 7asl Pengujan
:arna Tegangan %.)
7tam 3.1(;
Puth '.2+<
4.4 Pengujan Motor Dr3er
4.4.1 Tujuan Pengujan
!ujuan pengujian motor driver ini adalah untuk mengetahui apakah motor driver
dapat menerima input +8M dari mikro dan mengatur direction dari motor $/.
4.4.2 Alat 6ang dbutuhkan
". .angkaian ;otor Dri,er GM( 6-2ridge >A.
3. Motor $/ "35.
0. )aterai =ippo.
:. ;inimum system microcontroler Atmega "36.
4.4.3 Prosedur Pengujan
4.4.4 7asl Pengujan
4.+ Pengujan Motor &er3o
4.+.1 Tujuan Pengujan
!ujuan pengujian motor servo ini adalah untuk mengetahui apakah gerakan &derajat'
motor servo bisa sesuai dengan yang diinginkan.
4.+.2 Alat 6ang dbutuhkan
". Motor (ervo.
3. Minimum system Atmega "36.
0. )aterai =ippo.
4.+.3 Prosedur Pengujan
". Hubungkan pin positi% dan negati% servo ke regulator.
3. Hubungkan pin data servo ke port ,/."A di microcontroller.
0. Input dari user berupa angka derajat.
:. Do'nload +rogram ke microcontroller Atmega "36
4.+.4 7asl Pengujan
&udut
%derajat)
.olt %2.=d3) Tme %1ms=d3)
'
+.!( 2
1' +.!( 2
2' +.!( 2
3' +.!( 1.!(
4' +.!( 1.!(
+' +.!( 1.!+!
!' +.!( 1.!+!
(' +.!( 1.!+!
;' +.!( 1.!+!
<' +.!( 1.++1
1'' +.!( 1.++1
11' +.!( 1.344
12' +.!( 1.344
13' +.!( 1
14' +.!( 1
1+' +.!( 1
1!' +.!( '.;33
1(' +.!( '.;33
1;' +.!( '.!+!
BAB .. Penutu4
Daftar Pustaka
$unia Glektronika &31"0'. ;i%ro%ontroler 7Tmega.@ & Sistem ;inimum. ?rom4
http477www.duniaelektronika.net7mikrokontroler-atmega"36-sistem-minimum7, 2 Maret
31":
!egar Mahardika &31"3'. Sensor Aara% ?ltrasonic (Sensor PI8-). ?rom 4
http477budi.blog.undip.ac.id7%iles7311F71#7MA-A=AH-(GA(,.-EA.A--!egar-M.docC, 2
Maret 31":
&31"3'. Sensor Photodioda. ?rom 4 http477elektronika-dasar.web.id7komponen7sensor-
tranducer7sensor-photodioda7, 2 Maret 31":
Isna .asyad Hanie% &31"0'. ;otor DC. ?rom 4
http477blogs.itb.ac.id7el33::k1""33""13"isnarasyadhanie%731"071:7327motor-dc7, 2 Maret
31":
&3112'. 5;S /7 6-2ridge. From 4
http477www.innovativeelectronics.com7innovativeMelectronics7downloadM%iles7manual7GM(M
>AMH)ridge.pd%, 2 Maret 31":
-itoma Indonesia &31""'. Ser,o ;otor B Dri,e. ?rom 4
http477www.kitomaindonesia.com7kategori7:7servo-motor-drive, 2 Maret 31":
)ey &31""'. Bagaimana Memulai CodeVisionAVR?. ?rom 4
http477elektronikayuk.wordpress.com7tag7codevision-avr7, "" Maret 31":