4
4
I. Capaian Praktikum/Kompetensi
1. Memperkenalkan prinsip dasar software apikasi telemetri
2. Memperkenalkan bagaimana membuat sebuah aplikasi telemetri.
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.
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.
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.
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.
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
6
P1
1
DCD
6
DSR
2
RXD
7
RTS
3
TXD
8
CTS
4
DTR
9
RI
ERROR
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
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
8
SerialPort1.Close() 'Close our Serial Port
btnConnect.Enabled = True
btnDisconnect.Enabled = False
End Sub
End Class
PROGRAM ARDUINO
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);
Serial.print(suhuC);
Serial.print(param2);
Serial.Print(param3);
Serial.Print(“;”);
delay(100);
}
9
VI. Data Percobaan
Tabel. 1. Hasil Pengujian
Baudrate = 9600 bps
10