0% menganggap dokumen ini bermanfaat (0 suara)
163 tayangan13 halaman

Modul 01 - Pengenalan Robot Dan Simulasi Proteus

Dokumen ini membahas pengenalan robot dan simulasi Arduino menggunakan Proteus. Topik utama meliputi pengenalan komponen robot, Arduino, pemrograman dasar Arduino, dan konsep-konsep dasar seperti variabel, operator, dan kontrol aliran.

Diunggah oleh

Hidayah Apriadi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
163 tayangan13 halaman

Modul 01 - Pengenalan Robot Dan Simulasi Proteus

Dokumen ini membahas pengenalan robot dan simulasi Arduino menggunakan Proteus. Topik utama meliputi pengenalan komponen robot, Arduino, pemrograman dasar Arduino, dan konsep-konsep dasar seperti variabel, operator, dan kontrol aliran.

Diunggah oleh

Hidayah Apriadi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 13

Rachmansyah, M.

Kom
PROGRAMSTUDISISTEMKOMPUTER

Modul Praktikum Robotika


BAB I : Pengenalan Robot dan
Simulasi Arduino
Menggunakan Proteus
1 TUJUAN

▪ Pengenalan simulasi menggunakan Proteus


▪ Mengetahui karakteristik cara kerja motor driver dan arah
gerakan motor dc
▪ Mengetahui cara kerja motor driver
▪ Membandingkan hasil simulasi dan percobaan

2 PERSIAPAN

▪ Menginstalasi Proteus (versi 7 atau 8)


▪ Pelajari cara menggunakan aplikasi Proteus
(manualguide/tutorial)
▪ Kurva karakteristik dioda dan transistor

3 PERALATAN PRAKTIKUM

▪ Komputer yang terinstal Proteus


▪ Rangkaian Skematik

PraktikumRobotika|5
1.1 Pengenalan Robot

Robot adalah seperangkat alat mekanik yang bisa melakukan tugas


fisik, baik dengan pengawasan dan kontrol manusia, ataupun
menggunakan program yang telah didefinisikan terlebih dulu (kecerdasan
buatan).

Berdasarkan ilmu Robotika, Robot itu terdiri dari 5 komponen:

1. Power Supply (untuk mengaktifkan robot)


2. Mikrokontroler (program otak pada robot)
3. Sensor ( untuk input robot)
4. Manipulator (sistem mekanik, komponen penggerak)
5. End-effector (alat untuk memindahkan benda)

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.

Gambar 1.1 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() {

// semua kode yang disini akan dibaca sekali oleh Arduino

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() {

pinMode(13,OUTPUT); // mengset ‘pin’ 13 sebagai output

• Loop()

Sedangkan void loop digunakan untuk menjalankan suatu siklus


program, yang akan dilakukan terus-menerus hingga Arduino
mati/reset.

void loop() {

digitalWrite(13, HIGH); // nyalakan ‘pin’ 13

delay(1000); // pause selama 1 detik

digitalWrite(13, LOW); // matikan ‘pin’ 13

delay(1000); /// pause selama 1 detik

PraktikumRobotika|7
• Function

Function (fungsi) adalah blok pemrograman yang mempunyai nama dan


mempunyai statement yang akan di eksekusi ketika function di panggil.
Fungsi void setup() dan void loop() telah di bahas di atas dan pembuatan
fungsi yang lain akan di bahas selanjutnya.
Cara pendeklarasian 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++

float f; // 'f' sebagai variable local

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;

Dalam menggunakan operan aritmatik harus hati-hati dalam menentukan


tipe data yang digunakan jangan sampai terjadi overflow range data.

• Compound Assignments

Compound assignments merupakan kombinasi dari aritmatic dengan


sebuah variable. Ini biasanya dipakai pada pengulangan.

x ++; // sama seperti x = x + 1 atau menaikan nilai x sebesar 1

x --; // sama seperti x = x - 1 atau mengurangi nilai x sebesar 1

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

Statement ini membadingkan dua variable dan apabila terpenuhi akan


bernilai 1 atau true. Statement ini banyak digunakan dalam operator
bersyarat.

x == y; // x sama dengan y

x != y; // x tidak sama

dengan y x < y; // x leboh

kecil dari y

x > y; // x lebih besar dari y

x <= y; // x lebih kecil dari sama

• Logic Operator

Operator logical digunakan untuk membandingkan 2 ekspresi dan


mengembalikan nilai balik benar atau salah tergantung dari operator
yang digunakan. Terdapat 3 operator logical AND, OR , dan NOT, yang
biasanya digunakan pada if statement .
Contoh
penggunaan :
Logical AND

If ( x > 0 && x < 5) // bernilai benar apabila kedua operator pembanding

Logical OR

If ( x > 0 || y > 0) // bernilai benar apabila salah satu dari operator pembanding
terpenuhi

Logical NOT

If ( !x > 0 ) // benilai benar apabila ekspresi operator salah

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.

digitalWrite( 13, HIGH );

• Input/Output
Konstanta ini digunakan dengan fungsi pinMode() untuk
mendefinisikan mode pin digital, sebagai input atau output.

pinMode( 13, 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

Operator for digunakan dalam blok pengulangan tertutup.

for (inisiasi; test kondisi; proses inkremental/dekremental)

pernyataan yang akan diulang;

• 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)

Digunakan dalam void setup() untuk mengkonfigurasi pin apakah


sebagai Input atau Output. Arduino digital pin secara default dikonfigurasi
sebagai input sehingga untuk merubahnya harus menggunakan operator
pinMode(pin, mode).

// Menentukan pin digital 13 pada Arduino

• digitalRead(pin)

Membaca nilai dari pin yang kita kehendaki dengan hasil HIGH atau LOW.

Value = digitalRead(pin); // mengset ‘value’ sama dengan pin

• digitalWrite(pin, value)

Digunakan untuk menentukan pin digital yang dipakai. Pin digital


arduino mempunyai 14 ( 0 – 13).

digitalWrite(13, HIGH); //untuk memberikan 5V (nyala) kepada pin


13. digitalWrite(13, LOW); //untuk memberikan 0V

H. Analog I/O

Input / Ouput analog pada breadboard arduino ada 6 pengalamatnya 0 - 5

• 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.

analogRead(A0); //untuk membaca nilai input dari pin A0

P r a k t i k u m R o b o t i k a | 14
• analogWrite(pin,value)

Fungsi analogWrite() adalah fungsi yang digunakan untuk menuliskan


suatu nilai berupa angka pada sebuah komponen, misalnya motor.
Pengguna dapat mengatur seberapa cepat motor bergerak, tergantung
pada nilai yang dituliskan.

analogWrite(3, 255); //untuk memberikan nilai 255 (setara dengan 5V) kepada
pin

analogWrite(3, //untuk memberikan nilai 0 (setara dengan 0V) kepada

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.

Delay(1000); // menunggu selama satu detik

J. Serial

• Serial.begin(baudrate)

Adapun untuk komunikasi antara Arduino dengan komputer, menggunakan:

Serial.begin(9600); // untuk komunikasi Arduino dengan komputer

• Serial.print()

Adapun untuk menampilkan nilai pada sebuah sensor di Serial Monitor,


bisa menggunakan:

Serial.print(namasensor); //menampilkan nilai sensor yang disimpan di


variabel nama sensor

Untuk menampilkan teks, bisa menggunakan:

Serial.print("Selamat Datang"); //menampilkan teks Selamat Datang pada


Serial Monitor

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:

Gambar 1.6. Ikon Serial Monitor

P r a k t i k u m R o b o t i k a | 16

Anda mungkin juga menyukai