Modul 01 - Pengenalan Robot Dan Simulasi Proteus
Modul 01 - Pengenalan Robot Dan Simulasi Proteus
Kom
PROGRAMSTUDISISTEMKOMPUTER
2 PERSIAPAN
3 PERALATAN PRAKTIKUM
PraktikumRobotika|5
1.1 Pengenalan Robot
1.2 Arduino
Arduino adalah sebuah pengendali mikro board tunggal yang
memiliki sifat terbuka (open source) yang diturunkan dari platform berbasis
wiring. Pengendali ini dirancang untuk mempermudah penggunaan dalam
berbagai bidang elektronik. Hardware arduino mengandung prosesor jenis
Atmel AVR, dan memiliki bahasa pemrograman tersendiri. Berikut dapat
dilihat pada gambar 1.1 merupakan bentuk fisik dari arduino uno.
PraktikumRobotika|6
1.3 Pengenalan Pemrograman Dasar Arduino
Bahasa pemrograman Arduino mirip bahasa C yang digunakan pada AVR.
Akan tetapi lebih sederhana, dan lebih mudah untuk dipelajari. Bahasa
pemrograman Arduino sering disebut juga dengan bahasa processing.
A. Struktur Pemrograman
void setup() {
void loop() {
//semua kode yang ada disini akan dibaca berulang kali (terus menerus) oleh
Arduino
• Setup()
Semua kode program yang ada dalam void setup akan dibaca sekali
oleh Arduino. Biasanya isinya berupa kode perintah untuk menentukan
fungsi pada sebuah pin dan digunakan untuk menginisialisasi variabel-
variabel yang akan digunakan.
void setup() {
• Loop()
void loop() {
PraktikumRobotika|7
• Function
type functionName(parameters)
// Statement;
• { } Curly Braces
Curly brace mendefinisikan awal dan akhir dari sebuah blok fungsi.
Apabila ketika memprogram dan programer lupa memberi curly brace
tutup maka ketika di compile akan terdapat laporan error.
• ; Semicolon
Semicolon harus di berikan pada setiap statement program yang kita
buat ini merupakan pembatas setiap statement program yang di buat.
• /*. */ blok comment
Semua statement yang di tulis dalam block comments tidak akan di
eksekusi dan tidak akan di compile sehingga tidak mempengaruhi besar
program yang di buat untuk di masukan dalam board arduino.
• // Line Comment
Sama halnya dengan block comments, line comments pun sama hanya
saja yang di jadikan komen adalah perbaris.
B. Variable
Sama halnya dengan block comments, line coments pun sama hanya saja
yang di jadikan komen adalah perbaris.
Type variableName = 0;
PraktikumRobotika|8
Contoh :
int inputVariable = 0; // mendefinisikan sebuah variable bernama inputVariable
dengan nilai awal 0
inputVariable = analogRead(2); // menyimpan nilai yang ada di analog pin 2 ke
inputVariable
• Variable Scope
Sebuah variable dapat dideklarasikan pada awal program sebelum void
setup(), secara local di dalam sebuah function, dan terkadang di dalam
sebuah block statement pengulangan. Sebuah variable global hanya
satu dan dapat digunakan pada semua block function dan statement di
dalam program. Variable global dideklarasikan pada awal program
sebelum function setup(). Sebuah variable local dideklarasikan di setiap
block function atau di setiap block statement pengulangan dan hanya
dapat digunakan pada block yang bersangkutan saja.
int value; // ‘value’ adalah variable global dan dapat di gunakan pada semua
block funtion
void setup()
// no setup needed
void loop()
{ for (int i=0; i<20;) // 'i' hanya dapat di gunakan dalam pengulangan saja
i++
C. Tipe Data
• byte
Type byte dapat menyimpan 8-bit nilai angka bilangan asli tanpa
koma. Byte memiliki range 0 – 255.
PraktikumRobotika|9
• Integer
Integer adalah tipe data yang utama untuk menyimpan nilai bilangan
bulat tanpa koma. Penyimpanan integer sebesar 16-bit dengan range
32.767 sampai -32.768.
• Long
Perluasan ukuran untuk long integer, penyimpanan long integer sebesar
32- bit dengan range 2.147.483.647 sampai -2.147.483.648
• Float
Float adalah tipe data yang dapat menampung nilai decimal, float
merupakan penyimpan yang lebih besar dari integer dan dapat
menyimpan sebesar 32-bit dengan range 3.4028235E+38 sampai -
3.4028235E+38
• Array
Array adalah kumpulan nilai yang dapat diakses dengan index number,
nilai yang terdapat dalam array dapat di panggil dengan cara menuliskan
nama array dan index number. Array dengan index 0 merupakan nilai
pertama dari array. Array perlu dideklarasikan dan kalau perlu diberi nilai
sebelum digunakan.
D. Operator Aritmatik
• Aritmatik
Operator aritmatik terdiri dari penjumlahan, pengurangan, pengkalian,
dan pembagian.
y = y +
3; x = x
– 8; i = i
* 5;
• Compound Assignments
P r a k t i k u m R o b o t i k a | 10
x += y; // sama seperti x = x
+ y x -= y; // sama seperti x
= x – y x *= y; // sama seperti
x=x*y
• Comparison
x == y; // x sama dengan y
x != y; // x tidak sama
kecil dari y
• Logic Operator
Logical OR
If ( x > 0 || y > 0) // bernilai benar apabila salah satu dari operator pembanding
terpenuhi
Logical NOT
P r a k t i k u m R o b o t i k a | 11
E. Konstanta
Arduino mempunyai beberapa variable yang sudah dikenal yang kita sebut
konstanta. Ini membuat memprogram lebih mudah untuk dibaca. Konstanta
diklasifikasi berdasarkan group.
• True/False
Merupakan konstanta Boolean yang mendefinisikan logic level. False
mendefinisikan 0 dan True mendefinisikan 1.
If ( b == TRUE );
//doSomething
• High/Low
Konstanta ini mendefinisikan aktifitas pin HIGH atau LOW dan digunakan
ketika membaca dan menulis ke digital pin. HIGH didefinisikan sebagai
1 sedangkan LOW sebagai 0.
• Input/Output
Konstanta ini digunakan dengan fungsi pinMode() untuk
mendefinisikan mode pin digital, sebagai input atau output.
F. Flow Control
• If...else
Operator if…else memeriksa sebuah kondisi apabila tidak sesuai dengan
kondisi yang pertama maka akan mengeksekusi baris program yang ada
di else.
if (kondisi A)
{
Kode Perintah A
}
else if (kondisi B)
{
Kode Perintah B
}
else
{
Kode Perintah C
}
P r a k t i k u m R o b o t i k a | 12
• For
• While
Operator while akan terus mengulang baris perintah yang ada dalam
bracket sampai ekspresi sebagai kondisi pengulangan benilai salah.
while(test kondisi)
pernyataan / program ;
• Do...while
Sama halnya dengan while() hanya saja pada operator Do…while tidak
melakukan pengecekan pada awal tapi di akhir, sehingga otomatis akan
melakukan satu kali baris perintah walaupun pada awalnya sudah
terpenuhi.
do {
//pernyataan utama;
}
while(test kondisi)
P r a k t i k u m R o b o t i k a | 13
G. Digital I/O
Input / Output Digital pada breadboard arduino ada 14, pengalamatnya 0 - 13,
ada saat tertentu I/O 0 dan 1 tidak bisa digunakan karena dipakai untuk
komunikasi serial, sehingga harus hati-hati dalam pengalokasian I/O.
• pinMode(pin, mode)
• digitalRead(pin)
Membaca nilai dari pin yang kita kehendaki dengan hasil HIGH atau LOW.
• digitalWrite(pin, value)
H. Analog I/O
• analogRead(pin)
Membaca nilai pin analog yang memiliki resolusi 10-bit. Fungsi ini hanya
dapat bekerja pada analog pin (0-5). Hasil dari pembacaan berupa nilai
integer dengan range 0 sampai 1023.
P r a k t i k u m R o b o t i k a | 14
• analogWrite(pin,value)
analogWrite(3, 255); //untuk memberikan nilai 255 (setara dengan 5V) kepada
pin
I. Time
• delay(ms)
Fungsi ini digunakan untuk memberikan jeda antar fungsi. Nilai time
adalah waktu lamanya jeda dalam satuan ms (milisecond), di mana 1
detik setara dengan 1.000 milisecond.
J. Serial
• Serial.begin(baudrate)
• Serial.print()
P r a k t i k u m R o b o t i k a | 15
Dan untuk membuka Serial Monitor sendiri pada Arduino, bisa dengan
memilih menu Tools kemudian pilih Serial Monitor. Atau dengan menekan
kombinasi CTRL+SHIFT+M di keyboard. Atau bisa juga dengan meng-klik
ikon Kaca Pembesar di Arduino, seperti gambar dibawah:
P r a k t i k u m R o b o t i k a | 16