Anda di halaman 1dari 50

BAB 1.

Pengenalan Arduino

Arduino adalah mikrokontroler single-board platform yang bersifat open source yang


didalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan
jenis AVR dari perusahaan Atmel. Arduino berawal dari sebuah tesis yang dibuat
oleh Hernando Barragan, di Institute Ivrea, Italia pada tahun 2005. Dan
dikembangkan oleh Massimo Banzi dan David Cuartielles dan diberi nama Arduin of
Ivrea. Lalu diganti nama menjadi Arduino yang dalam bahasa Italia berarti teman
yang berani.

Tujuan awal dibuat Arduino adalah untuk membuat perangkat mudah dan murah,
dari perangkat yang ada saat itu. Dan perangkat tersebut ditujukan untuk para siswa
yang akan membuat perangkat desain dan interaksi. Bahasa pemrograman yang
digunakan Arduino adalah bahasa C/C++ sehingga lebih mudah untuk dipelajari dan
dipahami.

Contoh Arduino Uno mempunyai bagian-bagian seperti berikut :

Gambar Arduino beserta komponennya


 

(1) Power USB

Digunakan untuk memberikan catu daya ke papan Arduino dan untuk upload
sketch/kode program menggunakan kabel USB dari komputer

(2) Power (Barrel Jack)

Digunakan untuk memberikan catu daya ke papan Arduino dari adaptor DC dengan
tegangan sekitar 9V-12V @ 2A

(3) Voltage Regulator

Untuk mengendalikan tegangan yang diberikan ke papan Arduino dan menstabilkan


tegangan DC yang digunakan oleh prosesor dan elemen-elemen lain.

(4) Crystal Oscillator

Untuk menghasilkan sinyal dengan tingkat kestabilan frekuensi yang sangat tinggi
pada papan Arduino.

(5) & (17) Reset

Untuk mereset atau memulai program dari awal.

(6) 3.3V

Sebagai penyuplai tegangan sebesar 3.3 Volt.

(7) 5V

Sebagai penyuplai tegangan sebesar 5 Volt.

(8) GND (Ground)

Sebagai ground rangkaian

(9) Vin

Untuk memberi daya ke papan Arduino dari sumber daya eksternal.

(10) Analog pins


Untuk membaca sinyal dari sensor analog dengan mengubahnya menjadi nilai
digital.

(11) Main microcontroller/IC

Sebagai otak pengendali Arduino

(12) ICSP

Suatu programming header kecil untuk Arduino yang berisi MOSI, MISO, SCK,
RESET, VCC, dan GND.

(13) Power LED indicator

Sebagai penanda bahwa Arduino hidup atau mati.

(14) TX (transmit) dan RX (receive) LEDs

Sebagai penanda kecepatan baud rate.

(15) Digital I/O

Memiliki 14 pin, dengan 6 pin output menyediakan PWM (Pulse Width Modulation), 2
pin sebagai pengirim dan penerima data serial, dan sisanya pin biasa. Pin yang
menyediakan PWM biasanya ditandai dengan (~). 

(16) AREF (Analog Reference)

Untuk mengatur tegangan referensi eksternal (antara 0V-5V) sebagai batas atas
untuk pin analog input.

Pada saat pengembangannya,  Massimo Banzi beserta tim pengembangnya


mengupayakan 4 hal dalam Arduino ini, yaitu:

1.
a. Harga terjangkau
b. Dapat dijalankan diberbagai sistem operasi, Windows, Linux, Mac,
dan sebagainya.
c. Sederhana, dengan bahasa pemrograman yang mudah bisa
dipelajari orang awam, bukan untuk orang teknik saja.
d. Open Source, hardware maupun software.
 

Sifat Arduino yang Open Source, membuat Arduino berkembang sangat cepat.


Hingga saat ini sudah ada ratusan ribu Arduino yang digunakan di dunia sejak tahun
2011.

Sumber :


o it-jurnal.com
o toleinnovator.com
o id.wikipedia.org
BAB 2. Jenis Arduino

1. Arduino Uno
Jenis yang ini adalah yang paling banyak digunakan terutama untuk pemula sangat
disarankan untuk menggunakan Arduino Uno. Versi yang terakhir adalah Arduino
Uno R3 (Revisi 3), menggunakan ATmega328 sebagai Mikrokontrolernya, memiliki
14 pin I/O digital dan 6 pin input analog. Untuk pemrogramannya menggunakan
koneksi USB type A to To type B.

Gambar Arduino UNO

2. Arduino Due
Arduino Due adalah Arduino pertama yang menggunakan IC ARM Cortex-M3 CPU
dan Micro USB untuk pemrogramannya. Arduino Due memiliki 54 I/O pin digital (12
pin bisa untuk PWM) dan 12 pin input analog.

Gambar Arduino Due


3. Arduino Mega
Arduino Mega adalah sebuah mikrokontroler yang menggunakan IC ATmega2560
dengan USB tipe-B untuk pemrogramannya. Arduino Mega memiliki 54 I/O pin digital
(15 pin bisa untuk PWM) dan 16 pin input Analog.

Gambar Arduino Mega

4. Arduino Leonardo
Arduino Leonardo adalah sebuah mikrokontroler yang menggunakan IC
ATmega32u4 dan Micro USB untuk pemrogramannya. Arduino Leonardo memiliki
20 I/O pin digital yang mana 7 pin dapat digunakan untuk PWM dan 12 pin untuk
input analog.

Gambar Arduino Leonardo


5. Arduino Nano
Arduino Nano adalah sebuah mikrokontroler yang menggunakan IC ATmega328 dan
Mini USB untuk pemrogramannya. Arduino Nano  memiliki 14 I/O pin digital dan 8
pin input analog.

Gambar Arduino Nano

6. Arduino Micro
Arduino Micro adalah sebuah mikrokontroler yang menggunakan IC ATmega32u4
dan Micro USB untuk pemrogramannya. Arduino Micro memiliki 20 I/O pin digital
dan 12 pin input analog.

Gambar Arduino Micro


7. Arduino Fio
Arduino Fio adalah sebuah mikrokontroler yang menggunakan IC ATmega328P dan
Micro USB untuk pemrogramannya. Arduino Micro memiliki 14 I/O pin digital (6
diantaranya dapat digunakan untuk PWM output) dan 8 pin input analog, terdapat
socket untuk baterai lithium polymer dan memiliki Socket XBee. Produk ini sudah
dipensiunkan dan dokumentasinya tidak akan diperbaharui.

Gambar Arduino Fio

8. Arduino Lilypad
Arduino Lilypad adalah sebuah mikrokontroler yang menggunakan IC ATmega168V
atau ATmega328V, dan Micro USB untuk pemrogramannya. Arduino Micro memiliki
14 I/O pin digital (6 diantaranya dapat digunakan untuk PWM output) dan 6 pin input
analog. Arduino lilypad ini didesain untuk e-textile dan project yang dapat dipakai.

Gambar Arduino Lilypad


9. Arduino Ethernet
Arduino Ethernet adalah sebuah mikrokontroler yang menggunakan IC ATmega328.
Arduino Micro memiliki 14 I/O pin digital (4 diantaranya dapat digunakan untuk PWM
output) dan 6 pin input analog, Port RJ-45 dan SD-Card Reader. Arduino Ethernet
dilengkapi dengan fasilitas ethernet sehingga dapat berhubungan melalui jaringan
LAN pada komputer.

Gambar Arduino Ethernet

10. Arduino Esplora


Arduino Esplora adalah sebuah mikrokontroler yang menggunakan IC ATmega32u4,
dan Micro USB untuk pemrogramannya. Arduino Esplora ini didesain untuk orang
yang ingin menggunakan arduino akan tetapi tidak memiliki pengetahuan tentang
elektronika. Arduino Esplora ini memiliki beberapa sensor yang terintegrasi seperti :
Joystick, Slider, Sensor temperatur, Sensor Accelerometer, Sensor cahaya dan
mikrofon. Arduino Esplora ini juga memiliki 2 konektor input-output Tinkerkit dan
socket untuk TFT LCD Screen.

Gambar Arduino Esplora


11. Arduino Robot
Arduino Robot ini merupakan kit yang sudah dilengkapi dengan motor, sensor, roda
dan lain-lain. Produk ini memiliki 2 buah prosesor ATmega32u4 yang masing-masing
digunakan untuk mengendalikan sensor, aktuator dan motor. Untuk pemrograman
bisa menggunakan USB type A to To type B.

Gambar Arduino Robot

Sumber :


o arduino.cc
o id.wikipedia.org
o buaya-instrument.com
BAB 3. Arduino IDE

Arduino IDE (Integrated Development Environment) adalah software yang digunakan


untuk memprogram perangkat arduino. Aplikasi ini merupakan aplikasi cross-
platform yang berarti bahwa software ini bisa digunakan untuk sistem operasi
Windows, Linux dan MacOS. Aplikasi ini menggunakan bahasa C dan C++ untuk
menulis dan mengupload program ke memori arduino.

Arduino IDE memiliki bagian-bagian  seperti berikut :

Gambar Tampilan Arduino IDE

Fungsi dan keterangan tombol :

: Berfungsi untuk checking kode yang sudah dibuat apakah sudah sesuai
dengan aturan pemrograman yang ada atau belum

: Berfungsi untuk melakukan kompilasi program atau kode yang dibuat menjadi
bahasa yang dapat dipahami oleh Arduino.

: Berfungsi untuk membuat Sketch baru.


: Berfungsi untuk membuka sketch yang pernah dibuat dengan ekstensi file .ino

  : Berfungsi untuk menyimpan Sketch yang telah dibuat.

:  Berfungsi untuk membuka tab serial monitor. Serial monitor disini merupakan
jendela yang menampilkan data apa saja yang dikirimkan atau dipertukarkan antara
arduino dengan sketch pada port serialnya. Serial Monitor ini sangat berguna ketika
melakukan debugging tanpa menggunakan LCD pada Arduino. Serial monitor ini
dapat digunakan untuk menampilkan nilai proses, nilai pembacaan, bahkan pesan
error.

Menu File 
1.
a. New, berfungsi untuk membuat Sketch baru pada window baru 
b. Open,Berfungsi untuk membuka sketch yang pernah dibuat dengan
ekstensi file .ino
c. Open Recent, merupakan menu yang berfungsi mempersingkat waktu
pencarian dan pembukaan file atau sketch yang baru-baru ini sudah
dibuat
d. Sketchbook, berfungsi menunjukan hirarki sketch yang dibuat termasuk
struktur foldernya
e. Example, berisi contoh-contoh pemrograman dengan penjelasan yang
disediakan oleh pengembang Arduino
f. Close, berfungsi untuk menutup sebuah jendela Arduino IDE
g. Save, Berfungsi untuk menyimpan Sketch yang telah dibuat
h. Save as…, berfungsi untuk menyimpan sketch dengan nama yang berbeda
i. Page Setup, berfungsi mengatur tampilan page pada proses pencetakan
j. Print, berfungsi mengirimkan file sketch ke mesin cetak untuk dicetak
k. Preferences, digunakan untuk merubah tampilan interface IDE Arduino
l. Quit, berfungsi untuk menutup semua jendela Arduino IDE

 
Menu Edit 
1.
a. Undo/Redo, berfungsi untuk mengembalikan perubahan yang sudah
dilakukan pada Sketch beberapa langkah mundur dengan Undo atau maju
dengan Redo.
b. Cut, berfungsi untuk memotong teks yang terpilih pada editor dan
menempatkan teks tersebut pada clipboard.
c. Copy, berfungsi menduplikasi teks yang terpilih pada editor dan
menempatkan teks tersebut pada clipboard.
d. Copy for Forum, berfungsi melakukan copy kode dari editor dan
melakukan formating agar sesuai untuk ditampilkan dalam forum,
sehingga kode tersebut bisa digunakan sebagai bahan diskusi dalam
forum.
e. Copy as HTML, berfungsi menduplikasi teks yang terpilih kedalam editor
dan menempatkan teks tersebut pada clipboard dalam bentuk atau
format HTML. Biasanya ini digunakan agar kode dapat di-embedded-kan
pada halaman web.
f. Paste, berfungsi menyalin data yang terdapat pada clipboard, kedalam
editor.
g. Select All, berfungsi untuk melakukan pemilihan teks atau kode dalam
halaman editor.
h. Comment/Uncomment, berfungsi memberikan atau menghilangkan tanda
“//” pada kode atau teks, dimana tanda tersebut menjadikan suatu baris
kode sebagai komen dan tidak disertakan pada tahap kompilasi.
i. Increase/Decrease Indent, berfungsi untuk mengurangi atau
menambahkan indentasi pada baris kode tertentu. Indentasi adalah “tab”.
j. Find, berfungsi untuk menemukan variabel atau kata tertentu dalam
program atau menemukan serta menggantikan kata tersebut dengan kata
lain.

k. Find Next, berfungsi menemukan kata setelahnya dari kata pertama yang
berhasil ditemukan.
l. Find Previous, berfungsi menemukan kata sebelumnya dari kata pertama
yang berhasil ditemukan.

Menu Sketch 
1.
a. Verify/Compile, Berfungsi untuk checking kode yang sudah dibuat apakah
sudah sesuai dengan aturan pemrograman yang ada atau belum. Jika
sudah sesuai, maka program atau kode akan dikompilasi menjadi bahasa
yang dapat dipahami oleh Arduino
b. Upload, berfungsi mengirimkan program yang sudah di-compile ke
Arduino.
c. Upload Using Programmer, menu ini berfungsi untuk menuliskan
bootloader kedalam IC Mikrokontroler Arduino dengan membutuhkan
perangkat tambahan seperti USBAsp untuk menjembatani penulisan
program bootloader ke IC Mikrokontroler.
d. Export Compiled Binary, berfungsi untuk menyimpan file dengan ekstensi
“.hex”, dimana file ini dapat disimpan sebagai arsip untuk di upload ke
board lain menggunakan tools yang berbeda.
e. Show Sketch Folder, berfungsi membuka folder sketch yang saat ini
dikerjakan.
f. Include Library, berfungsi menambahkan library/pustaka ke dalam sketch
yang dibuat dengan menyertakan sintaks #include di awal kode. Selain itu
juga bisa digunakan untuk menambahkan library eksternal dari file .zip ke
dalam Arduino IDE.
g. Add File…, berfungsi untuk menambahkan file kedalam sketch arduino
(file akan disalinkan dari penyimpanan asal). File akan muncul sebagai
tab baru dalam jendela sketch.

Menu Tools 
1.
a. Auto Format, berfungsi melakukan pengaturan format kode pada jendela
editor
b. Archive Sketch, berfungsi menyimpan sketch kedalam file .zip
c. Fix Encoding & Reload, berfungsi memperbaiki kemungkinan perbedaan
antara pengkodean peta karakter editor dan peta karakter sistem operasi
yang lain.
d. Serial Monitor, berfungsi membuka jendela serial monitor untuk melihat
pertukaran data.
e. Board, berfungsi memilih dan melakukan konfigurasi board yang
digunakan.
f. Port, memilih port sebagai channel komunikasi antara software dengan
hardware.
g. Programmer, menu ini digunakan ketika akan melakukan pemrograman
chip mikrokontroler tanpa menggunakan koneksi Onboard USB-Serial.
Biasanya digunakan pada proses burning bootloader.
h. Burn Bootloader,  untuk menyalin program bootloader kedalam IC
mikrokontroler

Menu Help 
Menu help digunakan untuk mendapatkan bantuan mengenai aplikasi Arduino IDE
dan pemrograman. Menu help berisikan file-file dokumentasi yang berkaitan dengan
masalah yang sering muncul, serta penyelesaiannya. Selain itu pada menu help juga
diberikan link untuk menuju Arduino Forum guna menanyakan serta mendiskusikan
berbagai masalah yang ditemukan.

Sumber :


o sinaryuda.web.id
o allgoblog.com
o sinauarduino.com
BAB 4. Bahasa Pemrograman pada Arduino

Seperti yang diketahui sebelumnya, bahasa pemrograman yang digunakan Arduino


adalah bahasa C/C++ sehingga lebih mudah untuk dipelajari dan dipahami. Struktur
dasar bahasa pemrograman Arduino sangat sederhana, hanya terdiri dari dua
bagian, yaitu fungsi setup() dan fungsi loop().


o Fungsi setup() adalah bagian untuk inisialisasi yang hanya dijalankan
sekali di awal program.

Contoh fungsi setup() :

void setup() {

pinMode(13, OUTPUT);  // menentukan pin 13 sebagai OUTPUT

pinMode(3, INPUT);    // menentukan pin 3 sebagai INPUT

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


o Fungsi loop() untuk mengeksekusi bagian program yang akan dijalankan
berulang-ulang untuk selamanya.

Contoh fungsi loop() :

void loop() {

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

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

analogWrite(3, 225);     //untuk memberikan nilai 225 (setara dengan 5V)


pada pin 3.

Kode Digital
Kode digital digunakan untuk pemrograman yang menggunakan Pin Digital pada
Arduino.

pinMode( pin, mode);

Kode diatas digunakan untuk setting mode pin. pin adalah nomor pin yang akan
digunakan, misal pada Arduino Uno, pin Digitalnya dari 0-13. Untuk mode bisa
berupa INPUT atau OUTPUT.
Contoh :

pinMode(13, OUTPUT);    // artinya pin 13 digunakan sebagai OUTPUT

pinMode(7, INPUT);         // artinya pin 7 digunakan sebagai INPUT

1. Kode pin INPUT

Kode pin INPUT digunakan untuk membaca nilai sensor yang ada pada pin dan
nilainya hanya terbatas pada 1 (TRUE), atau 0 (FALSE). 

digitalRead(pin);

Contoh :

digitalRead(13);     // artinya kode akan membaca nilai sensor pada pin 13

2. Kode pin OUTPUT

Kode untuk merubah nilai pin OUTPUT yang sudah di setting apakah akan diberikan
HIGH (+5V), atau LOW (Ground) menggunakan kode sebagai berikut :

digitalWrite(pin, nilai);

Contoh : 

digitalWrite(13, HIGH);    // artinya pin 13 kita diberi tegangan +5V

digitalWrite(13, LOW);    // artinya pin 13 kita diberi tegangan 0 /


Ground

3. Kode pin PWM pada pin Digital Arduino

Meskipun Arduino adalah perangkat digital, tapi kita masih bisa menggunakan fungsi
Analognya pada pin Digital Arduino / pin PWM.

Akan tetapi hanya beberapa pin saja, pin tersebut biasa disebut PWM (Pulse With
Modulation). Pada Arduino Uno memiliki 6 pin PWM, yaitu: 3,5,6,9, 10, dan 11. Nilai
yang dihasilkan bervariasi dari 0-225, atau setara dengan 0-5V.

analogWrite(pin, nilai);

Contoh :
analogWrite(3, 150);    // artinya pin 3 diberikan nilai sebesar 150

KODE ANALOG
Kode analog ini digunakan ketika ingin menggunakan pin Analog pada Arduino.
Untuk Arduino Uno pin Analog dari A0-A5 dan karena ini pin Analog maka hanya
bisa digunakan sebagai INPUT saja.

analogRead(pin);

Contoh :

analogRead(A0);     // artinya kode akan membaca nilai sensor pada pin A0.

Contoh Program Menghidupkan LED Setiap 1 Detik

Contoh program diatas adalah untuk menghidupkan dan mematikan LED tiap 1 detik
secara terus menerus (LED Blink). Contoh program arduino yang lainnya juga dapat
diakses melalui File > Examples. Berikut adalah beberapa contoh program yang
ada di Examples :
Contoh Program Eexample Fade LED

Contoh Program Example Analog Read Serial


Contoh Program Example Digital Read Serial

Sumber :


o allgoblog.com
o kelasrobot.com
o arduino.cc
BAB 5. Timing dan Interupsi pada Arduino

Seperti yang diketahui sebelumnya, timer digunakan untuk membuat perhitungan


waktu menyerupai real time (waktu sebenarnya). Karena timer dapat menyerupai
waktu sebenarnya, maka penggunaan timer bisa sebagai pengganti
fungsi delay() pada arduino. Selain itu penggunaan timer lebih menguntungkan
karena bisa diinterupsi pada saat proses delay.

Contohnya dapat dilihat pada program nyala hidup LED tiap 1 detik menggunakan
timer-0 :

int timer = 0;

bool state = 0;

void setup() {

  pinMode(13, OUTPUT);

  TCCR0A = (1 << WGM01); //Set the CTC mode

  OCR0A = 0xF9;    //Value for ORC0A for 1ms

  TIMSK0 |= (1 << OCIE0A); //Set the interrupt request

  sei();         //Enable interrupt

  TCCR0B |= (1 << CS01);   //Set the prescale 1/64 clock

  TCCR0B |= (1 << CS00);

void loop() {

  //in this way you can count 1 second because the interrupt request is
each 1ms

  if (timer >= 1000) {

    state = !state;

    timer = 0;

  }

  digitalWrite(13, state);

 
ISR(TIMER0_COMPA_vect) {    //This is the interrupt request

  timer++;
}

Skematik rangkaiannya seperti berikut :

Gambar Skematik Rangkaian Timer Interrupt LED

Cara memilih prescaler :

Gambar Datasheet ATmega328P Timer/Counter Control Register B


Gambar Datasheet Ddeskripsi Clock Select Bit

Cara mencari OCR(Output Compare Registers) :

OCR = (kecepatan clock / prescaler * waktu yang diinginkan dalam second) – 1

OCR = (16.000.000 / 64 * 0,001) – 1

OCR = 250 – 1 = 249d

OCR = F9h

Jadi, permintaan interupsi (interrupt request) akan aktif setiap 1ms.

Fungsi delay()
delay() berfungsi untuk menjeda program dalam waktu yang ditentukan dalam
satuan milisecond(ms)

delay(ms)

Contoh :

int ledPin = 13;              // LED connected to digital pin 13

void setup() {

  pinMode(ledPin, OUTPUT);    // sets the digital pin as output

 
void loop() {
  digitalWrite(ledPin, HIGH); // sets the LED on

  delay(1000);                // waits for a second

  digitalWrite(ledPin, LOW);  // sets the LED off

  delay(1000);                // waits for a second

Program diatas digunakan untuk menunda output pin selama 1 detik.

Fungsi Interrupt 
Fungsi interrupt pada Arduino adalah suatu fungsi dimana saat ada sebuah trigger
baik secara eksternal maupun internal, fungsi interrupt akan menghentikan sejenak
program yang sedang dijalankan oleh arduino. Fungsi interrupt berguna untuk
membuat sesuatu terjadi secara otomatis dalam program mikrokontroler dan dapat
membantu menyelesaikan masalah pengaturan waktu.

Syntax :

attachInterrupt(digitalPinToInterrupt(pin), ISR, mode) (Recommended)

attachInterrupt(interrupt, ISR, mode) (Tidak Recommended)

attachInterrupt(pin, ISR, mode) (Tidak Recommended

dan perintah ini hanya berfungsi pada Arduino SAMD, Uno rev2, Due dan 101)

Keterangan :

1. interrupt : jumlah interupsi. Tipe data yang diperbolehkan : int.

2. pin           : pin yang digunakan.

3. ISR          : ISR yang akan dipanggil saat interupsi terjadi. Fungsi ini tidak boleh
mengambil parameter dan tidak mengembalikan apa pun. Fungsi ini terkadang
disebut sebagai interrupt service routine.

4. mode      : menentukan kapan interupsi harus di-trigger. Empat konstanta telah
ditentukan nilainya sebagai berikut :


o LOW         = interrupt akan dieksekusi terus menerus selama pin membaca
logika LOW.
o RISING     = interrupt akan dieksekusi jika terjadi perubahan nilai
pembacaan dari LOW ke HIGH.
o CHANGE  = interrupt akan dieksekusi jika terjadi perubahan nilai
pembacaan, baik itu dari HIGH ke LOW ataupun LOW ke HIGH.
o FALLING  = interrupt akan dieksekusi jika terjadi perubahan nilai
pembacaan dari HIGH ke LOW.

Pin yang dapat digunakan untuk fungsi interrupt sebagai berikut :

Seri Arduino Pin


Uno, Nano, Mini, other 2, 3
328-based
Uno WiFi Rev.2, Nano Semua pin digital
Every
Mega, Mega2560, 2, 3, 18, 19, 20, 21
MegaADK
Micro, Leonardo, other 0, 1, 2, 3, 7
32u4-based
Zero Semua pin digital, kecuali 4
MKR Family boards 0, 1, 4, 5, 6, 7, 8, 9, A1, A2
Nano 33 IoT 2, 3, 9, 10, 11, 13, 15, A5, A7
Nano 33 BLE, Nano 33 Semua pin
BLE Sense
Due Semua pin digital
101 Semua pin digital (Hanya pin 2, 5, 7, 8, 10, 11, 12, 13
yang berfungsi dengan CHANGE)
Contoh :
Gambar Rangkaian

const byte ledPin = 13;

const byte interruptPin = 2;

volatile byte state = HIGH;

void setup() {

  pinMode(ledPin, OUTPUT);

  pinMode(interruptPin, INPUT_PULLUP);

  attachInterrupt(digitalPinToInterrupt(interruptPin), blink, CHANGE);

void loop() {

  digitalWrite(ledPin, state);

void blink() {

  state = !state;

}
Pada program diatas, apabila terjadi perubahan pada pin 2(button dipencet) maka
LED akan mati sejenak kemudian hidup kembali.

Sumber :


o create.arduino.cc
o microchip.com
o arduino.cc
BAB 6. Konsep Dasar Robotika

Robot adalah peralatan manipulator yang mampu diprogram, mempunyai berbagai


fungsi, yang dirancang untuk memindahkan barang, komponen-komponen,
peralatan, atau alat-alat khusus, melalui berbagai gerakan terprogram untuk
pelaksanaan berbagai pekerjaan.

Kata robot itu sendiri diambil dari kata yang berasal dari kata robota dari bahasa
ceko, yang mempunyai arti pekerja, dipopulerkan oleh Isaac Asimov pada tahun
1950. Perkembangan robotika pada awalnya berasal dari ilmuwan biologi dan
pengarang cerita novel maupun pertunjukan drama pada sekitar abad XVIII yang
pada saat itu ingin menciptakan makhluk yang mempunyai karakteristik seperti yang
mereka inginkan dan menuruti segala apa yang mereka perintahkan.

Pada tahun 1920 robot mulai berkembang dari disiplin ilmu elektronika, lebih
spesifiknya pada cabang kajian disiplin ilmu elektronika yaitu teknik kontrol otomatis.
Robot-robot cerdas mulai berkembang pesat seiring berkembagnya komputer pada
sekitar tahun1950-an. Dengan semakin pesatnya kemampuan komputasi komputer
dan semakin kecilnya ukuran fisiknya,maka robot-robot yang dibuat semakin
memiliki kecerdasan yang cukup baik untuk melakukan pekerjan-pekerjan yang
biasa dilakukan oleh manusia.

Komponen dasar dari sebuah robot sebagai berikut :


o manipulator    : terdiri dari komponen mekanik, penyangga gerakan
(appendage), dan base (pondasi/landasan robot)
o kontroler         : jantung dari robot untuk mengontrol (Mikroprosesor, RAM,
ROM, Sensor, dll.)
o power supply : sumber tenaga yang dibutuhkan oleh robot, dapat berupa
energi listrik, energi hidrolik, atau energi pneumatik
o end effector   : perangkat di ujung lengan robot, yang dirancang untuk
berinteraksi dengan lingkungan

Teknologi robot terdapat 3 tingkat :

1. Robot Teknologi Rendah


Robot teknologi rendah digunakan dalam lingkungan industri untuk pekerjaan seperti
mesin pemasang dan pelepas, penanganan material, operasi pengepresan, dan
operasi perakitan sederhana.

Karakteristik robot teknologi rendah :


o Siku                : Memiliki 2 sampai dengan 4 pergerakan siku dan biasanya
robot teknologi rendah merupakan robot non servo
o Beban kerja   : Berkisar 3kg sampai dengan 13,6kg
o Waktu siklus  : Merupakan waktu yang diperlukan sebuah robot untuk
bergerak dari suatu posisi ke posisi berikutnya. Waktu siklus ini
tergantung atas 2 faktor, yaitu beban kerja dan panjang lengan
manipulator. Robot teknologi rendah memiliki waktu siklus yang cukup
tinggi, yaitu 5 sampai dengan 10 detik
o Ketelitian       : Merupakan seberapa dekat sebuah robot dapat
menggerakkan manipulatornya sesuai dengan titik yang telah
diprogramkannya. Ketelitian berkaitan erat dengan keseragaman.
Keseragaman menggambarkan seberapa sering sebuah robot melakukan
program yang sama, mengulangi gerakannya pada titik yang telah
diberikan. Untuk robot teknologi rendah ketelitiannya berkisar 0,050
sampai dengan 0,025mm
o Aktuasi          : Adalah metode pergerakan siku suatu robot. Robot
teknologi rendah biasanya menggunakan motor listrik karena harganya
yang murah dan operasinya mudah dikendalikan

2. Robot Teknologi Menengah


Robot teknologi menengah umumnya digunakan untuk pekerjaan mengambil dan
meletakkan barang, dan juga untuk mesin pemasang dan pelepas. Robot teknologi
menengah memiliki kerumitan yang lebih tinggi dari robot teknologi rendah.

Karakteristik robot teknologi menengah :


o Siku                 : Memiliki 5 sampai dengan 6 pergerakan siku. Selain itu
memiliki baterai kerja yang lebih besar, dan lengan robot memiliki
kekuatan manuver yang lebih untuk memanipulasi
o Beban kerja    : Berkisar 68 sampai dengan 150kg
o Waktu siklus   : Dalam pergerakan siku sepanjang 25 sampai dengan
65cm dapat ditempuh dalam waktu 1 detik. Semakin tinggi kompleksitas
pekerjaan dan makin berat beban kerja yang diberikan, maka makin besar
waktu siklus yang diperoleh
o Ketelitian        : Berkisar 0,2 sampai dengan 1,3mm
o Aktuasi           : Digerakkan oleh 2 tipe motor, yaitu motor listrik dan motor
hidrolik. Penggunaan 2 tipe motor ini dikarenakan beban kerja yang berat

 
3. Robot Teknologi Tinggi
Robot teknologi tinggi digunakan dalam lingkungan industri untuk pekerjaan yang
kompleksitasnya tinggi.

Karakteristik robot teknologi tinggi :


o Siku                 : Memiliki 8 sampai dengan 10 pergerakan siku. Selain itu
memiliki jenis pekerjaan yang kompleks dan manuver gerakan yang
beragam
o Beban kerja    : Berkisar 150 sampai dengan 250kg
o Waktu siklus  : Karena bertambahnya gerakan dan kompleksitas kerja
yang tinggi, waktu siklus juga bertambah, berkisar 10 sampai dengan 25
detik.
o Ketelitian        : Berkisar 1,5 sampai dengan 3,0mm
o Aktuasi           : Digerakkan oleh 3 tipe motor, yaitu motor listrik, motor
hidrolik dan motor pneumatik

Sumber :


o eyuana.com
o wyzant.com
o scribd.com
BAB 7. Aktuator dan Sensor

Aktuator
Aktuator merupakan perangkat elektromekanik yang menghasilkan daya gerakan.
Aktuator terbagi menjadi 2 jenis, yaitu jenis yang bergerak berdasarkan rotasi atau
putaran, kemudian jenis yang bergerak lurus atau linear.

Aktuator yang bergerak berdasarkan rotasi :


1. Motor DC

 Motor DC adalah jenis penggerak yang menggunakan arus searah (DC) sebagai
tenaganya. Arus searah ini nantinya akan dimanfaatkan oleh kumparan yang ada di
dalamnya dan menjadi energi mekanik. Kumparan itu disebut stator (bagian yang
tidak berputar), dan bagian yang berputar disebut rotor.

Gambar Motor DC

2. Geared Motor DC

Geared motor DC adalah pengembangan dari motor DC. Perbedaannya geared


motor DC adalah dengan adanya penambahan komponen gear pada motor. Gear ini
berfungsi untuk menambah torsi (tenaga) pada motor, atau bisa juga untuk
menambah kecepatan.
Gambar Geared Motor DC

3. Motor Servo

Motor servo adalah pengembangan dari motor DC dan sudah memiliki gear.
Perbedaannya motor Servo adalah bisa diatur kecepatannya. Di dalamnya terdapat
Potensiometer dan Driver Motor, sehingga bisa diatur dengan derajat. Motor servo
bisa digunakan untuk membuat robot berkaki.

Gambar Motor Servo

4. Smart Servo

Smart servo adalah pengembangan dari Motor Servo, atau jenis Servo yang lebih
pintar, dimana didalamnya sudah terdapat kontroler sendiri. Smart servo mempunyai
sistem feedback yang bisa dipasang pada antar servo, tidak harus langsung pada
kontroler.

Gambar Smart Servo


5. Motor Stepper

Prinsip kerja motor stepper sama seperti motor DC, hanya saja motor stepper tidak
berputar 360° dalam satu step, melainkan berputar dalam beberapa step. Untuk
berputar 360°, stepper secara bertahap berputar 45°.

Gambar Motor Stepper

6. Geared Motor Stepper

Geared motor stepper adalah pengembangan dari motor stepper yang ada
penambahan gear pada motornya. Gear berfungsi untuk menambah torsi atau
tenaga pada motor.

Gambar Geared Motor Stepper

Aktuator yang bergerak berdasarkan linear :


1. Linear Actuator

Linear actuator adalah jenis motor DC yang bergerak linear atau maju mundur.
Gerakan maju mundur tersebut didapat dari hasil perpindahan dari roda gigi dengan
motor DC rotasi. Linear actuator memiliki feedback yang dikirimkan ke kontroler
untuk membantu mempermudah pengendalian.
Gambar Linear Actuator

2. Solenoid

Solenoid merupakan kumparan yang dililitkan di sekitar tabung silinder. Perbedaan


solenoid adalah tidak menggunakan DC motor ataupun gear untuk menghasilkan
gerakan linear. Solenoid dalam aplikasi sehari-hari biasanya digunakan untuk
pengunci pintu rumah otomatis.

Gambar Solenoid

3. Muscle Wire

Muscle wire adalah kawat otot yang biasa digunakan pada tangan robot. Fungsinya
untuk menggerakkan jari-jari tangan robot.
Gambar Muscle Wire pada tangan robotik

4. Pneumatik

Pneumatik adalah jenis aktuator yang memanfaatkan tekanan udara untuk


menghasilkan gerakan mekanik linear. Untuk aplikasinya pneumatik digunakan
untuk pekerjaan yang ringan, seperti pada pintu bus.

Gambar Silinder Pneumatik

5. Hidrolik

Hidrolik merupakan jenis aktuator yang mirip dengan pneumatik, hanya saja hidrolik
menggunakan fluida atau oli yang dimanfaatkan untuk menghasilkan gerakan
mekaniknya. Untuk aplikasinya hidrolik bisa digunakan untuk pekerjaan berat pada
industri.
Gambar Silinder Hidrolik

Sensor
Sensor merupakan perangkat atau komponen yang berfungsi untuk mendeteksi
gerakan atau fenomena lingkungan yang diperlukan oleh sistem kontroler. Berikut
Macam-macam modul sensor :

1. Light Sensor

Light Sensor : digunakan untuk mendeteksi intensitas cahaya di sekitarnya.

Gambar Sensor LDR

2. Color Sensor

Color Sensor : digunakan untuk mendeteksi warna dari suatu objek.

Gambar Color Sensor GY-31


3. Distance Sensor

Distance Sensor : digunakan untuk mengukur jarak dari suatu objek yang dideteksi.

Gambar Distance Sensor HC-SR04

4. Sound Sensor

Sound Sensor : digunakan untuk mendeteksi intensitas suara.

5. Balance Sensor

Balance Sensor : digunakan untuk mendeteksi kemiringan dari suatu objek.


Gambar Sensor Gyroscope

6. Gas Sensor

Gas Sensor : digunakan untuk mendeteksi berbagai jenis gas maupun asap yang
ada disekitarnya.

Gambar Gas Sensor Mq-2

7. Temperature Sensor

Temperature Sensor : digunakan untuk mengukur suhu disekitarnya.

Gambar Temperature Sensor LM-35


8. Touch Sensor

Touch Sensor : digunakan untuk mendeteksi kontak fisik dari suatu objek.

Gambar Touch Sensor TTP233B

Sumber :


o id.wikipedia.org
o undip.ac.id
o kelasrobot.com
BAB 8. Robot Beroda

Robot beroda atau bisa disebut mobile robot merupakan konstruksi robot yang ciri
khasnya mempunyai aktuator berupa roda untuk menggerakkan keseluruhan badan
robot.

Jenis-jenis robot beroda berdasarkan rodanya adalah sebagai berikut :

1. Robot Beroda Dua


Robot beroda dua atau lebih sering disebut Segway memerlukan gyro sensor untuk
menjaga keseimbangannya agar bisa tetap berdiri.

Gambar Robot Segway

2. Robot Beroda Tiga


Ada 2 jenis robot beroda tiga. Jenis pertama hanya menggunakan dua roda untuk
penggerak, dan roda satunya hanya membantu dalam berbelok sekaligus sebagai
penyeimbang. Kemudian jenis kedua, ketiga rodanya dapat bergerak dan
menggunakan omni wheel, yaitu jenis roda yang memiliki roda-roda kecil di
dalamnya yang memungkinkan robot dapat bergerak ke segala arah.

Gambar Robot 3 Roda Jenis Pertama


Gambar Robot 3 Roda Jenis Kedua

3. Robot Beroda Empat


Robot beroda empat juga ada 2 jenis. Jenis pertama hanya dua roda belakang yang
dapat bergerak, dan roda depannya hanya roda biasa. Jenis kedua adalah 4WD,
dimana keempat rodanya memiliki aktuator dan dapat bergerak.

Gambar Robot 4 Roda

4. Robot Beroda Tank


Robot beroda tank menggunakan mekanisme roda seperti tank dan memiliki banyak
keuntungan, salah satunya adalah dapat bergerak pada tempat yang tidak rata,
berbatu, bahkan tangga sekalipun.
Gambar Robot Beroda Tank

Sumber :


o kelasrobot.com
o robotplatform.com
o en.wikibooks.org
BAB 9. Robot Berkaki

Robot berkaki bergerak dengan menggunakan servo, jenis motor yang rotasinya
dapat diatur, dan bahkan servo yang canggih yang memiliki rangkaian pengontrol di
dalamnya.

Jenis-jenis robot berkaki berdasarkan jumlah kakinya adalah sebagai berikut :

1. Robot Berkaki Dua


Robot berkaki dua atau biasa disebut Biped memiliki 2 kaki dan dapat berjalan
seperti kaki manusia. Untuk pembelajaran ataupun aplikasi nyatanya, robot berkaki
tidak perlu memiliki badan ataupun bagian lainnya.Robot berkaki dua memerlukan
gyro sensor agar keseimbangannya tetap terjaga.

Gambar Robot Berkaki 2

2. Robot Berkaki Tiga


Robot berkaki tiga atau biasa dipanggil Triped memiliki mobilitas seperti robot
berkaki 2 dan keseimbangan atau stabilitas seperti robot berkaki 4.
Gambar Robot Berkaki 3

3. Robot Berkaki Empat


Robot berkaki empat atau bisa disebut Quadpod memiliki kestabilan yang tinggi
dibanding robot berkaki dua, terutama pada saat bergerak. Contoh robot berkaki
empat bernama Big Dog dibuat oleh Boston Dynamic, dan dirancang untuk
keperluan militer, tepatnya untuk membawa amunisi saat perang.

Gambar Robot Berkaki 4

4. Robot Berkaki Enam 


Robot berkaki enam gerakan kakinya meniru dari serangga. Pembuatan robot ini
cukup sulit dibuat karena membutuhkan banyak servo dan juga menambah mahal
pembuatannya, tapi keunggulannya adalah banyak kombinasi yang bisa dibuat dan
pergerakan kakinya yang bisa lebih cepat.
Gambar Robot Berkaki 6

5. Robot Berkaki Delapan


Robot berkaki delapan gerakan kakinya meniru laba-laba, sehingga pergerakannya
bisa lebih lincah. Karena jumlah kakinya banyak, maka servo yang dipakai pun tidak
perlu servo yang kuat, sehingga dapat memakai mini servo.

Gambar Robot Berkaki 8

Sumber :


o en.wikipedia.org
o kelasrobot.com
o makeprojects.com
BAB 10. Robot Terbang

Robot terbang atau yang biasa disebut dengan drone adalah pesawat tanpa awak
yang dikendalikan dengan remote control jarak jauh. Bentuk dari drone kebanyakan
dibuat menyerupai pesawat dan juga helikopter.

Jenis-jenis drone diantaranya :

1. Drone Militer
Sesuai dengan namanya, fungsi drone militer adalah untuk kepentingan bidang
militer. Contoh drone militer yang populer adalah UAV predator dan juga Reaper.

Gambar Drone Militer MQ-9 Reaper

2. Drone Konsumer
Drone konsumer sering digunakan sebagai hobi para pengguna ataupun dijadikan
untuk pembuatan sebuah video maupun fotografi. Karena fungsinya yang sering
digunakan untuk memenuhi hobi, drone ini dilengkapi dengan kamera yang memiliki
resolusi tinggi. Contoh drone konsumer yang biasa digunakan adalah DJI Mavic Pro,
GoPRo karma, dan DJI Phantom.

Gambar Drone Konsumer DJI Phantom 3


3. Drone Mainan
Drone mainan hanya digunakan sebagai mainan saja dan biasanya tidak memiliki
kamera. Tetapi jika drone mainan memiliki kamera pada bagian bawahnya, kamera
yang digunakannya bukan kamera dengan kualitas resolusi yang tinggi. Drone ini
sering digunakan bagi para pilot pemula.

Gambar Mini Drone Luxon

4. Drone Profesional
Sama seperti drone konsumer, drone profesional juga digunakan sebagai alat untuk
produksi sebuah video ataupun project, tetapi kamera yang dimiliki lebih baik
daripada drone konsumer. Salah satu contoh drone profesional yang sering
digunakan adalah DJI Inspire series (Inspire 1, Inspire 1 Pro, Inspire 2).

Gambar Drone Profesional DJI Inspire 2

5. Drone Industrial
Drone Industrial merupakan tingkat lanjutan dari drone profesional. Drone Industrial
sering digunakan untuk industri film besar atau bisa digunakan pada bidang
pertanian untuk membantu menyemprotkan pestisida atau pupuk. Contoh drone
industrial yang biasa digunakan adalah Yamaha Rmax, DJI MG1, dan DJI Matrice
600.

Drone Industrial DJI MG1

Pada saat ini drone sudah sangat umum digunakan terutama di Indonesia, sehingga
pemerintah mengeluarkan regulasi mengenai peraturan penerbangan drone. Hal ini
diatur agar tidak membahayakan maupun merugikan banyak pihak.

Sumber :


o liputan6.com
o gadgetdirt.com
o iberdrola.com
BAB 11. Robot Humanoid

Robot Humanoid adalah robot layanan profesional yang dibuat untuk meniru
gerakan dan interaksi yang dilakukan oleh manusia. Secara umum robot humanoid
memiliki tubuh, kepala, dua buah lengan dan dua buah kaki, meskipun ada pula
beberapa bentuk robot humanoid yang hanya berupa sebagian dari tubuh manusia,
misalnya dari pinggang ke atas. Beberapa robot humanoid juga memiliki wajah,
lengkap dengan mata dan mulut. Android merupakan robot humanoid yang
dibangun untuk secara estetika menyerupai manusia.

Robot humanoid digunakan sebagai alat riset pada beberapa area ilmu
pengetahuan. Periset perlu mengetahui struktur dan perilaku tubuh manusia
(biomekanik) agar dapat membangun dan mempelajari robot humanoid. Kognisi
manusia adalah bidang studi yang berfokus kepada bagaimana manusia belajar
melalui informasi sensori dalam rangka memperoleh keterampilan persepsi dan
motorik. Pengetahuan ini digunakan untuk mengembangkan model komputasi dari
perilaku manusia dan hal ini telah berkembang terus sepanjang waktu.

Robot Humanoid NAO

Nao adalah robot humanoid berukuran sedang dan dapat diprogram, yang
dikembangkan oleh Aldebaran Robotics, sebuah perusahaan startup dari Prancis
yang berkantor pusat di Paris yang kemudian diakuisisi oleh Softbank Group. Nao
sudah digunakan dalam RoboCup 2008 dan 2009, dan NaoV3R terpilih sebagai
platform untuk LPS pada RoboCup 2010. Semua versi Nao memiliki fitur satuan
pengukuran inersia an empat sensor ultrasonik yang menjaga stabilitas Nao. Nao
juga memiliki fitur sistem multimedia yang powerful, termasuk empat microphone,
dua speaker dan dua kamera CMOS, empat sintesis text-to-speech, lokalisasi suara
dan pengenalan wajah dan bentuk, dan variasi kemampuan lainnya.
Sumber :


o id.wikipedia.org
o robotics.org
o sciencedaily.com

Anda mungkin juga menyukai