Anda di halaman 1dari 10

LABORATORIUM: TELEMETRI

POLITEKNIK NEGERI LHOKSEUMAWE


PENGUJIAN: SOFTWARE APLIKASI TELEMETRI

I. Capaian Praktikum/Kompetensi
1. Memperkenalkan prinsip dasar software apikasi telemetri
2. Memperkenalkan bagaimana membuat sebuah aplikasi telemetri.

II. Keselamatan Kerja


1. Menggunakan pakaian praktikum dengan baik dan rapi
2. Sambungkan perangkat-perangkat yang digunakan sesuai dengan petunjuk
pembimbing praktikum
3. Jalankan sistem setelah mendapat izin dari pembimbing praktikum.

III. Teori
Sebuah komputer yang berkomunikasi dengan dunia luar, semua dilakukan
dengan data berukuran byte. Seperti printer, informasi data secara langsung dilakukan
melalui BUS data 8-bit ke BUS data 8-bit milik printer. Hal ini dapat bekerja pada jarak
tidak terlalu jauh, mengingat jarak kabel yang panjang akan mengurangi (mengganggu)
kualitas sinyal. Gambar 1. menampilkan bagan dari transfer data serial dan parallel.

Gambar 1. Transfer Data Serial dan Parallel

Komunikasi Serial dapat digunakan untuk menggantikan Komunikasi Parallel


jalur data 8-bit dengan baik. Tidak saja membutuhkan biaya yang lebih murah, namun

1
dapat digunakan untuk menghubungkan dua peralatan yang sangat jauh. Misalnya
menumpang pada kabel jaringan telepon.
Komunikasi data serial mengenal dua buah metode, yaitu synchronous dan
asynchronous. Metode sychronous mengirimkan datanya beberapa byte atau karakter
(atau disebut blok data) sebelum meminta konfirmasi apakah data sudah diterima
dengan baik atau tidak. Sementara metode asynchronous data dikirim satu byte setiap
pengiriman. Biasanya tidak dibutuhkan konfirmasi menerimaan data. Dari kedua jenis
metode tersebut dapat dipilih dan dilakukan melalui pemrograman. Tentu saja
dibutuhkan program yang baik dan teliti untuk melakukannya. Namun dewasa ini
proses pengiriman data serial tersebut sudah dilakukan oleh sebuah chip tersendiri
(Hardware). Salah satu chip disebut UART (Universal Asynchronous Reciever
Transmiter) dan satunya lagi disebut USART (Universal Synchronous Asynchronous
Reciever Transmiter). Dalam protokol berbeda, sychronous memerlukan sinyal
tambahan yang digunakan untuk men-sychron-isasi setiap denyut dari proses transfer.

1. Komunikasi serial Asynchronous dan Data Framing


Setiap data yang diterima pada komunikasi serial adalah memiliki sinyal 0s dan
1s. Hal ini akan sangat sulit untuk menentukan sebuah data kecuali antara pengirim dan
penerima sepakat dengan protokol, yaitu bagaimana data dikemas (packet), berapa bit
yang digunakan untuk satu karakter, dan kapan data tersebut mulai dan selesai dikirim.

2. Bit Start dan Bit Stop


Komunikasi data serial Asynchronous sekarang sudah digunakan demikian luas
untuk transmisi yang berorientasi karakter, sementara metode Synchronous digunakan
untuk transmisi yang berorientasi blok. Pada mode Asynchronous, setiap karakter
ditempatkan berada diantara bit start dan bit stop. Bit start selalu satu bit, tapi stop bit
bisa satu bit atau dua bit. Start bit selalu 0 (low) dan stop bit selalu 1 (high). Contohnya,
seperti pada Gambar 3 yang dimana karakter A (01000001 biner) dikemudian dibingkai
(dikurung) oleh start bit dan satu stop bit. Bit yang pertama dikirim adalah bit LSB.

2
Gambar 2. Pembingkaian ASCII "A" (41h)

Perhatikan pada Gambar 2 saat tidak ada transfer, sinyal (jalur kabel) selalu
dalam keadaaan 1 (high), yang disebut mark (tanda). Sedang 0 (rendah) diartikan space.
Bahwa transmisi pertama dimulai dengan start bit, yang kemudian diikuti oleh
LSB(D0), dan diikuti oleh bit-bit yang lain, sampai MSB(D7), dan akhirnya bit stop
yang menandakan akhir dari karakter "A".
Pada komunikasi serial Asynchronous, peralatan dan modem dapat diprogram
untuk menggunakan lebar data 7 atau 8-bit. Tentu saja ditambah dengan Stop bit.
Dahulu, system karakter ASCII masih terbatas pada data 7-bit, namun sekarang ASCII
extended sudah lazim menggunakan lebar data 8-bit. Pada peralatan kuno, dengan
komponen-komponen yang lambat pula, dibutuhkan stop bit yang agak panjang, hal ini
dimaksudkan untuk memeberi kesempatan peralatan untuk menangani data yang telah
diterimanya, dan untuk mempersiapkan diri untuk menerima byte berikutnya. Namun
sekarang modem PC kita dewasa ini biasanya hanya menggunakan satu bit stop. Jika
kita hitung, dengan menggunakan satu bit stop total kita memiliki 10-bit untuk setiap
karakter 8-bit. Dengan kata lain setiap karakter 8-bit dikirim bersama-sama start dan
stop bit sehingga total menjadi 10-bit, yang artinya ada proses transfer lebih panjang
20% setiap karakternya.
Pada system yang sangat mementingkan integritas data yang disimpan, maka
ditambahkanlah bit paritas kepada bingkai data tersebut. Maksudnya untuk setiap
karakter 8-bit kita masih menambahkan bit paritas disamping bit start dan bit stop.
Sehingga total adalah 11-bit. Adapun bit paritas adalah bit yang menunjukkan bahwa
data yang dimaksud adalah memiliki jumlah bit 1s (high) ganjil atau genap. Bit paritas
adalah bit di luar data yang bersangkutan atau merupakan tambahan. Chip UART

3
khusus biasanya sudah dilengkapi dengan keperluan paritas tersebut secara hardware.
Bahkan ada beberapa pilihan untuk penanganan paritas ini, misalnya odd-, even- dan
no-parity.

3. Data tranfer rate


Kecepatan tranfer data pada komunikasi data serial diukur dalam satuan BPS
(bits per second). Sebutan terkenal lainnya adalah baud rate. Namun Baud dan bps tidak
serta merta adalah sama. Hal ini mengacu kepada fakta bahwa baud rate adalah
terminology modem dan diartikan sebagai perubahan signal dalam satuan bit signal
setiap detik. Sedang data tranfer rate penamaannya mengacu pada jumlah bit dari byte
data yang ditransfer setiap detik.
Sementara itu kecepatan transfer data (data transfer rate) pada komputer
tergantung pada jenis komunikasi yang diberlakukan atasnya. Seperti contoh, komputer
PC-IBM model kuno dapat mentransfer data mulai dari 100 s/d 9600 bps. Namun pada
saat sekarang kecepatan komunikasi serial menjadi sangat pesat. 56.000 bps kemudian
menjadi standar kecepatan pada modem. Namun para perancang komputer sepakat
untuk membatasi kecepatan pada komunikasi serial Asynchronous hanya setinggi
100.000 bps. Untuk kecepatan yang lebih tinggi mode Synchronous kemudian menjadi
pilihan.

4. Standar RS232
Untuk mendapatkan keserba-cocokan (compatibility) dari beberapa peralatan
komunikasi data dari berbagai pabrik, diciptakanlah standar tatap-muka (interfacing)
yang dinamakan RS232. Standar ini dipublikasikan oleh EIA (Electronics Industries
Association) pada 1960. Dan pada 1963 standar itu dimodifikasi dengan nama RS232A.
RS232B dan RS232C ditetapkan pada tahun masing-masing 1965 dan 1969.
Dalam pembahasan selanjutkan kita akan mengacu pada standar RS232 paling
dasar. Sekarang Standar RS232 masih menjadi standar dunia mengenai standar interface
I/O komunikasi serial. Bahkan standar ini masih dipakai dan digunakan pada komputer
PC. Karena standar ini sudah dipublikasikan jauh lebih lama dari standar TLL, standar
yang diciptakan saat komputer masih dibuat dari tansistor, relay dan tabung hampa,
sehingga standar ini sama sekali tidak kompatibel dengan standar keluarga logika TTL

4
yang diciptakan belakangan. Pada RS232, 1s (high) direpresentasikan dengan tegangan
-3 s/d -25V, dan 0s (low) direpresentasikan sebagai +3 s/d +25V. Sedang diantara -3
dan +3V dianggap sebagai status mengambang dan tidak dianggap. Atas alasan ini,
untuk menghubungkan 8051 yang ber-standar TTL dengan komputer (atau alat lain)
yang menggunakan RS232, kita harus menggunakan peralatan tambahan misalnya
dengan chip MAX232 untuk mengkonversi level TTL ke RS232 dan level RS232 ke
level TTL. Gambar 3 menunjukkan bentuk konektor RS232 DB-9 yang sering
digunakan untuk komunikasi data serial RS232
Walaupun RS232 sudah mulai ditinggalkan, kita masih bisa berbangga bahwa
standar ini masih dijadikan standar dasar bagi standar-standar yang lebih maju,
misalnya USB, SATA, Packet Data dll. Sehingga sangat bermanfaat mempelajari
standar RS232 ini sebelum mempelajari standar yang lainnya.

Gambar 3. Konektor RS232 DB-9

IV. Alat/Bahan
1. Komputer PC dengan aplikasi Data Communication
2. Board mikrokontroler Arduino Uno
3. Sensor temperatur LM35

V. Prosedur Praktikum
1. Rancanglah bentuk tampilan aplikasi telemetri seperti pada gambar kerja
dengan Visual Studio.
2. Buat Program pada Visual Studio seperti pada program 1.
3. Lakukan kompilasi terhadap program visual studio dan running lah
programnya.
4. Lakukan modifikasi dan perbaiki program bila terdapat error.

5
5. Buatlah rangkaian mikrokontroler seperti pada Gambar 4
6. Buatlah program untuk Arduino, dan lakukan kompilasi, perbaiki program
bila terdapat error.
7. Download program ke mikrokontoler Arduino. Tampilkan serial monitor
yang ada pada software Arduino IDE, perhatikan tampilannya
8. Lakukan perubahan pengukuran suhu pada sensor sesuai dengan Tabel 6.1
9. Jalankan sofware aplikasi telemetri dan lakukan koneksi dengan baudrate
9600 bps dan pilih port serial yang sesuai
10. Catat nilai suhu yang ditunjukkan pada LCD pada sisi pengirim dan
tampilan Sofware aplikasi pada penerima ke dalam Tabel 6.1
11. Laporkan data hasil pengukuran.

cmbPort

btnConnect
cmbBaud

btnDisconnect

TextBox1

TextBox2

TextBox3

TextBox4

Gambar 4. Tampilan software Data Communication

6
P1
1
DCD
6
DSR
2
RXD
7
RTS
3
TXD
8
CTS
4
DTR
9
RI

ERROR

Komponen Proteus COMPIM

yang digunakan

13
12

10
11

9
8

7
6
5
4
3
2
1
0
ARD1 RV1
ARDUINO UNO

PB4/MISO

~ PD3/INT1/OC2B
PB5/SCK

~ PB3/MOSI/OC2A

PD0/RXD
PB0/ICP1/CLKO

PD7/AIN1
~ PD7/AIN1
~ PD5/T1/OC0B
~ PB2/OC1B

PD1/TXD
PD4/T0/XCK

PD2/INT0
AREF

~ PB1/OC1A

84%
+5V
1k

www.TheEngineeringProjects.com

10

12
13
14
11
1
2
3

4
5
6

7
8
9
E

D0
D1
D2
D3
D4
D5
D6
D7
VSS

VEE

RS
VDD

RW
ATMEGA328P-PU
+5V
1121

ON

PC4/ADC4/SDA
PC5/ADC5/SCL
ANALOG IN
1

PC0/ADC0
PC1/ADC1
PC2/ADC2
PC3/ADC3
RESET

U1 LCD1
29.0 LM35 LM016L
Reset BTN

2
A0
A1
A2
A3
A4
A5 VOUT

Gambar 5. Bentuk rangkaian pengukur temperatur

PROGRAM VISUAL BASIC


Public Class Form1
Dim myPort As Array
Delegate Sub SetTextCallback(ByVal [text] As String)
Dim terima As String
Dim hapus As Integer

Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As


System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Timer1.Stop()
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
myPort = IO.Ports.SerialPort.GetPortNames() 'Get all com ports available
cmbBaud.Items.Add(9600)
cmbBaud.Items.Add(19200)
For i = 0 To UBound(myPort)
cmbPort.Items.Add(myPort(i))
Next
cmbPort.Text = cmbPort.Items.Item(0)
cmbBaud.Text = cmbBaud.Items.Item(0)
btnDisconnect.Enabled = False
Timer1.Start()
End Sub

7
Private Sub btnConnect_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnConnect.Click
SerialPort1.PortName = cmbPort.Text
SerialPort1.BaudRate = cmbBaud.Text
'Other Serial Port Property
SerialPort1.Parity = IO.Ports.Parity.None
SerialPort1.StopBits = IO.Ports.StopBits.One
SerialPort1.DataBits = 8 'Open our serial port
SerialPort1.Open()
btnConnect.Enabled = False 'Disable Connect button
btnDisconnect.Enabled = True 'and Enable Disconnect button
End Sub

Private Sub cmbPort_SelectedIndexChanged(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles cmbPort.SelectedIndexChanged
If SerialPort1.IsOpen = False Then
SerialPort1.PortName = cmbPort.Text
Else
MsgBox("Valid only if port is Closed", vbCritical)
End If
End Sub

Private Sub cmbBaud_SelectedIndexChanged(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles cmbBaud.SelectedIndexChanged
If SerialPort1.IsOpen = False Then
SerialPort1.BaudRate = cmbBaud.Text 'pop a message box to user
Else 'without disconnecting first.
MsgBox("Valid only if port is Closed", vbCritical)
End If
End Sub

Private Sub ReceivedText(ByVal [text] As String)


If Me.TextBox4.InvokeRequired Then
Dim x As New SetTextCallback(AddressOf ReceivedText)
Me.Invoke(x, New Object() {(text)})
Else
Me.TextBox4.Text &= [text]
End If
End Sub

Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As


System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
ReceivedText(SerialPort1.ReadExisting())
End Sub

Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs)


Handles Timer1.Tick
terima = TextBox4.Text
hapus = InStr(1, terima, ";")
If hapus > 0 Then
TextBox4.Clear()
End If
TextBox1.Text = Mid(terima, 1, 5)
TextBox2.Text = Mid(terima, 6, 4)
TextBox3.Text = Mid(terima, 10, 4)
End Sub

Private Sub btnDisconnect_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btnDisconnect.Click

8
SerialPort1.Close() 'Close our Serial Port

btnConnect.Enabled = True
btnDisconnect.Enabled = False
End Sub

End Class

PROGRAM ARDUINO

#include <LiquidCrystal.h> //memasukkan library LCD


LiquidCrystal lcd (7,6,5,4,3,2); //inisialisasi port LCD
//declare variables
float suhuC;
float param2;
float param3;
int suhuPin = A0;
int param2Pin= A1;
int param3Pin= A2;

void setup()
{
lcd.begin(16,2); // set lcd 16×2
Serial.begin(9600);
}

void loop()
{
suhuC = analogRead(suhuPin); //membaca nilai adc sensor
param2=analogRead(param2Pin);
param3=analogRead(param3Pin);

suhuC = (suhuC / 1024) * 5000; //konversi data analog


suhuC = suhuC/10; //konversi kedalam derajat celcius dengan
lcd.setCursor(0,0); //set di kolom 0 dan baris 0
lcd.print(“Suhu=”);
lcd.print(suhuC);

lcd.setCursor(0,1); //set di kolom 0 dan baris 1


lcd.print("P2=");
lcd.print(param2);
lcd.setCursor(8,1); //set di kolom 8 dan baris 1
lcd.print("P3=");
lcd.print(param3);

Serial.print(suhuC);
Serial.print(param2);
Serial.Print(param3);
Serial.Print(“;”);
delay(100);
}

9
VI. Data Percobaan
Tabel. 1. Hasil Pengujian
Baudrate = 9600 bps

Channel Tampilan LCD* Tampilan Aplikasi Telemetri


Sensor R P S Parameter Nilai
A0 Parameter 1
A1 Parameter 2
A2 Parameter 3
*R = ratusan
*P = puluhan
*S = Satuan

VII. Analisa dan Kesimpulan


Lakukan analisis terhadap data yang diperoleh pada Tabel 3, kaitkan antara data
tamilan LCD dengan tampilan aplikasi telemetri. Perhatikan bila ada perbedaan diantara
kedua data tersebut. Perhatikan juga data pameter 2 dan parameter 3 yang bernilai 0
analisis mengapa data ini bernilai 0. Buat kesimpulkan dari apa saja yang anda temukan
pada proktikum ini

VIII. Daftar Pustaka

Kadir, A. (2018). Programming Wireless Untuk Arduino. Yogyakarta: Andi.

10

Anda mungkin juga menyukai