viii
INTISARI
Perkembangan fisik bayi adalah salah satu hal penting dalam mengetahui adanya gangguan dalam pertumbuhan bayi. Perkembangan fisik bayi yang perlu dipantau salah satunya adalah berat bayi. Oleh sebab itu, dibuatlah Sistem Timbangan Berat Bayi.
Sistem penimbang berat bayi yang dirancang menggunakan sensor Flexiforce sebagai sensor berat bayi. Cara kerjanya adalah dengan menekan tombol start, dan mikrokontroler akan memproses data berat yang ditampilkan dalam bentuk grafik melalui Visual Basic. Data berat yang di dapat akan dibandingkan dengan data Kartu Menuju Sehat (KMS). Pengguna dapat menyimpan data bayi pada database Visual Basic berupa nama, jenis kelamin, tanggal lahir, berat lahir, dan tanggal kunjungan. Sistem akan dibagi kedalam kategori bayi laki-laki dan bayi perempuan.
Sistem penimbang berat bayi berhasil diimplementasikan dan di uji,dapat menimbang berkisar antara 2 Kg sampai 18 Kg. Alat ini memiliki output sensor Flexiforce dan nilai ADC yang stabil. Pengukuran timbangan bayi ini memiliki galat sejati sebesar 0,670 Kg. Sedangkan beban 2 Kg sampai 18 Kg memiliki galat sejati ≤ 0.570 Kg. Data hasil yang disimpan pada Visual Basic hanya dapat menambah dan menghapus data spesifik dari bayi, belum dapat menampilkan hasil grafik.
ix
ABSTRACT
The development of baby’s body is one of the important things in knowing the troubles in the growth of baby . The development of physical baby to be monitored one of them is heavy baby. With the Baby weighing machine the development of physical was monitored.
System baby weighing machine which uses a flexiforce sensor as sensor baby weighing machine .The way it works is by pressing start button, and mikrokontroler will process the data weight shown in the form a chart through visual basic ..Data recording will be compared with data Kartu Menuju Sehat ( KMS ). The user can save the data of the baby in database Visual Basic including name, sex, date of birth, birth weight, and the date of visit . System will be categorized in baby boy and baby girl
System baby weighing machine successfully implemented and in test can wight ranges start from 2 Kg until 18 Kg. The measurement of weighing babies have a true error 0,670 Kg. While 2 kg to 18 kg have a true error ≤ 0,570 Kg. The user can only add or remove the data in Visual Basic. However, it cannot show the graphic of the baby body development.
i
TUGAS AKHIR
SISTEM PENIMBANG BERAT BAYI
BERBASIS ATMega 8535
Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
disusun oleh:
ALBERTUS RICO SIMPATI
135114034
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
ii
FINAL PROJECT
THE BABY WEIGHING SCALE
BASED ON ATMEGA 8535
In a partial fulfillment of the requirements for the degree of Sarjana Teknik Department of Electrical Engineering
Faculty of Science and Technology, Sanata Dharma University
ALBERTUS RICO SIMPATI
135114034
ELECTRICAL ENGINEERING STUDY PROGRAMME
ELECTRICAL ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
vi
HALAMAN PERSEMBAHAN
“A Person who never made a mistake never tried
anything new”
-Albert
Einstein-“Serahkanlah segala kekuatiranmu kepada-Nya, sebab Ia
memelihara kamu”
-1 Petrus
5:7-Skripsi ini kupersembahkan untuk…
viii
INTISARI
Perkembangan fisik bayi adalah salah satu hal penting dalam mengetahui adanya gangguan dalam pertumbuhan bayi. Perkembangan fisik bayi yang perlu dipantau salah satunya adalah berat bayi. Oleh sebab itu, dibuatlah Sistem Timbangan Berat Bayi.
Sistem penimbang berat bayi yang dirancang menggunakan sensor Flexiforce sebagai sensor berat bayi. Cara kerjanya adalah dengan menekan tombol start, dan mikrokontroler akan memproses data berat yang ditampilkan dalam bentuk grafik melalui Visual Basic. Data berat yang di dapat akan dibandingkan dengan data Kartu Menuju Sehat (KMS). Pengguna dapat menyimpan data bayi pada database Visual Basic berupa nama, jenis kelamin, tanggal lahir, berat lahir, dan tanggal kunjungan. Sistem akan dibagi kedalam kategori bayi laki-laki dan bayi perempuan.
Sistem penimbang berat bayi berhasil diimplementasikan dan di uji,dapat menimbang berkisar antara 2 Kg sampai 18 Kg. Alat ini memiliki output sensor Flexiforce dan nilai ADC yang stabil. Pengukuran timbangan bayi ini memiliki galat sejati sebesar 0,670 Kg. Sedangkan beban 2 Kg sampai 18 Kg memiliki galat sejati ≤ 0.570 Kg. Data hasil yang disimpan pada Visual Basic hanya dapat menambah dan menghapus data spesifik dari bayi, belum dapat menampilkan hasil grafik.
ix
ABSTRACT
The development of baby’s body is one of the important things in knowing the troubles in the growth of baby . The development of physical baby to be monitored one of them is heavy baby. With the Baby weighing machine the development of physical was monitored.
System baby weighing machine which uses a flexiforce sensor as sensor baby weighing machine .The way it works is by pressing start button, and mikrokontroler will process the data weight shown in the form a chart through visual basic ..Data recording will be compared with data Kartu Menuju Sehat ( KMS ). The user can save the data of the baby in database Visual Basic including name, sex, date of birth, birth weight, and the date of visit . System will be categorized in baby boy and baby girl
System baby weighing machine successfully implemented and in test can wight ranges start from 2 Kg until 18 Kg. The measurement of weighing babies have a true error 0,670 Kg. While 2 kg to 18 kg have a true error≤ 0,570 Kg. The user can only add or remove the data in Visual Basic. However, it cannot show the graphic of the baby body development.
x
KATA PENGANTAR
Puji syukur kepada Tuhan Yesus yang telah mengaruniakan rahmat dan berkat sehingga penulis dapat menyelesaikan Tugas Akhir ini dengan baik. Penelitian dalam bentuk laporan tugas akhir ini merupakan salah satu syarat untuk mendapatkan gelar Sarjana Teknik Universitas Sanata Dharma Yogyakarta. Tugas Akhir ini dapat diselesaikan dengan baik atas gagasan, bantuan, dan dukungan moral dan material dari banyak pihak. Oleh sebab itu, penulis mengucapkan banyak terimakasih kepada:
1. Tuhan Yesus yang selalu memberikan nafas kehidupan dan kesehatan hingga saat ini
2. Bapak Sudi Mungkasi, S.Si., M. Math.Sc., Ph.D. selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma
3. Bapak Petrus Setyo Prabowo, S.T.,M.T. selaku Kepala Program Studi Teknik Elektro Universitas Sanata Dharma
4. Bapak Martanto S.T., M.T. selaku Dosen Pembimbing yang dengan penuh kesabaran membantu, membimbing , memberikan ide dan menyemangati selama penulis mengerjakan Tugas Akhir ini.
5. Bapak dan Ibu Dosen Program Studi Teknik Elektro dengan sabar dan tekun memberikan ilmu yang bermanfaat kepada penulis selama menempuh perkuliahan di Universitas Sanata Dharma
6. Ibu Ir. Prima Ari Setiyani.,M.T dan Romo A.M Ardi Handojoseno S.J., M.E.,Ph.D selaku dosen penguji yang sudah memberikan saran dan memberikan masukan dalam pengerjaan Tugas Akhir ini
7. Seluruh Karyawan dan Laboran Fakultas Sains dan Teknologi khususnya Program Studi Teknik Elektro yang telah memberikan dukungan dan bantuan secara tidak langsung dalam kelancaran pengerjaan laporan Tugas Akhir ini. 8. Kedua Orang tua penulis (Toni Adi Marwan dan Paulina) yang sudah
memberikan doa, motivasi, dukungan dalam bentuk moral dan material
xii
DAFTAR ISI
HALAMAN SAMPUL (Bahasa Indonesia) ... i
HALAMAN SAMPUL (Bahasa Inggris)... ii
HALAMAN PERSETUJUAN... iii
HALAMAN PENGESAHAN... iv
HALAMAN PERSEMBAHAN ... v
LEMBAR PERNYATAAN KEASLIAN KARYA... vi
INTISARI... vii
ABSTRACT... viii
KATA PENGANTAR ... ix
DAFTAR ISI... x
DAFTAR GAMBAR ... xi
DAFTAR TABEL... xii
BAB I PENDAHULUAN 1.1 Latar Belakang ... 1
1.2 Tujuan dan Manfaat ... 2
1.3 Batasan Masalah ... 2
1.4 Metodologi Penelitian ... 2
BAB II DASAR TEORI 2.1. Kartu Menuju Sehat... 4
2.1.1 Pertumbuhan Anak Berdasar KMS ... 4
2.2. Sensor Flexiforce... 5
2.2.1. Prinsip Kerja Sensor Flexiforce... 6
2.2.2. Karakteristik Sensor Flexiforce ... 7
2.3. Regulator Tegangan... 8
2.3.1. Pengatur Tegangan IC 78XX ... 8
2.3.2. Pengatur Tegangan IC 79XX ... 10
2.4. Liquid Crystal Display... 11
2.4.1. Material LCD (Liquid Crystal Display) ... 11
2.4.2. Pengendali/Kontroler LCD... 12
xiii
2.5.1. Konstruksi ATMega8535 ... 14
2.5.2. Pin-pin pada Mikrokontroler ATMega8535... 15
2.5.3. USART ... 16
2.6. Analog Digital Converter ... 20
2.7. Visual Basic ... 22
2.7.1. Tipe Variabel ... 22
2.7.2. Operator pada Visual Basic dan urutan operasinya ... 23
2.7.3. Operator Like ... 23
2.7.4. Deklarasi Variabel ... 24
2.7.4.1. Mengenal Struktur Kendali ... 24
2.7.5. Deklarasi Konstanta... 25
2.7.5.1. Struktur Pengulangan ... 25
2.8. Code Vision AVR ... 26
2.9. Push Button ... 27
BAB III RANCANGAN PENELITIAN 3.1. Perancangan Alat Secara Umum ... 30
3.2. Perancangan Alat Secara Hardware... 31
3.2.1. Rangkaian Sistem Minimum AVR 8535... 31
3.2.2. Rangkaian LCD 16x2 ... 33
3.2.3. Regulator Tegangan... 35
3.2.4. Rangkaian Pengondisi Sinyal Sensor Flexiforce... 36
3.3. Perancangan Alat Secara Software... 39
3.3.1. Program Utama Mikrokontroler ... 41
3.3.2. Program Utama Visual Basic... 42
3.3.2.1. Subrutin Bandingkan Umur Bayi... 42
BAB IV HASIL DAN PEMBAHASAN 4.1. Bentuk Mekanik dan Elektrik ... 46
4.1.1. Mekanik dan Sumber Tegangan ... 46
4.1.2. Hardware Elektrik ... 46
4.2. Percobaan Alat... 48
4.3. Analisis ... 51
4.4. Pembahasan Software ... 53
xiv BAB V PENUTUP
xv
DAFTAR GAMBAR
Gambar 1.1 Diagram Blok Sistem ... 3
Gambar 2.1 Grafik Pertumbuhan Anak dalam KMS ... 4
Gambar 2.2 Sensor Flexiforce... 5
Gambar 2.3 Konstruksi Bahan Pembuatan pada Flexiforce ... 6
Gambar 2.4 Grafik Hubungan antara Hambatan dengan Berat ... 7
Gambar 2.5 Rangkaian Pengondisi Sinyal Sensor Flexiforce ... 8
Gambar 2.6 Susunan Kaki IC Regulator 78XX dan 79XX ... 8
Gambar 2.7 Rangkaian Regulator 78XX ... 9
Gambar 2.8 Liquid Crystal Display ... 11
Gambar 2.9 Konfigurasi Pin ATMega8535 ... 15
Gambar 2.10 Koneksi Master Slave SPI... 18
Gambar 2.11 SPI Control Register ... 19
Gambar 2.12 SPI Status Register ... 20
Gambar 2.13 SPI Data Register... 20
Gambar 2.14 USB to TTL... 27
Gambar 2.15 Push Button Switch ... 28
Gambar 2.16 Prinsip Kerja Push Button ... 29
Gambar 3.1 Rancang Mekanik Keseluruhan ... 30
Gambar 3.2 Rancang Mekanik per-part... 31
Gambar 3.3 Rangkaian Osiltor... 32
Gambar 3.4 Rangkaian Reset ... 32
Gambar 3.5 Rangkaian Sistem Minimum ATMega8535 ... 33
Gambar 3.6 Rangkaian LCD 16x2... 34
Gambar 3.7 Tampilan LCD 16x2... 34
Gambar 3.8 Rangkaian Catu Daya... 36
Gambar 3.9 Rangkaian Pengondisi Sinyal Sensor Flexiforce ... 36
Gambar 3.10 Grafik untuk menentukan nilai Rs ... 36
Gambar 3.11 Grafik Perbandingan Berat badan dengan ADC ... 39
Gambar 3.12 Rancangan form 1 pada Visual Basic ... 40
xvi
Gambar 3.14 Rancangan Grafik Bayi laki-laki berdasarkan KMS... 41
Gambar 3.15 Rancangan Grafik Bayi Perempuan berdasarkan KMS ... 41
Gambar 3.16 Diagram alir program utama Mikrokontroler 8535... 43
Gambar 3.17 Diagram alir program utama Visual Basic ... 43
Gambar 3.18 Diagram alir subrutin bandingkan umur bayi ... 44
Gambar 4.1 Penimbang Berat Bayi... 46
Gambar 4.2 Sumber Tegangan... 46
Gambar 4.3 Tampak pada sistem penimbang berat bayi ... 47
Gambar 4.4 Tampak dalam pada system penimbang berat bayi... 47
Gambar 4.5 LCD dan Sistem Minimum ATMega 8535... 47
Gambar 4.6 Hubungan antara Berat terhadap Nilai ADC... 49
Gambar 4.7 Hubungan antara Berat Pengukuran Terhadap Berat Rill ... 50
Gambar 4.8 Form Visual Basic... 52
Gambar 4.9 Form Visual Basic dan Database... 52
Gambar 4.10 Tampilan error pada Visual Basic ... 53
Gambar 4.11 Listing Program CV-AVR ... 54
xvii
DAFTAR TABEL
Tabel 2.1 Tipe IC 78XX... 9
Tabel 2.2 Fungsi Khusus Port B ... 16
Tabel 2.3 Fungsi Khusus Port C ... 16
Tabel 2.4 Fungsi Khusus Port D ... 17
Tabel 2.5 Hubungan SCK dan Frekuensi Osilator... 19
Tabel 2.6 Tipe Variabel,pemakaian storage dan jangkauan masing-masing... 22
Tabel 2.7 Operator pada Visual Basic dan urutan dari atas kebawah ... 23
Tabel 2.8 Karakter dalam pencocokan pola pada operator Like ... 23
Tabel 3.1 Penggunaan masing-masing port ... 33
Tabel 3.2 Rancangan Penggunaan Database ... 44
Tabel 4.1 Penggunaan Port sistem Minimum ATMega 8535... 48
Tabel 4.2 Data Kalibrasi antara Tegangan Keluaran dan ADC 10 bit... 49
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Pada bayi, perkembangan fisiknya sangat perlu dipantau. Bila ada gangguan pertumbuhan maka hal itu merupakan pertanda ada kelainan atau penyakit tertentu pada anak. Ketika lahir, berat normal bayi berkisar antara 2,5 kg sampai 4 kg. Berat lahir ini dipengaruhi kesehatan ibu dan janin.
Pengukuran berat badan bayi hingga saat ini masih menggunakan Dacin. Dacin adalah sebuah alat untuk menimbang sesuatu yang diberi skala juga dilengkapi dengan anak timbangan dan tempat untuk menimbang barang [1]. Penggunaan dacin untuk menimbang bayi memiliki kelemahan antara lain: keakuratan penimbangan, penggunaan persiapan dalam menggunakan timbangan, sistem pencatatan yang dilakukan masih secara manual.
Ada kelemahan pula dalam proses penyimpanan data yang dilakukan secara manual. Pencatatan manual yang dilakukan di lembar kertas juga akan menyulitkan ketika melakukan pencarian data historis. Di samping kesulitan dalam pencarian data, kesalahan dalam proses pencatatan data pasien dapat menyebabkan kejanggalan data. Dengan sistem yang masih manual, hal ini sangat sulit dilakukan sehingga kesalahan penginputan data pasien, rekam medis dan yang lainnya masih sering terjadi. Selain karena pencatatan yang dilakukan masih manual, apalagi menggunakan kertas sebagai medianya tentu saja Posyandu akan membutuhkan jumlah kertas yang sangat banyak untuk setiap bulannya. Hal ini akan memengaruhi kondisi pengeluaran posyandu serta memakan ruang yang cukup banyak ketika menyimpan data-datanya.
Alat penimbangan ini menggunakan sensor berat menggunakan sensor Flexiforce sebagai pendeteksi berat bayi. Pada saat alat mendeteksi bayi, maka secara otomatis sensor akan membaca dan mengirimkan sinyal ke mikrokontroler yang kemudian data akan otomatis tersimpan, lalu ditampilkan oleh sistem antarmuka (menggunakan Visual Basic) dalam bentuk grafik.
1.2 Tujuan dan Manfaat
Tujuan dari penelitian ini adalah menciptakan sebuah sistem penimbang berat bayi berbasis mikrokontroler ATMega 8535.
Manfaat penelitian ini bagi dunia kesehatan adalah menyediakan suatu instrumen yang dapat menimbang tubuh bayi, lalu data tersebut dicatat secara sistematis dan ditampilkan melalui grafik.
1.3 Batasan Masalah
Agar Tugas Akhir ini mengarah pada tujuan dan menghindari terlalu kompleks permasalahan yang akan muncul,maka dari itu perlunya batasan-batasan masalah yang sesuai dengan judul tugas akhir ini. Adapun batasan masalahnya antara lain:
1. Menggunakan Sensor Flexiforce sebagai sensor berat 2. Mikrokontroler yang digunakan adalah ATMega 8535 3. Sistem Antarmuka (Interface) menggunakan Visual Basic
4. Sensor berat untuk mengukur berat tubuh bayi berkisar antara 0kg sampai 20kg.
1.4 Metodologi Penelitian
Berdasarkan tujuan yang ingin dicapai, maka metode-metode yang akan digunakan dalam penyusunan tugas akhir ini adalah:
1. Studi Literatur, yaitu dengan cara membaca buku – buku dan jurnal yang berkaitan dengan Mikrokontroler ATMega 8535, Visual Basic, Sensor Flexiforce.
3. Perancangan Hardware. Dalam tahap ini, penulis mencari bentuk pemodelan yang optimal dari sistem keseluruhan dan mempertimbangkan bermacam-macam faktor masalah. Gambar diagram blok sistem ditujukan pada gambar 1.1.
Gambar 1.1 Diagram blok sistem
4. Perancangan Software. Dalam Tahap ini, penulis menggunakan Mikrokontroler
sebagai “otak” dari perancangan alat yang dimasukkan program menggunakan
bahasa pemrograman C dengan menggunakan software Codevision AVR.
5. Proses pengambilan data. Dalam tahap ini, penulis mengambil data dengan cara mengukur berat suatu benda yang merepresentasikan tubuh bayi.
4
BAB II
DASAR TEORI
Bab ini berisi dasar teori berupa konsep dasar penghitungan KMS (Kartu Menuju Sehat), serta komponen-komponen yang dibutuhkan dalam melakukan penelitian.
2.1. Kartu Menuju Sehat (KMS)
Kartu Menuju Sehat (KMS) adalah kartu yang memuat kurva pertumbuhan normal anak berdasarkan indeks antropometri berat badan menurut umur [2]. Dengan KMS gangguan pertumbuhan atau risiko kelebihan gizi dapat diketahui lebih dini, sehingga dapat dilakukan tindakan pencegahan secara lebih cepat dan tepat sebelum masalahnya lebih berat. KMS di Indonesia telah digunakan sejak tahun 1970-an, sebagai sarana utama kegiatan pemantauan pertumbuhan.
2.1.1 Pertumbuhan Anak Berdasarkan KMS
Status pertumbuhan anak dapat diketahui dengan 2 cara yaitu dengan menilai garis pertumbuhannya, atau dengan menghitung kenaikan berat badan anak dibandingkan dengan Kenaikan Berat Badan Minimum (KBM). Penentuan status pertumbuhan anak adalah sebagai berikut:
N=Naik = Grafik Berat Badan mengikuti garis pertumbuhan
T=Turun=Grafik Berat Badan mendatar atau menurun memotong garis pertumbuhan
1. TIDAK NAIK (T);
grafik berat badan memotong garis pertumbuhan dibawahnya; kenaikan berat badan < KBM (<800 g)
2. NAIK (N),
grafik berat badan memotong garis pertumbuhan diatasnya; kenaikan berat badan > KBM (>900 g)
3. NAIK (N),
grafik berat badan mengikuti garis pertumbuhannya; kenaikan berat badan >KBM (>500 g)
4. TIDAK NAIK (T),
grafik berat badan mendatar; kenaikan berat badan < KBM (<400 g)
5. TIDAK NAIK (T),
grafik berat badan menurun; grafik berat badan < KBM (<300 g)
2.2.
Flexiforce
Sensor flexiforce adalah sensor berat yang berbentuk printed circuit yang ultra-tipis yaitu 0,008 inchi dan fleksibel, seperti pada gambar 2.2. Flexiforce terbuat dari beberapa lapisan yang dapat dilihat pada gambar 2.3 [4]
Gambar 2.3 Konstruksi Bahan Pembuatan pada Flexiforce [4]
Pada lapisan Flexible Substrate terbuat dari dua lapisan substrat (polyester) film yang digunakan sabagai pembungkus kemasan Flexiforce.Kemudian dilapisi dengan lapisan silver yang terbuat dari bahan Polimida, setiap lapisan tebuat dari konduktif (perak), dan diikuti oleh lapisan dengan lapisan Pressure Sensitive Ink. Untuk menggabungkan antar lapisan yang satu dengan yang lainnnya, digunakan bahan Adhesive, sehingga kedua lapisan substrat dapat dilaminasi untuk membentuk sensor gaya berat. Untuk mempermudah pemfokusan pendeteksian, maka bagian pendeteksian Flexiforce dibuat berbentuk lingkaran. Apabila bagian pendeteksian sensor aktif, maka lapisan Silver akan mengaktifkan konektor yang ada pada ujung sensor, sehingga dapat dihubungkan ke dalam rangkaian sistem minimum.
2.2.1 Prinsip Kerja Sensor Flexiforce
Gambar 2.4 Grafik Hubungan antara Hambatan dengan Berat [4] 2.2.2 Karakteristik Sensor Flexiforce
Sensor flexiforce memiliki karakteristik sebagai berikut: a. Physical Properties:
Ketebalan Flexiforce yaitu 0,208 mm (0,008 in) Panjang Flexiforce : 197 mm (7,75in)
Lebar : 14mm (0,55 in)
Diameter Sensing Area : 9,53 mm (0,372 in) Connector : 3-pin Male (Center pin is inactive)
Pin Spacing : 2,54 mm (0,1 in)
Substrate : Polyster
b. Standard Force Range
0–1 lb atau 0 gram–453 gr dengan gaya berat 0 N–4,4 N
0–25 lb atau 0 gram–11339 gr dengan gaya berat 0 N–110 N
0–100 lb atau 0 gram–45359 gr dengan gaya berat 0 N–440 N
Untuk mendeteksi berat di atas 100 lb, maka diperlukan rangkaian tambahan yaitu menggunakan rangkaian amplifier.
c. Typical Performance Linearity (Error) : < ± 3 %
Repeatability : < ± 2.5 %
Hysteresis : < ± 4,5 %
Gambar 2.5 Rangkaian pengondisi sinyal sensor flexiforce [4]
Tegangan masukan sensor Flexiforce adalah -5V maka dibuatlah pengondisi sinyal inverting (pembalik).Di bawah ini adalah persamaan untuk menghitung :
= − ∗ (2.1)
2.3. Regulator Tegangan
Perangkat elektronika mestinya dicatu oleh suplai arus searah DC (direct current) yang stabil agar dapat bekerja dengan baik. Catu Daya atau sering disebut dengan Power Supply adalah sebuah piranti yang berguna sebagai sumber listrik untuk piranti lain[5]. Baterai atau accu adalah sumber catu daya DC yang paling baik. Namun untuk aplikasi yang membutuhkan catu daya lebih besar, sumber dari baterai tidak cukup. Sumber catu daya yang besar adalah sumber bolak-balik AC (alternating current) dari pembangkit tenaga listrik. Untuk itu diperlukan suatu perangkat catu daya yang dapat mengubah arus AC menjadi DC.
Regulator Voltage berfungsi sebagai filter tegangan agar sesuai dengan keinginan. Oleh karena itu biasanya dalam rangkaian power supply maka IC Regulator tegangan ini selalu dipakai untuk stabilnya outputan tegangan. Susunan kaki IC Regulator 78XX dan 79XX dapat dilihat pada gambar 2.6
2.3.1 Pengatur Tegangan IC 78XX
IC 78XX adalah regulator tegangan positif dengan tiga terminal, masing-masing adalah input, ground, dan output.IC 78XX tersedia untuk beberapa nilai tegangan keluaran seperti terlihat pada tabel 2.1. [5]
Tabel 2.1 Tipe IC 78XX [5]
Type VOut (Volt)
IOut(A) VIn(Volt)
78XXC 78LXX 78MXX Min Maks
7805 5 1 0,1 0,5 7,5 20
7806 6 1 0,1 0,5 8,6 21
7808 8 1 0,1 0,5 10,5 23
7809 9 1 0,1 0,5 11,5 24
7810 10 1 0,1 0,5 12,5 25
7812 12 1 0,1 0,5 14,5 27
7815 15 1 0,1 0,5 17,5 30
7818 18 1 0,1 0,5 21 33
7824 24 1 0,1 0,5 27 38
Meskipun semula dirancang untuk regulator tegangan tetap,namun regulator ini dapat dikembangkan untuk tegangan dan arus yang dapat diatur. Rangkaian dasar 78XX ditunjukkan pada gambar 2.7, untuk tegangan dan arus output sesuai nilai nominalnya.
Gambar 2.7 Rangkaian regulator IC 78XX
C1 diperlukan jika regulator jauh dari kapasitor filter pencatu daya sedangkan C2 diperlukan untuk memperbaiki tanggapan kilasan dan penindasan kerut (trancient response). Dalam penerapannya,tegangan masukan VIN harus lebih besar dari tegangan keluaran, jika kurang maka regulator tidak berfungsi tetapi bila melebihi nilai VIN maksimumnya dapat merusak regulator.
C = √ ( ) (2.2)
Dengan:
C : Kapasitor (Farad) Idc : Arus beban (Ampere) F : Frekuensi (Hz)
Vr(rms) : Tegangan ripple rms (Volt)
Di mana nilai Vr(rms) dapat dicari menggunakan persamaan:[6]
( ) = (√ ) (2.3)
Dengan Vr (p-p) adalah tegangan ripple peak to peak yang merupakan tegangan selisih antara tegangan masukan regulator dengan tegangan masuk minimum IC regulator yang digunakan atau dapat ditulis persamaan sebagai berikut: [6]
( − ) = − (2.4)
Dengan:
Vm : Tegangan masukan regulator (Volt)
Vmin :Tegangan minimum IC regulator (Volt)
Apabila tegangan masukan regulator berasal dari tegangan AC maka harus disearahkan dengan dioda,nilai Vmdapat dicari dengan menggunakan persamaan :[6]
= √2 − 1,4 (2.5)
Dengan VAC merupakan nilai tegangan AC yang sudah diturunkan dengan menggunakan trafo step-down (Volt) dan nilai 1,4 adalah nilai dioda yang digunakan sebagai penyearah.
2.3.2 Pengatur Tegangan IC 79XX
IC 79XX adalah regulator tegangan negatif dengan tiga terminal, masing-masing adalah input, ground, dan output.[5] Pengatur tegangan IC 79xx mengeluarkan tegangan negatifyang relatif stabil dengan tinggi tegangan sebesar “xx”.Contoh :
2.4. LCD (Liquid Cristal Display)
Display elektronik adalah salah satu komponen elektronika yang berfungsi sebagai tampilan suatu data, baik huruf, karakter ataupun grafik [7]. LCD (Liquid Cristal Display) adalah salah satu jenis display elektronik yang dibuat dengan teknologi CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi memantulkan cahaya yang ada di sekelilingnya terhadap front-lit atau mentransmisikan cahaya dari back-lit.
2.4.1. Material LCD (Liquid Cristal Display)
[image:30.595.86.524.238.631.2]LCD adalah lapisan dari campuran organic antara lapisan kaca bening dengan elektroda transparan indium oksida dalam bentuk tampilan seven-segment dan lapisan elektroda pada kaca belakang. Ketika elektroda diaktifkan dengan medan listrik (tegangan), molekul organic yang panjang dan silindris menyesuaikan diri dengan elektroda dari segmen. Lapisan sandwich memiliki polarizer cahaya vertikal depan dan dipantulkan tidak dapat melewati molekul-molekul yang telah menyesuaikan diri dan segmen yang diaktifkan terlihat menjadi gelap dan membentuk karakter data yang ingin ditampilkan. Tampilan LCD dapat dilihat pada gambar 2.8 .
Gambar 2.8 Tampilan LCD [7]
2.4.2. Pengendali / Kontroler LCD (Liquid Cristal Display)
Dalam modul LCD (Liquid Cristal Display) terdapat microcontroller yang berfungsi sebagai pengendali tampilan karakter LCD (Liquid Cristal Display). Microcontroller pada suatu LCD (Liquid Cristal Display) dilengkapi oleh memori dan
register.
Memori yang digunakan microcontroller internal LCD adalah:
b. CGRAM (Character Generator Random Access Memory) merupakan memori untuk menggambarkan pola sebuah karakter dimana bentuk dari karakter dapat diubah-ubah sesuai dengan keinginan.
c. CGROM (Character Generator Read Only Memory) merupakan memori untuk menggambarkan pola sebuah karakter dimana pola tersebut merupakan karakter dasar yang sudah ditentukan secara permanen oleh pabrikan pembuat LCD (Liquid Cristal Display) tersebut sehingga pengguna tinggal mengambilnya sesuai dengan alamat memorinya dan tidak dapat merubah karakter dasar yang ada dalam CGROM. Register kontrol yang terdapat dalam suatu LCD diantaranya adalah:
a. Register perintah yaitu register yang berisi perintah – perintah dari mikrokontroler ke panel LCD (Liquid Cristal Display) pada saat proses penulisan data atau tempat status dari panel LCD (Liquid Cristal Display) dapat dibaca saat pembacaan data.
b. Register data yaitu register untuk menuliskan atau membaca data dari atau ke DDRAM. Penulisan data pada register akan menempatkan data tersebut ke DDRAM sesuai dengan alamat yang telah diatur sebelumnya.
Pin, kaki atau jalur input dan kontrol dalam suatu LCD (Liquid Cristal Display) diantaranya adalah:
a. Pin data adalah jalur untuk memberikan data karakter yang ingin ditampilkan menggunakan LCD (Liquid Cristal Display) dapat dihubungkan dengan bus data dari rangkaian lain seperti mikrokontoler dengan lebar data 8 bit.
b. Pin RS (Register Select) berfungsi sebagai indikator atau yang menentukan jenis data yang masuk, apakah data atau perintah. Logika low menunjukkan yang masuk adalah perintah, sedangkan logika high menunjukkan data.
c. Pin R/W (Read Write) berfungsi sebagai instruksi pada modul jika low tulis data, sedangkan high baca data.
d. Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar. e. Pin VLCD berfungsi mengatur kecerahan tampilan (kontras) dimana pin ini
dihubungkan dengan trimpot 5 kΩ , jika tidak digunakan ke ground, sedangkan
tegangan catu daya ke LCD sebesar 5 volt.
2.5.
Mikrokontroler ATmega 8535
elektronika. Beberapa tahun terakhir, mikrokontroler sangat banyak digunakan terutama dalam pengontrolan robot.Seiring perkembangan elektronika, mikrokontroler dibuat semakin kompak dengan bahasa pemrograman yang juga ikut berubah. Salah satunya adalah mikrokontroler AVR (Alf and Vegard’s Risc processor) ATmega8535 yang menggunakan teknologi RISC (Reduce Instruction Set Computing) dimana program berjalan lebih cepat karena hanya membutuhkan satu siklus clock untuk mengeksekusi satu instruksi program. Secara umum, AVR dapat dikelompokkan menjadi 4 kelas, yaitu kelas ATtiny, keluarga AT90Sxx, keluarga ATmega, dan AT86RFxx.Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama.
Mikrokontroler AVR ATmega8535 memiliki fitur yang cukup lengkap. Mikrokontroler AVR ATmega8535 telah dilengkapi dengan ADC internal, EEPROM internal, Timer/Counter, PWM, analog comparator.Sehingga dengan fasilitas yang lengkap ini memungkinkan kita belajar mikrokontroler keluarga AVR dengan lebih mudah dan efisien, serta dapat mengembangkan kreativitas penggunaan mikrokontroler ATmega8535.
Konfigurasi yang dimiliki oleh mikrokontroler ATmega8535 adalah:
• Saluran I/O sebanyak 32 buah, yaitu port A, port B, port C, dan port D.
• ADC internal sebanyak 8 saluran.
• Tiga buah Timer/Counter dengan kemampuan pembandingan.
• CPU yang terdiri atas 32 buah register.
• SRAM sebesar 512 byte.
• Memori Flash sebesar 8 kb dengan kemampuan Read While Write.
• Port antarmuka SPI
• EEPROM sebesar 512 byte yang dapat diprogram saat operasi.
• Antarmuka komparator analog.
• Port USART untuk komunikasi serial.
• Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.
2.5.1. Konstruksi ATmega 8535
Mikrokontroler ATmega8535 memiliki 3 jenis memori, yaitu memori program, memori data dan memori EEPROM. Ketiganya memiliki ruang sendiri dan terpisah.
ATmega8535 memiliki kapasitas memori progam sebesar 8 Kbyte yang terpetakan dari alamat 0000h–0FFFh dimana masing-masing alamat memiliki lebar data 16 bit. Memori program ini terbagi menjadi 2 bagian yaitu bagian program boot dan bagian program aplikasi.
b. Memori data
ATmega8535 memiliki kapasitas memori data sebesar 608 byte yang terbagi menjadi tiga bagian, yaitu register serba guna, register I/O dan SRAM. ATmega8535 memiliki 32 byte register serba guna, 64 byte register I/O yang dapat diakses sebagai bagian dari memori RAM (menggunakan instuksi LD atau ST) atau dapat juga diakses sebagai I/O (menggunakan instruksi IN atau OUT), dan 512 byte digunakan untuk memori data SRAM.
c. Memori EEPROM
ATmega8535 memiliki memori EEPROM sebesar 512 byte yang terpisah dari memori program maupun memori data. Memori EEPROM ini hanya dapat diakses dengan menggunakan register-register I/O yaitu register EEPROM Address, register EEPROM Data, dan register EEPROM Control. Untuk mengakses memori EEPROM ini diperlakukan seperti mengakses data eksternal, sehingga waktu eksekusinya relatif lebih lama bila dibandingkan dengan mengakses data dari SRAM.
ATmega8535 merupakan tipe AVR yang telah dilengkapi dengan 8 saluran ADC internal dengan fidelitas 10 bit. Dalam mode operasinya, ADC ATmega8535 dapat dikonfigurasi, baik secara single ended input maupun differential input. Selain itu, ADC ATmega8535 memiliki konfigurasi pewaktuan, tegangan referensi, mode operasi, dan kemampuan filter derau yang amat fleksibel, sehingga dengan mudah disesuaikan dengan kebutuhan ADC itu sendiri.ATmega8535 memiliki 3 modul timer yang terdiri dari 2 buah timer/counter 8 bit dan 1 buah timer/counter 16 bit. Ketiga modul timer/counter ini dapat diatur dalam mode yang berbeda secara individu dan tidak saling mempengaruhi satu sama lain. Selain itu, semua timer/counter juga dapat difungsikan sebagai sumber interupsi. Masing-masing timer/counter ini memiliki register tertentu yang digunakan untuk mengatur mode dan cara kerjanya.
yang memiliki fleksibilitas tinggi, yang dapat digunakan untuk melakukan transfer data baik antar mikrokontroler maupun dengan modul-modul eksternal termasuk PC yang memiliki fitur UART.
USART memungkinkan transmisi data baik secara syncrhronous maupun asyncrhronous, sehingga dengan memiliki USART pasti kompatibel dengan UART. Pada ATmega8535, secara umum pengaturan mode syncrhronous maupun asyncrhronous adalah sama. Perbedaannya hanyalah terletak pada sumber clock saja.
Jika pada mode asyncrhronous masing-masing peripheral memiliki sumber clock sendiri, maka pada mode syncrhronous hanya ada satu sumber clock yang digunakan secara bersama-sama. Dengan demikian, secara hardware untuk mode asyncrhronous hanya membutuhkan 2 pin yaitu TXD dan RXD, sedangkan untuk mode syncrhronous harus 3 pin yaitu TXD, RXD dan XCK.
[image:34.595.85.520.225.589.2]2.5.2. Pin-pin pada Mikrokontroler ATmega8535
Gambar 2.9 Konfigurasi pin ATmega 8535 [8]
Konfigurasi pin ATmega8535 dengan kemasan 40 pin DIP (Dual Inline Package) dapat dilihat pada gambar 2.9. Dari gambar di atas dapat dijelaskan fungsi dari masing-masing pin Atmega8535 sebagai berikut:
1. VCC merupakan pin yang berfungsi sebagai masukan catu daya. 2. GND merukan pin Ground.
3. Port A (PortA0…PortA7) merupakan pin input/output dua arah dan pin masukan
4. Port B (PortB0…PortB7) merupakan pin input/output dua arah dan dan pin fungsi
khusus, seperti dapat dilihat pada tabel 2.2
Tabel 2.2 Fungsi Khusus Port B
Pin Fungsi Khusus
Port B.7 SCK (SPI Bus Serial Clock)
Port B.6 MISO (SPI Bus Master Input/ Slave Output) Port B.5 MOSI (SPI Bus Master Output/ Slave Input) Port B.4 SS (SPI Slave Select Input)
Port B.3 AIN1 (Analog Comparator Negative Input) OC0(Timer/Counter0 Output Compare Match
Output)
Port B.2 AIN0 (Analog Comparator Positive Input) INT2 (External Interrupt 2 Input)
Port B.1 T1 (Timer/ Counter1 External Counter Input)
Port B.0 T0T1(Timer/Counter External Counter Input) XCK (USART External Clock Input/Output)
5. Port C (PortC0…PortC7) merupakan pin input/output dua arah dan pin fungsi khusus,
[image:35.595.83.522.127.715.2]seperti dapat dilihat pada tabel 2.3
Tabel 2.3 Fungsi Khusus Port C
Pin Fungsi Khusus
Port C.7 TOSC2 ( Timer Oscillator Pin2) Port C.6 TOSC1 ( Timer Oscillator Pin1)
Port C.5 Input/Output
Port C.4 Input/Output
Port C.3 Input/Output
Port C.2 Input/Output
Port C.1 SDA(Two-wire Serial Bus Data Input/Output Line)
6. Port D (PortD0…PortD7) merupakan pininput/output dua arah dan pin fungsi khusus, seperti yang terlihat pada tabel 2.4
Tabel 2.4 Fungsi Khusus Port D
Pin Fungsi Khusus
Port D.7 OC2 (Timer/Counter Output Compare Match Output) Port D.6 ICP (Timer/Counter1 Input Capture Pin)
Port D.5 OC1A (Timer/Counter1 Output Compare A Match Output)
Port D.4 OC1B (Timer/Counter1 Output Compare B Match Output)
Port D.3 INT1 (External Interrupt 1 Input) Port D.2 INT0 (External Interrupt 0 Input) Port D.1 TXD (USART Output Pin) Port D.0 RXD (USART Input Pin)
7. RXD (USART Input Pin)
8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal. 9. AVCC merupakan pin masukan tegangan untuk ADC.
10. AREFF merupakan pin masukan tegangan referensi ADC.
2.5.3. USART (Universal Synchronous and Ansynchronous Serial Receiver and
Transmitter)
USART merupakan komunikasi yang memiliki fleksibilitas tinggi, yang dapat digunakan untuk melakukan transfer data baik antar mikrokontroler maupun dengan modul-modul eksternal termasuk PC yang memiliki fitur UART.
USART memungkinkan transmisi data baik secara syncrhronous maupun asyncrhronous, sehingga dengan memiliki USART pasti kompatibel dengan UART. Pada
ATmega8535, secara umum pengaturan mode syncrhronous maupun asyncrhronous adalah sama. Perbedaannya hanyalah terletak pada sumber clock saja. Jika pada mode asyncrhronous masing-masing peripheral memiliki sumber clock sendiri, maka pada mode
syncrhronous hanya ada satu sumber clock yang digunakan secara bersama-sama. Dengan
XCK. Komunikasi serial data antara master dan slave pada SPI diatur melalui 4 buah pin yang terdiri dari SCLK, MOSI, MISO, dan SS sbb:
a. SCLK dari master ke slave yang berfungsi sebagai clock. b. MOSI jalur data dari master dan masuk ke dalam slave. c. MISO jalur data keluar dari slave dan masuk ke dalam master.
d. SS (slave select) merupakan pin yang berfungsi untuk mengaktifkan slave.
2.5.4. Serial Peripheral Interface ( SPI )
Serial Peripheral Interface ( SPI ) adalah protokol data serial sinkron digunakan
oleh mikrokontroler untuk berkomunikasi dengan satu atau lebih perangkat periferal cepat jarak pendek. Hal ini juga dapat digunakan untuk komunikasi antara dua mikrokontroler. Dengan koneksi SPI selalu ada perangkat satu master (biasanya mikrokontroler) yang mengontrol perangkat periferal
Komunikasi SPI membutuhkan 3 jalur yaitu MOSI, MISO, dan SCK. Melalui komunikasi ini data dapat saling dikirimkan baik antara mikrokontroller maupun antara mikrokontroller dengan peripheral lain di luar mikrokontroller. Penjelasan 3 jalur utama
dari SPI adalah sebagai berikut :
a. MOSI : Master Output Slave Input, yaitu jika dikonfigurasi sebagai Master maka pin MOSI sebagai output tetapi jika dikonfigurasi sebagai Slave maka pin MOSI sebagai input.
b. MISO : Master Input Slave Output, yaitu jika dikonfigurasi sebagai Master maka pin MISO sebagai input tetapi jika dikonfigurasi sebagai Slave maka pin MISO sebagai output.
c. CLK : Clock, jika dikonfigurasi sebagai Master maka pin CLK berlaku sebagai output tetapi jika dikonfigurasi sebagai Slave maka pin CLK berlaku sebagai input.
Ada dua macam SPI, yaitu satu master dengan satu slave dan satu master dengan banyak slave. Pada gambar 2.10 ditunjukkan sambungan antar master dan slave dengan SPI.
Register yang berhubungan dengan SPI terdapat seperti gambar 2.11.
Gambar 2.11. SPI Control Register [8]
Setiap bit dari register SPCR mempunyai fungsinya masing-masing. Dan untuk mengaktifkan SPI, maka perlu diketahui setiat bit register tersebut, sebagai berikut:
a. Bit 7– SPIE: SPI Interrupt Enable. SPIE digunakan untuk mengaktifkan interupsi
SPI.
b. Bit-6 SPE (SPI Enable). SPE digunakan untuk mengaktifkan dan menonaktifkan
komunikasi SPI dimana jika SPI bernilai 1 maka komunikasi SPI aktif sedangkan jika bernilai 0 maka komunikasi SPI tidak aktif.
c. Bit 5 – DORD: Data Order. DORD digunakan untuk memilih urutan pengiriman
data, dari LSB atau MSB terlebih dahulu. Nilai satu untuk LSB dan nilai nol untuk MSB.
d. Bit-4 MSTR (Master or Slave Select). MSTR digunakan untuk mengkonfigurasi
sebagai master atau slave secara software dimana jika MSTR bernilai 1 maka terkonfigurasi sebagai master sedangkan MSTR bernilai 0 maka terkonfigurasi sebagai slave. Pengaturan bit MSTR ini tidak akan bisa dilakukan jika pin SS dikonfigurasi sebagai input karena jika pin SS dikonfigurasi sebagai input maka penentuan master atau slavenya otomatis dilakukan secara hardware yaitu dengan membaca level tegangan pada SS.
e. Bit-3 CPOL dan Bit-2 CPHA digunakan untuk pengaturan polaritas dan fasa dari
clock.
f. Bit-1 SPR1/0 (SPI Clock Rate Select) SPR1 dan SPR0 digunakan untuk
[image:38.595.87.529.254.629.2]menentukan kecepatan clock yang digunakan dalam komunikasi SPI. Tabel 2.5. Hubungan SCK dan Frekuensi Osilator [8]
SPI2x SPR1 SPR0 SCK Frequency
0 0 0 /4
0 0 1 /16
0 1 0 /64
0 1 1 /128
Tabel 2.5 (Lanjutan) Hubungan SCK dan Frekuensi Osilator [8]
1 0 1 /8
1 1 0 /32
[image:39.595.84.538.223.626.2]1 1 1 /64
Gambar 2.12. SPI Status Register [8]
SPIF (SPI Interrupt Flag) merupakan bendera yang digunakan untuk mengetahui bahwa proses pengiriman data 1 byte sudah selesai. Jika proses pengiriman data sudah selesai maka SPIF akan bernilai satu (high). SPIF ini berada dalam SPI Status Register (SPSR).
Gambar 2.13. SPI Data Register [8]
SPI Data Register (SPDR) SPDR merupakan register yang digunakan untuk menyimpan data yang akan dikirim atau diterima pada komunikasi SPI.
2.6.
Analog Digital Converter
Analog To Digital Converter (ADC) adalah pengubah input analog menjadi kode–
kode digital.[9] ADC banyak digunakan sebagai pengatur proses industri, komunikasi digital dan rangkaian pengukuran/pengujian. Umumnya ADC digunakan sebagai perantara antara sensor yang kebanyakan analog dengan sistim komputer seperti sensor suhu, cahaya, tekanan/berat, aliran dan sebagainya kemudian diukur dengan menggunakan sistem digital (komputer).
Prinsip kerja ADC adalah mengkonversi sinyal analog ke dalam bentuk besaran yang merupakan rasio perbandingan sinyal input dan tegangan referensi.
= ∗ 2 (2.6)
Sistem mikroprosesor hanya dapat mengolah (memproses) data dalam bentuk biner saja, atau lebih sering disebut besaran digital, oleh sebab itu setiap data analog yang akan diproses oleh mikrokomputer harus diubah terlebih dahulu kedalam bentuk kode biner (digital).[9] Tegangan analog yang merupakan masukan dan ADC berasal dari transducer. Tranducer inilah yang mengubah besaran kontinyu seperti temperatur, tekanan, kecepatan, ataupun putaran motor menjadi tegangan listrik. Tegangan listnik yang dihasilkan oleh transducer yang berubah secara kontinyu pada suatu range tertentu disebut tegangan analog, dan tegangan analog ini diubah oleh ADC menjadi bentuk digital yang sebanding dengan tegangan analognya. Ada 3 karakteristik yang perlu diperhatikan dalam pemilihan komponen ADC, antara lain:
Resolusi. Merupakan spesifikasi terpenting untuk ADC, yaitu jumlah langkah dan
sinyal skala penuh yang dapat dibagi, dan juga ukuran dan langkah-langkah. Boleh juga dinyatakan dalam jumlah bit yang ada dalam satu kata (digital word), ukuran LSB (langkah terkecil) sebagai persen dan skala penuh atau dapat juga LSB dalam mV (untuk skala penuh yang diberikan).
Akurasi. Adalah jumlah dan semua kesalahan, misalnya kesalahan non linieritas,
skala penuh, skala nol, dll. Dapat juga menyatakan perbedaan antara tegangan input analog secara teoritis yang dibutuhkan untuk menghasilkan suatu kode biner tertentu terhadap tegangan input nyata yang menghasilkan tegangan kode biner tersebut.
Waktu konversi. Waktu yang dibutuhkan untuk mendigitalkan setiap sampel atau
yang diperlukan untuk menyelesaikan suatu konversi.
2.7.
Visual Basic
Visual Basic adalah salah suatu development tools untuk membangun aplikasi
Basic telah menjadi tools yang terkenal bagi para pemula maupun para developer dalam
pengembangan aplikasi skala kecil sampai ke skala besar.
2.7.1. Tipe Variabel
[image:41.595.84.531.222.744.2]Ketepatan pemilihan tipe variabel akan sangat menentukan pemakaian resources oleh aplikasi yang dihasilkan, adalah tugas programmer untuk memilih tipe yang sesuai untuk menghasilkan program yang efisien dan berperfomance tinggi [10].
Tabel 2.6. Tipe variabel, pemakaian storage dan jangkauan masing-masing [10]
Type Data Ukuran Storage Jangkauan
Byte 1 byte 0 s/d 255
Boolean 2 byte True atau False Integer 3 byte -32,768 s/d 32767
Long 4 byte -2,147,483,648 s/d 2,147,483,647
Single 4 byte -3.402823E38 s/d -1.401298E-45 (-) 1.401298E-45 s/d 3.402823E38 (+)
Double 8 byte 1.79769313486232E308 s/d -4.94065645841247E-324 (-)
Currency 8 byte -922,337,203,685,477.5808 s/d 922,337,203,685,477.580
Decimal 14 byte +/79,228,162,514,264,337,593,543,9 50,335
Date 8 byte 1 Januari 100 s/d 31 Desember 9999
Object 4 byte Mengacu pada objek tertentu
String (panjang
variabel)
10 byte + panjang string
0 sampai lebih kurang 2 milyar
String (panjang
tetap)
panjang dari string 1 sampai lebih kurang 65,400
Variant (dengan
angka)
16 byte Sembarang angka sampai jangkauan
Tabel 2.6 (Lanjutan) Tipe Variabel, pemakaian storage dan jangkauan masing-masing [10] Single 4 byte -3.402823E38 s/d -1.401298E-45 (-) Decimal 14 byte +/79,228,162,514,264,337,593,543,9
50,335
2.7.2. Operator pada Visual Basic dan Urutan Operasinya
Visual basic meyediakan operator aritmatika, komparasi dan logika, salah satu hal
yang harus dipahami oleh programmer adalah tata urutan operasi dari masing-masing operator tersebut sehingga mampu membuat ekspresi yang akan menghasilkan nilai yang
[image:42.595.81.518.218.657.2]benar, Tabel 2.7 menunjukkan operator dan urutan operasinya dari atas ke bawah.
Tabel 2.7. Operator pada Visual Basic dan urutan operasi dari atas ke bawah
Aritmatika Komparasi Logika
Pangkat (^) Sama (=) Not
Negatif (-) Tidak sama (<>) And
Kali dan Bagi (*, /) Kurang dari (<) Or
Pembagian bulat (\) Lebih dari (>) Xor
Sisa Bagi (Mod) Kurang dari atau
sama (<=) Eqv
Tambah dan Kurang (+,-)
Lebih dari atau
sama (>=) Imp
Pengabungan
String (&) Like
2.7.3. Operator Like
Salah satu operator yang menarik untuk dibahas adalah operator like, karena operatorini tidak tersedia pada bahasa BASIC. Operator digunakan untuk operasi
pencocokan polapada string yang akan sangat membantu programmer. Tabel 2.8. menunjukan karakter dalam pencocokan pola pada operator like.
Tabel 2.8. Karakter dalam pencocokan pola pada Operator Like Karakter dalam pola Penyamaan dalam string
Tabel 2.8 (Lanjutan) Karakter dalam pencocokan pola pada Operator Like
* Nol atau lebih karakter
[image:43.595.80.530.86.692.2]# Sembarang digit tunggal (0-9)
[charlist] Sembarang karakter yang berada dalam charlist [!charlist] Sembarang karakter yang tidak berada dalam
charlist
2.7.4. Deklarasi Variabel
a. Deklarasi variabel pada bagian deklarasi (general declaration) di suatu form, standar, atau class module, dari pada dalam suatu procedure, membuat variabel itu berlaku untuk semua procedure dan function dalam module tersebut
b. Deklarasi variabel dengan menggunakan keyword Public membuatnya berlaku pada keseluruhan aplikasi anda.
c. Deklarasi suatu variabel lokal dengan menggunakanan keyword Static akan menyimpan nilainya ketika suatu procedure berakhir.
2.7.5. Mengenal Struktur Kendali
Struktur kendali memungkinkan anda untuk mengatur jalannya program anda, Jika membiarkan tanpa di periksa oleh statement control-flow, suatu logika program akan berjalan dari kiri ke kanan dan dari atas kebawah. Hanya program yang sangat sederhana dapat ditulis tanpa statement control-flow. Struktur keputusan yang didukung oleh Visual Basic adalah sebagai berikut :
a. If…Then
Kondisi biasanya berupa suatu perbandingan, maupun ekspresi yang menghasilkan nilai numerik.Visual Basic menginterpretasikan False sebagai nol (0), dan True sebagai bukan nol.
b. If…Then…Else
Visual Basic awalnya akan mencoba kondisi1. Jika False, maka Visual Basic akan
memeriksa kondisi2, dan seterusnya sampai menemukan suatu kondisi True untuk dijalankan blok pernyataannya.
c. Select Case
Visual Basic menyediakan struktur Select Case sebagai suatu alternatif terhadap
If…Then…Else…, tetapi membuat code lebih mudah dibaca. Struktur Select Case
bekerja dengan suatu percobaan tunggal yang hanya dievaluasi satu kali pada bagian atas struktur.Visual Basic then membandingkan hasil ekspresi dengan nilai pada setiap case didalam struktur tersebut, jika ada yang sesuai, akan dijalankan blok statement
yang sesuai.
2.7.6. Deklarasi Konstanta
Membuat code dapat ditangani dengan menggunakan suatu konstanta [9]. Suatu konstanta adalah nama yang menyimpan dari suatu nilai yang tidak dapat berubah. Ada dua sumber dari suatu konstanta :
a. Intrinsic atau System-defined konstanta yang disediakan oleh suatu aplikasi atau kontrol. Konstanta Visual Basic terdaftar pada Visual Basic (VB), Visual Basic for Application (VBA), dan Data Access (DAO).
b. Symbolic atau User-defined konstanta adalah dideklarasikan dengan menggunakan statement Const.
c. Membuat suatu konstanta yang mana hanya ada dalam suatu procedure, deklarasikan di dalam procedure tersebut
d. Membuat suatu konstanta berlaku pada semua procedure dalam suatu module, deklarasikan dia pada bagian deklarasi di module tersebut.
e. Membuat suatu konstanta berlaku pada semua aplikasi, deklarasikan dia dengan keyword Public sebelum kata Const.
2.7.7. Struktur Pengulangan
Struktur loop memperbolehkan untuk melaksanakan sekelompok baris lebih dari satu kali [9]:
a. Do…Loop
Ketika Visual menjalankan Do loop ini, pertama kali akan di coba kondisinya, jika kondisi False (0), akan diloncati semua statements yang mengikuti kondisi tersebut. Visual Basic akan menjalankan statements jika kondisi benar dan kembali ke
Do…Loopberikutnya. b. For…Next
Do loops bekerja dengan baik, ketika anda tidak tahu berapa bayak kali untuk
statement sejumlah kali, bagaimanapun For…Next adalah pilihan yang lebih baik. Tidak sepertiDo Loop, For…loop menggunakan suatu variabel yang disebut counter yang mana akan bertambah atau berkurang pada setiap perulangan.
c. Do While…Loop
Pengulangan Do While…Loop digunakan apabila jumlah pengulangan belum diketahui, dan nilai awal pengulangan harus diinialisasi terlebih dahulu. Dalam program terdapat counter untuk menaikkan nilai pengulangan.
2.8.
CodeVision AVR Eval
CodeVision AVR C Compiler (CVAVR) merupakan compiler bahasa C untuk AVR, compiler ini cukup memadai untuk belajar AVR, karena selain mudah penggunaannya, juga didukung berbagai fitur yang sangat membantu dalam pembuatan software untuk keperluan pemrograman AVR [11].
CVAVR ini dapat berjalan di bawah system operasi Windows 9x, Me, NT 4, 2000, dan XP. CVAVR ini dapat mengimplementasikan hampir semua instruksi bahasa C yang sesuai dengan arsitektur AVR, bahkan terdapat beberapa unggulan tambahan untuk memenuhi keunggulan spesifik dari AVR. Hasil kompilasi objek CVAVR bisa digunakan sebagai source degub dengan AVR Studio debugger dari ATMEL.
Selain pustaka standar bahasa C, CVAVR juga menyediakan pustaka tambahan yang sangat membantu pemrograman AVR, yaitu:
1. Alphanumeric LCD modules 2. Phillips I2C bus
3. National Semiconductor LM75 Temperature Sensor
4. Phillips PCF8563, PCF8583, Maxim/Dallas Semiconductor DS1302 and DS1307 Real Time Clock
5. Maxim/Dallas Semiconductor 1 Wire Protocol
6. Maxim/Dallas Semiconductor DS1820, DS18520, DS18B20, Temperature Sensors, 7. Maxim/Dallas Semiconductor DS1621 Thermometer/Thermostat
8. Maxim/Dallas Semiconductor DS2430 and DS2433 EEPROMs 9. SPI
11. Delays
12. Gray Code conversion
13. CVAVR juga memiliki program generator yang memungkinkan kita membuat program dengan cepat
2.9.
USB to TTL
USB to TTL adalah sebuah modul yang berguna untuk berkomunikasi dengan peralatan eksternal dengan port USB (Universal Serial Bus) secara serial seperti pada protokol RS-232 namun pada tingkatan tegangan signal yang kompatibel dengan TTL, level tegangan yang umum digunakan pada UART mikrokontroler berbasis 5V [12]. Modul ini memiliki beberapa fitur seperti berikut:
1. Spesifikasi USB 2.0 dan kompatibel dengan kecepatan sampai 12Mbps.
2. Standar USB jenis male dan TTL 5 pin konektor. 5 pins untuk TXD RXD GND 3.3V 5V.
3. Baud rates: 300 bps to 1.5 Mbps.
4. Byte receive buffer; 640 byte transmit buffer. 5. Temperature Range: -40 to +85.
6. Supports Windows 98SE, 2000, XP, Vista, Windows 7, Mac OS 9, Mac OS X & Linux 2.40.
[image:46.595.84.529.239.667.2]Berikut bentuk fisik dari USB to TTL ditunjukkan pada gambar 2.14.
2.10. Push Button
Sakelar tombol tekan adalah (Push Button Switch) suatu jenis peralatan kontrol yang digunakan untuk menghubungkan atau memutuskan rangkaian listrik. Saklar tombol tekan dioperasikan secara manual dengan cara menekan tombolnya. Menurut kedudukan kontak-kontaknya tombol tekan dapat dibagi menjadi dua yaitu: Normally Open (NO) dan Normally Close (NC). Kontak NO kedudukan kontaknya dalam keadaan terbuka sebelum
tombol dioperasikan /ditekan. Apabila kontak NO tersebut dioperasikan/ditekan maka kedudukan kontaknya akan berubah menjadi NC (tertutup), begitu juga sebaliknya untuk kontak NC dan ketika tombol dilepas maka kedudukan kontaknya akan kembali ke posisi semula.
Berdasarkan fungsi kerjanya yang menghubungkan dan memutuskan, push button switch mempunyai 2 tipe kontak yaitu NC (Normally Close) dan NO (Normally Open).
a. NO (Normally Open), merupakan kontak terminal dimana kondisi normalnya terbuka (aliran arus listrik tidak mengalir). Dan ketika tombol saklar ditekan, kontak yang NO ini akan menjadi menutup (Close) dan mengalirkan atau menghubungkan arus listrik. Kontak NO digunakan sebagai penghubung atau menyalakan sistem circuit (Push Button ON).
b. NC (Normally Close), merupakan kontak terminal dimana kondisi normalnya tertutup (mengalirkan arus litrik). Dan ketika tombol saklar push button ditekan, kontak NC ini akan menjadi membuka (Open), sehingga memutus aliran arus listrik. Kontak NC digunakan sebagai pemutus atau mematikan sistem circuit (Push Button Off).
[image:47.595.86.528.230.685.2]Push button switch ditujukan pada gambar 2.15.
Gambar 2.15 Push Button Switch [13]
semua perangkat listrik yang memerlukan sumber energi listrik pasti membutuhkan kondisi On dan Off. Karena sistem kerjanya yang unlock dan langsung berhubungan dengan operator, push button switch menjadi device paling utama yang biasa digunakan untuk memulai dan mengakhiri kerja mesin di industri. Secanggih apapun sebuah mesin bisa dipastikan sistem kerjanya tidak terlepas dari keberadaan sebuah saklar seperti push button switch atau perangkat lain yang sejenis yang bekerja mengatur pengkondisian On dan Off.
30
BAB III
PERANCANGAN
Bab ini menjelaskan tentang perancangan mengenai perancangan alat secara umum, hardware dan software.
3.1.
Perancangan Alat Secara Umum
Ide untuk membuat alat ini adalah membuat sebuah sistem penimbang berat bayi yang lebih gampang digunakan dan didokumentasikan dalam bentuk grafik agar terpantau kesehatan bayi. Untuk rancangan mekanik timbangan bayi terdiri dari beberapa bagian,yaitu rancang mekanik secara keseluruhan dapat dilihat pada gambar 3.1 dan rancang mekanik per-part dapat dilihat pada gambar 3.2
Perancangan secara umum terdiri dari keranjang yang berfungsi untuk meletakkan bayi yang ingin ditimbang, kemudian terdapat box yang berfungsi sebagai timbangan dan tempat meletakkan sistem secara keseluruhan. Hal pertama yang dilakukan yakni memasukkan nama dan tanggal lahir bayi yang ingin ditimbang berat badannya, kemudian bayi diletakkan di atas keranjang yang sudah disediakan. Setelah itu, data akan diolah didalam mikrokontroler untuk mengubah sinyalnya yang semula analog diubah menjadi sinyal digital. Berikutnya data yang sudah diolah dalam bentuk sinyal digital diolah kembali didalam visual basic. Tujuannya adalah membandingkan data berat yang sudah diolah dengan tanggal lahir bayi supaya didapatkan grafik hubungan antara berat badan bayi dan umurnya. Dari sini bisa didapatkan hasil apakah bayi mengalami pertumbuhan yang optimal atau tidak.
Gambar 3.2 Rancang mekanik per-part
3.2
Perancangan Alat Secara Hardware
Perancangan secara Hardware ini meliputi perancangan pada rangkaian minimum system ATMega 8535, rangkaian LCD 16x2, regulator tegangan, dan rangkaian sensor
FlexyForce
3.2.1 Rangkaian Sistem Minimum AVR 8535
Sistem minimum (sismin) mikrokontroler adalah rangkaian elektronik minimum yang diperlukan untuk beroperasinya IC mikrokontroler. Sismin ini kemudian bisa dihubungkan dengan rangkaian lain untuk menjalankan fungsi tertentu. Di keluarga mikrokontroler AVR, seri 8535 adalah salah satu seri yang sangat banyak digunakan.
Untuk membuat rangkaian sismin Atmel AVR 8535 diperlukan beberapa komponen yaitu:
1. IC mikrokontroler ATmega8535
2. XTAL 12 MHz (XTAL1)
3. Kapasitor yaitu dua buah 22 pF (C2 dan C3) serta 100 nF (C4) 4. Satu kapasitor elektrolit 4.7 uF (C12)
5. Dua resistor yaitu 100 ohm (R1) dan 10 Kohm (R3) 6. Satu tombol reset pushbutton (PB1)
Rangkaian Osilator ditujukan pada gambar 3.3 perancangan osilator menggunakan Kristal dengan frekuensi 12 MHz dan menggunakan kapasitor 22pF (sesuai dengan datasheet) pada pin XTAL1dan XTAL2di mikrokontroler-nya.
Gambar 3.3 Rangkaian Osilator
Rangkain reset ditujukan pada gambar 3.4 bertujuan untuk memaksa proses kerja pada mikrokontroler diulang dari awal. Jika tombol reset ditekan, maka pin reset akan mendapat input logika rendah, sehingga mikrokontroler akan mengulang proses eksekusi program dari awal. Pada perancangan, rangkaian reset digunakan resistor sebesar 10kΩ dan kapasitor sebesar 10uF.
Gambar 3.4 Rangkaian Reset
Perancangan penggunaan port sebagai input dan output pada mikrokontroler disesuaikan dengan kebutuhan. Port yang akan digunakan adalah Port A, Port B, Port C dan Port D. Port A.0 digunakan sebagai input sensor Flexiforce, Port B.7 digunakan sebagai tombol start, Port B.6 digunakan sebagai tombol stop , dan Port B.5 digunakan sebagai tombol reset. Lalu, Port C.7, Port C.6, Port C.5, Port C.4 digunakan sebagai Port data. Sedangkan, Port C.2 sebagai Port Enable Port C.1 sebagai port R/W , dan Port C.0
Tabel 3.1 penggunaan masing-masing port
No Nama Port Keterangan
1 Port A.0 Input Sensor
2 Port C.7 DB0 LCD
3 Port C.6 DB1 LCD
4 Port C.5 DB2 LCD
5 Port C.4 DB3 LCD
6 Port C.2 Port Enable
7 Port C.1 Port R/W
8 Port C.0 Port RS
Gambar 3.5 Rangkaian Sistem Minumum ATmega 8535
3.2.2 Rangkaian LCD
16x2 yang memiliki tipe LMB162A. LCD tipe 16x2 ini memungkinkan pemrogram untuk mengoperasikan komunikasi data secara 8 bit atau 4 bit. Dalam perancangan ini, mode yang digunakan untuk menuliskan data ke LCD adalah mode nibble (4 bit). Port C.7, Port C.6, Port C.5, dan Port C.4 digunakan sebagai port data. Sedangkan, Port C.2, Port C.1, dan Port C.0 digunakan sebagai port pengatur interface LCD.
Berdasarkan datasheet tegangan kontras (VCC LCD) maksimum sebesar 5VDC,
sehingga dalam perancangan digunakan resistor variable sebesar 10kΩ yang berfungsi untuk membatasi tegangan yang masuk ke pin VCC LCD. Rangkaian LCD dengan mode nibble (4 bit) terdapat pada gambar 3.6.
[image:53.595.83.513.194.713.2]Gambar 3.6 Rangkaian LCD
Setelah baca ADC pada mikrokontroler ATMega 8535, LCD akan menampilkan data Berat Bayi.Gambar 3.7 menunjukkan tampilan pada LCD 16x2 yang berisi Berat Bayi dengan ketelitian 0.1 Kg.
3.2.3 Regulator Tegangan
Regulator tegangan digunakan untuk menyalakan piranti mikrokontroler ATmega 8535, LCD 16x2, dan sensor Flexiforce. Piranti-piranti tersebut membutuhkan catu daya sebesar 5VDC.Rangkaian catu daya memperoleh sumber tegangan dari jala-jala listrik PLN. Tegangan 220VACditurunkan terlebih dahulu menggunakan trafo 1A. Penurunan tegangan menjadi sekitar 12VAC. Tegangan AC tersebut disearahkan menggunakan dioda bridge, sehingga menghasilkan gelombang penuh. Rangkaian catu daya tersebut menghasilkan tegangan sebesar 5VDC.
IC Regulator yang digunakan untuk menghasilkan 5V adalah menggunakan IC 7805. Rangkaian catu daya yang digunakan dapat dilihat pada gambar 3.7. Nilai kapasitor C1 dapat dihitung menggunakan persamaan 2.2 dengan IDC sebesar 1A dan frekuensi sebesar 50Hz. Nilai Vr(rms) dihitung menggunakan persamaan 2.3 dengan Vr(p-p) dihitung menggunakan persamaan 2.4 dan Vm dihitung menggunakan persamaan 2.5. dengan nilai C2 berdasarkan datasheet sebesar 0,01uF.Berikut adalah perhitungan C1.
Vm=VAC√2-1.4V
Vm=12√2-1.4V = 15,57V
Vr(p-p)=Vm-Vmin= 15,57 V- 7.5 V= 8,07 V
Vr(rms)= ( )
√ =
,
√ =2,32 V
C1=
√ ,
C1= 1244uF
3.2.4 Rangkaian pengondisi sinyal sensor Flexiforce
Gambar 3.8 Rangkaian catu daya
Gambar 3.9 Rangkaian pengondisi sinyal sensor flexiforce
Berdasarkan persamaan 2.1 akan dicari nilai dan . Nilai bisa didapatkan
berdasarkan grafik pada gambar 3.10:
Pada gambar 3.10 terdapat garis bantu berwarna hijau. Sumbu X mewakili berat dalam satuan pon (1 pon = 0.45 Kg), sumbu Y (sebelah kiri) mewakili Resistansi (KΩ ),dan
sumbu Y (sebelah kanan) mewakili konduktansi (mʊ). Untuk menentukan maka
ditariklah sebuah garis bantu berwarna hijau pada sumbu X (45 pon≈ 20Kg) dan sumbu Y
sebelah kanan (± 0,0078mʊ). Sedangkan untuk menentukan maka ditariklah
sebuah garis bantu berwarna merah pada sumbu X (5 pon ≈ 0Kg) dan sumbu Y sebelah kanan (± 0,0019mʊ). Maka, berdasarkan grafik tersebut didapatkanlah nilai konduktansi ( =0,078mʊ). Setelah mendapatkan nilai , nilai Rf ditentukan berdasarkan
datasheet yang berkisar antara 1 KΩ - 100 KΩ .
Untuk nilai Rf= 1KΩ diperoleh VOut:
VOut= -VT *
VOut= - (-5V) * Ω
, ʊ
VOut = 39mV
Untuk nilai Rf= 100kΩ diperoleh VOut:
VOut= -VT *
VOut= - (-5V)* Ω
, ʊ
VOut= 3,9V
Berdasarkan perhitungan diatas, didapatkanlah VOut sebesar 39mV (dengan nilai Rf 1 KΩ ) dan 3,9V (dengan nilai Rf100KΩ ).Karena nilai VOut39mV terlalu kecil, maka VOut yang diambil adalah 3,9V. Dari perhitungan yang dilakukan di atas, didapatkanlah nilai
sebesar 0,0078mʊ dan nilai Rfsebesar 100 KΩ .
VOut= -VT *
VOut= - (-5V)* Ω
, ʊ
VOut= 0,95V
Setelah mendapatkan nilai Rfdan maka selanjutnya memperhitungkan nilai ADC.
Nilai ADC disini untuk menentukan berapakah range untuk masukan ke mikrokontroler. Berdasarkan persamaan 2.6 akan ditentukan berapakah range dari ADC tersebut. Berikut adalah perhitungannya:
Untuk nilai Vin= 0,95V (saat beban minimal 5 pon) nilai ADC-nya adalah:
ADC = ∗ 1023
ADCmin= , ∗ 1023
ADCmin= 194,37≈ 194
Untuk nilai Vin= 3,9V (saat beban maksimal 45 pon) nilai ADC-nya adalah:
ADC = ∗ 1023
ADCmax= , ∗ 1023
ADCmax= 797,94≈ 798
Gambar 3.11 Grafik perbandingan antara Berat Badan dengan Nilai ADC x y m    03 . 0 194 798 25 . 2 25 . 20          m m
3.57
82 . 5 25 . 2 82 . 5 25 . 2 ) 194 ( 03 . 0 25 . 2           c c c c c mx yBerdasarkan gambar 3.11 akan ditentukan berapakah persamaan garisnya. Awalnya, tentukan berapa nilai m (gradient), selanjutnya tentukan berapa nilai c (konstanta). Setelah dihitung, didapatlah persamaan garis, yaitu: y003x3.57
3.3
Perancangan alat secara Software
Rancangan alat secara software dibuat dalam bentuk flowchart agar mempermudah proses pembuatan listing program. Perancangan alat secara software terdiri dari dua program utama, yaitu program utama pada Visual Basic sebagai user interface serta program utama pada mikrokontroler ATMega 8535 sebagai pengolah data masuk dari sensor menuju visual basic. Rancangan Visual Basic dapat dilihat pada gambar 3.10.
0 100 200 300 400 500 600 700 800 900
0 5 10 15 20 25
Y ( Ni lai A DC )
Gambar 3.12 Rancangan form1 pada Visual Basic
Gambar 3.13 Rancangan form 2 pada Visual Basic
Pada grafik data sumbu X adalah umur bayi (bulan) dari 0 bulan sampai 24 bulan sedangkan pada sumbu Y adalah berat (Kilogram) dari 0 Kilogram sampai 17 Kilogram. Selain itu, terdapat garis referensi sebagai batas atas dan batas bawah yang telah diatur berdasarkan Kartu Menuju Sehat (KMS).
Gambar 3.14 Rancangan grafik bayi laki-laki berdasarkan KMS [2]
Gambar 3.15 Rancangan grafik bayi perempuan berdasarkan KMS [2]
3.3.1 Program utama Mikrokontroler ATMega 8535
Program utama Mikrokontroler 8535 adalah program yang akan diteruskan ke program penampil Visual Basic. Hal pertama adlah menanyakan ada atau tidaknya tombol ditekan,jika tidak maka akan kembali untuk mengecek kembali ambil data tombol.
Selanjutnya menanyakan ada karakter”a” yang dikirim, jika tidak maka akan kembali ambil data karakter yang dikirim. Lalu, pengukuran berat keranjang dilakukan dilanjutkan dengan peng-nol-an. Dengan adanya peng-nol-an maka data berat akan lebih akurat.Mikrokontroler akan membaca ADC dan menampilkan data berat pada
0 2 4 6 8 10 12 14 16
1 4 7 10 13 16 19 22 25
be ra t b ad an (kg ) umur (bulan)
Bayi Laki-Laki
Berat bayi laki-laki (batas bawah) Berat laki-laki (batas atas) 0 2 4 6 8 10 12 14
1 3 5 7 9 1113151719212325
Be
ra
t (
Kg
)
Umur bayi (bulan)
LCD.Lalu,akan mengirimkan data tersebut ke Visual Basic. Diagram alir program utama mikrokontroler ATMega 8535 dapat dilihat pada gambar 3.16.
3.3.2 Program utama Visual Basic
Program utama Visual Basic adalah program penampil oleh Visual Basic setelah data diolah oeh Mikrokontroler ATMega 8535. Hal pertama yang dilakukan adalah menmasukkan umur, tanggal lahir bayi, dan juga berat lahir bayi tersebut. Setelah itu akan