Perancangan Waterpass Digital untuk Mengukur Kemiringan Permukaan Menggunakan Sensor MPU6050 Berbasis ATmega8535
LAMPIRAN A
Pada gambar A. di bawah ini menjelaskan tentang layout atau susunan komponen yang mencakup semuanya alat pengukur Indeks Massa
Tubuh selanjutnya dapat di lihat pada gambar sebagai berikut :
Gambar A. Layout alat pengukur Indeks Massa Tubuh
Universitas Sumatera Utara
LAMPIRAN A( Lanjutan )
Pada gambar B di bawah ini merupakan suatu output dari sebuah alat pengukur Indeks
Massa Tubuh dapat di lihat pada form di bawah ini sebagai berikut :
Gambar B. Form tampilan outputalat pengukur Indeks Massa Tubuh
Universitas Sumatera Utara
LAMPIRAN A( Lanjutan )
Pada gambar C di bawah ini merupakan output Database alat pengukur Indeks Massa
Tubuh dapat di lihat pada form di bawah ini sebagai berikut :
Gambar C. Form tampilan Database alat pengukur Indeks Massa Tubuh
Universitas Sumatera Utara
LAMPIRAN B
Pada lampiran B ini terdapat 2 program,yaituprogram
yang ada di dalam
mikrokontroller dengan menggunakan bahasa C sebagai pembaca data dari sensor
ultrasonic dan sensor load cell dan program VB yang di gunakan pada PC sebagai
output data terakhirselanjutnya dapat di perhatikan proram sebagai berikut :
Program Bahasa C ( Mikrokontroller )
/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.3 Standard
Automatic Program Generator
© Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date
: 1/26/2013
Author : user
Company : free
Comments:
Chip type
: ATmega8535
Program type
: Application
AVR Core Clock frequency: 11.059200 MHz
Memory model
: Small
External RAM size
:0
Data Stack size
: 128
*****************************************************/
#include
#include
// Standard Input/Output functions
Universitas Sumatera Utara
#include
#define ADC_VREF_TYPE 0x40
// Read the AD conversion result
float read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
// Declare your global variables here
#define SIG_out
PORTB.4
#define SIG_in
PINB.4
#define SIG_dir
DDRB.4
float US,nilai,nil_ber,nilai3;
unsigned int i;
void tinggi(void)
{
SIG_dir = 1;
// set variabel SIG sebagai output
SIG_out = 0; //memulai pengiriman pulsa
delay_us(20); //
SIG_out = 1; //
SIG_dir = 0; // set SIG pin sebagai input
TCNT1=0;
Universitas Sumatera Utara
while (SIG_in);
TCCR1B=0x02;
// tunggu pulsa kembali
//
while ((!SIG_in) && !(TIFR & 0x80)); //
TCCR1B=0x00;
US = TCNT1;
US = US/50;
// hentikan timer
// simpan nilai TCNT1 ke variabel US
// convert to CM
US = 188-US;
}
void berat(void)
{
nil_ber=0;
for(i=0;i= 17 Then
If k = 18.5 Then
If k = 25.1 Then
If k 27 Then
Text3 = "Gemuk berat"
End If
Text2(3).Text = k
Select Case Index
Case 0 'tambah
aktif
txt_nim.Enabled = True
txt_nim.SetFocus
cmd_simptamb.Enabled = True
cmd_operasi(0).Enabled = False
cmd_operasi(1).Enabled = False
cmd_operasi(2).Enabled = False
Case 1 'edit
txt_nim.Enabled = False
cmd_simpdit.Enabled = True
cmd_operasi(0).Enabled = False
cmd_operasi(2).Enabled = False
txt_no.Text = lv.SelectedItem.Text
txt_nama.Text = lv.SelectedItem.SubItems(1)
txt_alamat.Text = lv.SelectedItem.SubItems(2)
If lv.SelectedItem.SubItems(3) = opt_kel(0).Caption Then
opt_kel(0).Value = True
Else
opt_kel(1).Value = True
End If
Text2(0).Text = lv.SelectedItem.SubItems(4)
Text2(1).Text = lv.SelectedItem.SubItems(5)
Text2(3).Text = lv.SelectedItem.SubItems(6)
On Error GoTo ed
Image1.Picture = LoadPicture(lv.SelectedItem.SubItems(7))
Label7.Caption = lv.SelectedItem.SubItems(7)
aktif
Exit Sub
ed:
aktif
MsgBox "Direktori/Foto telah diPindah", vbInformation, "Pesan"
Case 2 'hapus
If lv.SelectedItem.Selected = False Then
a = MsgBox("Pilih yang akan di Hapus", vbInformation, "Pesan")
Else
Universitas Sumatera Utara
pilih = 0
For m = 1 To lv.ListItems.Count
If lv.ListItems(m).Selected = True Then
pilih = pilih + 1
End If
Next m
For m = 1 To lv.ListItems.Count
If lv.ListItems(m).Selected = True Then
del = "Delete From database where NO ='" &lv.ListItems(m).Text & "'"
MsgBox "Data yang Anda Pilih Terhapus", vbInformation, "Pesan"
D_E.Con.Execute del
'lv.ListItems.Clear
D_E.rsTab_MHS.Requery
End If
Next m
lv.ListItems.Clear
D_E.rsTab_MHS.Requery
Call tampil_data
End If
End Select
End Sub
Private Sub cmd_simpdit_Click()
If txt_no.Text = "" Then
MsgBox "Isi no ", vbInformation, "Pesan"
ElseIf txt_nama.Text = "" Then
MsgBox "Isi Nama anda", vbInformation, "Pesan"
ElseIf txt_alamat.Text = "" Then
MsgBox "Isi Alamat anda", vbInformation, "Pesan"
ElseIf opt_kel(0).Value = False And opt_kel(1).Value = False Then
MsgBox "Isi Jenis Kelamin anda", vbInformation, "Pesan"
ElseIf Text2(0).Text = "" Then
MsgBox "Berat belum terisi", vbInformation, "Pesan"
ElseIf Text2(1).Text = "" Then
MsgBox "tinggi belum terisi", vbInformation, "Pesan"
ElseIf Image1.Picture = 0 Then
MsgBox "Isi Foto anda", vbInformation, "Pesan"
Else
With D_E.rsTab_MHS
.MoveFirst
.Find "NO= '" + txt_nim.Text + "'"
!NO = txt_no.Text
!Nama = txt_nama.Text
!Alamat = txt_alamat.Text
If opt_kel(0).Value = True Then
!Jenis_kelamin = opt_kel(0).Caption
Else
Universitas Sumatera Utara
!Jenis_kelamin = opt_kel(1).Caption
End If
!Berat = Text2(0).Text
!Tinggi = Text2(1).Text
!IMT = Text2(3).Text
!Foto = Label7.Caption
.Update
.Requery
MsgBox "Data Berhasil di Edit", vbInformation, "Pesan"
hapus
tampil_data
End With
End If
End Sub
Private Sub cmd_simptamb_Click()
If txt_no.Text = "" Then
MsgBox "Isi no", vbInformation, "Pesan"
ElseIf txt_nama.Text = "" Then
MsgBox "Isi Nama anda", vbInformation, "Pesan"
ElseIf txt_alamat.Text = "" Then
MsgBox "Isi Alamat anda", vbInformation, "Pesan"
ElseIf opt_kel(0).Value = False And opt_kel(1).Value = False Then
MsgBox "Isi Jenis Kelamin anda", vbInformation, "Pesan"
ElseIf Text2(0).Text = "" Then
MsgBox "Berat belum terisi", vbInformation, "Pesan"
ElseIf Text2(1).Text = "" Then
MsgBox "tinggi belum terisi", vbInformation, "Pesan"
ElseIf Image1.Picture = 0 Then
MsgBox "Isi Foto anda", vbInformation, "Pesan"
Else
With D_E.rsTab_MHS
.Find "NO= '" + txt_no.Text + "'"
If .EOF Then
.AddNew
!NO = txt_no.Text
!Nama = txt_nama.Text
!Alamat = txt_alamat.Text
If opt_kel(0).Value = True Then
!Jenis_kelamin = opt_kel(0).Caption
Else
!Jenis_kelamin = opt_kel(1).Caption
End If
!Berat = Text2(0).Text
!Tinggi = Text2(1).Text
!IMT = Text2(3).Text
!Foto = Label7.Caption
Universitas Sumatera Utara
Pada gambar A. di bawah ini menjelaskan tentang layout atau susunan komponen yang mencakup semuanya alat pengukur Indeks Massa
Tubuh selanjutnya dapat di lihat pada gambar sebagai berikut :
Gambar A. Layout alat pengukur Indeks Massa Tubuh
Universitas Sumatera Utara
LAMPIRAN A( Lanjutan )
Pada gambar B di bawah ini merupakan suatu output dari sebuah alat pengukur Indeks
Massa Tubuh dapat di lihat pada form di bawah ini sebagai berikut :
Gambar B. Form tampilan outputalat pengukur Indeks Massa Tubuh
Universitas Sumatera Utara
LAMPIRAN A( Lanjutan )
Pada gambar C di bawah ini merupakan output Database alat pengukur Indeks Massa
Tubuh dapat di lihat pada form di bawah ini sebagai berikut :
Gambar C. Form tampilan Database alat pengukur Indeks Massa Tubuh
Universitas Sumatera Utara
LAMPIRAN B
Pada lampiran B ini terdapat 2 program,yaituprogram
yang ada di dalam
mikrokontroller dengan menggunakan bahasa C sebagai pembaca data dari sensor
ultrasonic dan sensor load cell dan program VB yang di gunakan pada PC sebagai
output data terakhirselanjutnya dapat di perhatikan proram sebagai berikut :
Program Bahasa C ( Mikrokontroller )
/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.3 Standard
Automatic Program Generator
© Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date
: 1/26/2013
Author : user
Company : free
Comments:
Chip type
: ATmega8535
Program type
: Application
AVR Core Clock frequency: 11.059200 MHz
Memory model
: Small
External RAM size
:0
Data Stack size
: 128
*****************************************************/
#include
#include
// Standard Input/Output functions
Universitas Sumatera Utara
#include
#define ADC_VREF_TYPE 0x40
// Read the AD conversion result
float read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
// Declare your global variables here
#define SIG_out
PORTB.4
#define SIG_in
PINB.4
#define SIG_dir
DDRB.4
float US,nilai,nil_ber,nilai3;
unsigned int i;
void tinggi(void)
{
SIG_dir = 1;
// set variabel SIG sebagai output
SIG_out = 0; //memulai pengiriman pulsa
delay_us(20); //
SIG_out = 1; //
SIG_dir = 0; // set SIG pin sebagai input
TCNT1=0;
Universitas Sumatera Utara
while (SIG_in);
TCCR1B=0x02;
// tunggu pulsa kembali
//
while ((!SIG_in) && !(TIFR & 0x80)); //
TCCR1B=0x00;
US = TCNT1;
US = US/50;
// hentikan timer
// simpan nilai TCNT1 ke variabel US
// convert to CM
US = 188-US;
}
void berat(void)
{
nil_ber=0;
for(i=0;i= 17 Then
If k = 18.5 Then
If k = 25.1 Then
If k 27 Then
Text3 = "Gemuk berat"
End If
Text2(3).Text = k
Select Case Index
Case 0 'tambah
aktif
txt_nim.Enabled = True
txt_nim.SetFocus
cmd_simptamb.Enabled = True
cmd_operasi(0).Enabled = False
cmd_operasi(1).Enabled = False
cmd_operasi(2).Enabled = False
Case 1 'edit
txt_nim.Enabled = False
cmd_simpdit.Enabled = True
cmd_operasi(0).Enabled = False
cmd_operasi(2).Enabled = False
txt_no.Text = lv.SelectedItem.Text
txt_nama.Text = lv.SelectedItem.SubItems(1)
txt_alamat.Text = lv.SelectedItem.SubItems(2)
If lv.SelectedItem.SubItems(3) = opt_kel(0).Caption Then
opt_kel(0).Value = True
Else
opt_kel(1).Value = True
End If
Text2(0).Text = lv.SelectedItem.SubItems(4)
Text2(1).Text = lv.SelectedItem.SubItems(5)
Text2(3).Text = lv.SelectedItem.SubItems(6)
On Error GoTo ed
Image1.Picture = LoadPicture(lv.SelectedItem.SubItems(7))
Label7.Caption = lv.SelectedItem.SubItems(7)
aktif
Exit Sub
ed:
aktif
MsgBox "Direktori/Foto telah diPindah", vbInformation, "Pesan"
Case 2 'hapus
If lv.SelectedItem.Selected = False Then
a = MsgBox("Pilih yang akan di Hapus", vbInformation, "Pesan")
Else
Universitas Sumatera Utara
pilih = 0
For m = 1 To lv.ListItems.Count
If lv.ListItems(m).Selected = True Then
pilih = pilih + 1
End If
Next m
For m = 1 To lv.ListItems.Count
If lv.ListItems(m).Selected = True Then
del = "Delete From database where NO ='" &lv.ListItems(m).Text & "'"
MsgBox "Data yang Anda Pilih Terhapus", vbInformation, "Pesan"
D_E.Con.Execute del
'lv.ListItems.Clear
D_E.rsTab_MHS.Requery
End If
Next m
lv.ListItems.Clear
D_E.rsTab_MHS.Requery
Call tampil_data
End If
End Select
End Sub
Private Sub cmd_simpdit_Click()
If txt_no.Text = "" Then
MsgBox "Isi no ", vbInformation, "Pesan"
ElseIf txt_nama.Text = "" Then
MsgBox "Isi Nama anda", vbInformation, "Pesan"
ElseIf txt_alamat.Text = "" Then
MsgBox "Isi Alamat anda", vbInformation, "Pesan"
ElseIf opt_kel(0).Value = False And opt_kel(1).Value = False Then
MsgBox "Isi Jenis Kelamin anda", vbInformation, "Pesan"
ElseIf Text2(0).Text = "" Then
MsgBox "Berat belum terisi", vbInformation, "Pesan"
ElseIf Text2(1).Text = "" Then
MsgBox "tinggi belum terisi", vbInformation, "Pesan"
ElseIf Image1.Picture = 0 Then
MsgBox "Isi Foto anda", vbInformation, "Pesan"
Else
With D_E.rsTab_MHS
.MoveFirst
.Find "NO= '" + txt_nim.Text + "'"
!NO = txt_no.Text
!Nama = txt_nama.Text
!Alamat = txt_alamat.Text
If opt_kel(0).Value = True Then
!Jenis_kelamin = opt_kel(0).Caption
Else
Universitas Sumatera Utara
!Jenis_kelamin = opt_kel(1).Caption
End If
!Berat = Text2(0).Text
!Tinggi = Text2(1).Text
!IMT = Text2(3).Text
!Foto = Label7.Caption
.Update
.Requery
MsgBox "Data Berhasil di Edit", vbInformation, "Pesan"
hapus
tampil_data
End With
End If
End Sub
Private Sub cmd_simptamb_Click()
If txt_no.Text = "" Then
MsgBox "Isi no", vbInformation, "Pesan"
ElseIf txt_nama.Text = "" Then
MsgBox "Isi Nama anda", vbInformation, "Pesan"
ElseIf txt_alamat.Text = "" Then
MsgBox "Isi Alamat anda", vbInformation, "Pesan"
ElseIf opt_kel(0).Value = False And opt_kel(1).Value = False Then
MsgBox "Isi Jenis Kelamin anda", vbInformation, "Pesan"
ElseIf Text2(0).Text = "" Then
MsgBox "Berat belum terisi", vbInformation, "Pesan"
ElseIf Text2(1).Text = "" Then
MsgBox "tinggi belum terisi", vbInformation, "Pesan"
ElseIf Image1.Picture = 0 Then
MsgBox "Isi Foto anda", vbInformation, "Pesan"
Else
With D_E.rsTab_MHS
.Find "NO= '" + txt_no.Text + "'"
If .EOF Then
.AddNew
!NO = txt_no.Text
!Nama = txt_nama.Text
!Alamat = txt_alamat.Text
If opt_kel(0).Value = True Then
!Jenis_kelamin = opt_kel(0).Caption
Else
!Jenis_kelamin = opt_kel(1).Caption
End If
!Berat = Text2(0).Text
!Tinggi = Text2(1).Text
!IMT = Text2(3).Text
!Foto = Label7.Caption
Universitas Sumatera Utara