BB ROBOT INDONESIA THE ROBOTIC E-LEARNING CENTER
INSTALLING THE IDE
Arduino IDE
Arduino IDE adalah software yang digunakan untuk mengembangkan dan mengisi program ke dalam Arduino. Arduino IDE ini dapat digunakan pada OS Windows, Mac OS dan Linux. Pastikan anda mendownload IDE yang sesuai dengan OS yang anda gunakan.
www.BelajarBikinRobot.weebly.com
1
Step 1: Download the software
Anda bisa mendownload Arduino IDE pada alamat URL berikut : http://arduino.cc/en/Main/Software Kemudian download software IDE yang sesuai dengan operating sistem yang anda gunakan.
www.BelajarBikinRobot.weebly.com
2
Step 2: Unzip the Software Unzip Arduino IDE yang anda download menggunakan aplikasi winzip atau aplikasi extraksi lainnya. arduino-00 -win.zip direkomendasikan untuk mengekstraknya di : c:\Program Files\
www.BelajarBikinRobot.weebly.com
3
Step 3: Shortcut Icon
Bukalah hasil extraksi pada : c:\program files\arduino-00 Klik kanan pada icon Arduino IDE Arduino.exe (send to>Desktop (create shortcut) )
www.BelajarBikinRobot.weebly.com
4
Step 4: Plug In Y our Arduino
Sambungkan arduino dengan komputer menggunakan kabel USB pada port USB di komputer atau laptop anda.
www.BelajarBikinRobot.weebly.com
5
Step 5: Add new Hardware Lewati pilihan searching the internet pada top up lalu pilih (click “Install from a list or specific location (Advanced)) Pilih lokasinya c:\program files\arduino00rr\drivers\FTDI USB Drivers\ Selesai , software IDE sudah siap digunakan.
www.BelajarBikinRobot.weebly.com
6
Tampilan IDE Arduino
www.BelajarBikinRobot.weebly.com
7
8
WWW.BELAJARBIKINROBOT.WEEBLY.COM
www.BelajarBikinRobot.weebly.com
9
BB ROBOT INDONESIA THE ROBOTIC E-LEARNING CENTER
DASAR-DASAR PEMROGRAMAN ARDUINO
Arduino Programming intro
Arduino diprogram menggunakan bahasa pemrograman C. Pada materi kali ini, kita akan mencoba mengenal beberapa dasar dalam memprogram arduino menggunakan bahasa C pada IDE Arduino yang telah kita install pada materi sebelumnya.
www.BelajarBikinRobot.weebly.com
10
Structure
11
Setiap program Arduino (biasanya disebut sketch) memiliki setidaknya dua fungsi (biasanya disebut routines).
1
2
Semua code yang diletakkan diantara tanda kurung kurawal { } akan dijalankan sekali saat program mulai dijalankan.
Fungsi ini akan dijalankan setelah fungsi setup. Setelah itu fungsi ini akan terus dijalankan berulang kali, dan akan berhenti jika kita melepaskan catu daya Arduino dari sumber listrik.
void setup() { Tempat mengetik kode program }
www.BelajarBikinRobot.weebly.com
void loop() { Tempat mengetik kode program }
Syntax
12
Salah satu hal yang membuat bahasa C cukup merepotkan yaitu elemen formating yang harus dipahami (namun, ini juga yang membuat bahasa C menjadi bahasa pemrograman yang powerful). Jika kita menguasainya maka kita tidak akan terlalu kesulitan dalam memrogram Arduino.
www.BelajarBikinRobot.weebly.com
Syntax
13
//(single line comment) Code ini digunakan untuk membuat catatan pada program. Jika pada program kita ketikkan // maka apapun yang diketik pada baris seletah tanda // tersebut tidak akan dibaca oleh program. Contoh : void loop() { …program yang dibaca //baris ini tidak akan dibaca oleh program …program yang dibaca }
www.BelajarBikinRobot.weebly.com
Syntax
/* */(multi line comment) Jika kita ingin membuat catatan pada program dan kata2nya cukup banyak maka kita bisa menggunakan /**/ . Apapun yang diketikkan diantara dua tanda ini tidak akan dijalankan oleh program. Contoh: void loop() { …program yang dibaca /* apapun yang diketik diantara tanda ini tidak akan dibaca oleh program */ …program yang dibaca } www.BelajarBikinRobot.weebly.com
14
Syntax
{ }(kurung kurawal) Digunakan untuk mendefinisikan awal dan akhir dari code program. Awal
Akhir
Contoh: void loop() { …program …program …program }
www.BelajarBikinRobot.weebly.com
15
Syntax
;(semicolon) Setiap baris code harus diakhiri dengan tanda ; (biasanya tanda ini yang sering lupa digunakan oleh pemula sehingga program tidak bisa di compile)
www.BelajarBikinRobot.weebly.com
Contoh : void loop() { digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); delay(1000); }
16
17
Variables
“
Integer
Variable adalah tempat untuk menyimpan data. Variable memiliki nama, nilai, dan tipe data. Statementnya biasa disebut deklarasi.
“
www.BelajarBikinRobot.weebly.com
Long Boolean Float Character
18
int (integer) Tipe data yang paling sering digunakan, menyimpan data sebesar 2 bytes (16 bits). Menyimpan nilai dari -32,768 sampai 32,768.
float(float)
Digunakan jika datanya lebih besar dari data integer. Menggunakan 4 bytes boolean(boolean) (32 bits) memori RAM dan memiliki range Variable sederhana yang 2,147,483,648 menyimpan nilai True atau dan 2,147 ,483,648. False. Sangat berguna karna hanya menggunakan 1 bit memori RAM.
Digunakan untuk floating point math (decimals). Memori yang digunakan 4 bytes (32 bits) RAM range nilai antara -3.4028235E+38 dan 3.4028235E+38. www.BelajarBikinRobot.weebly.com
long(long)
char(character)
Menyimpan sebuah karakter mengunakan ASCII code (contoh: 'A' = 65). Memori 1 byte (8 bits) RAM. Arduino menggunakan strings sebagai sebuah array dari banyak char
Maths Operators Operator digunakan untuk memanipulasi nilai (cara kerjanya sama seperti matematika sederhana)
=
(sama dengan ) (contoh. x = 10 *2 (x sekarang sama dengan 20))
%
modulo (contoh. 12 % 10 ( sisa setelah dibagi yaitu 2))
+
(penambahan)
-
(pengurangan)
*
(perkalian)
/
(pembagian)
www.BelajarBikinRobot.weebly.com
19
Comparison Operators
20
Operator yang digunakan untuk perbandingan secara logical
== (sama dengan)
(contoh, 12 == 10 F ALSE atau 12 == 12 TRUE)
!= < >
(tidak sama dengan) (contoh, 12 != 10 TRUE atau 12 != 12 F ALSE) (lebih kecil dari) (contoh, 12 < 10 F ALSE atau 12 < 12 FALSE atau 12 < 14 TRUE)
(lebih besar dari) (contoh, 12 > 10 TRUE atau 12 > 12 F ALSE atau 12 > 14 FALSE)
www.BelajarBikinRobot.weebly.com
Control Structure
Program memerlukan kontrol untuk mengendalikan hal-hal apa yang akan dilakukan selanjutnya, berikut adalah beberapa contoh dasar metode pengontrolan.
www.BelajarBikinRobot.weebly.com
21
Control Structure
if(kondisi A) { Kode program A } else if( kondisi B ) { Kode program B } Else { Kode program C }
Awalnya, Program akan mengecek (kondisi A). Jika (kondisi A) TRUE/BENAR. program akan mengeksekusi (kode program A) Jika (kondisi A) FALSE/SALAH, maka program akan mengecek (kondisi B). jika (kondisi B) TRUE/BENAR, maka program akan mengeksekusi (kode program B). jika (kondisi B) FALSE/SALAH, maka program akan mengeksekusi (kode program C).
www.BelajarBikinRobot.weebly.com
22
Control Structure
for(int i = 0; i < #repeats; i++){ } (menghitung ke atas i++ Atau kebawah i-- ) Digunakan ketika kita ingin mengulangi code sebuah nilai beberapa kali, nanti akan kita pelajari lebih lanjut pada contoh kasus agar lebih mudah memahaminya.
www.BelajarBikinRobot.weebly.com
23
Digital
pinMode(pin, mode); Digunakan untuk menyeting mode pin, Pin adalah nomer pin yang ingin digunakan (pin 0 sampai pin 19). Mode bisa berupa INPUT atau OUTPUT.
Contoh: pinMode (13,INPUT); “artinya pin 13 pada arduino kita gunakan sebagai input.” pinMode (7,OUTPUT); “artinya pin 7 pada arduino kita gunakan sebagai output.”
www.BelajarBikinRobot.weebly.com
24
Digital
int digitalRead(pin); Sebuah pin yang sudah kita seting sebagai input dapat memberikan pin arduino nilai HIGH (+5 volt) atau LOW (Ground).
www.BelajarBikinRobot.weebly.com
Contoh: int digitalRead(13); “program akan membaca nilai pada pin 13, apakah ada tegangan (+5 volt). jika ada, maka program akan membaca nilai HIGH dan jika tidak ada tegangan (ground) , maka program membaca nilai LOW”
25
Digital
26
Contoh:
int digitalWrite(pin, value); Sebuah pin yang sudah kita seting sebagai output dapat kita berikan nilai HIGH (+5 volt) atau LOW (Ground).
int digitalWrite(13,HIGH); “program akan memberikan nilai high pada pin 13, sehingga pin tersebut secara hardware akan terhubung ke tegangan (+5 volt)” Sebaliknya, int digitalWrite(13,LOW); “program akan memberikan nilai low pada pin 13, sehingga pin tersebut secara hardware akan terhubung ke (Ground)”
www.BelajarBikinRobot.weebly.com
Analog
Meskipun Arduino merupakan mesin digital namun, Arduino juga dapat digunakan untuk mengoprasikan analog (dengan sedikit trik).
www.BelajarBikinRobot.weebly.com
27
Analog
int analogRead(pin); Ketika input dari pin analog diseting sebagai INPUT, kita dapan membaca tegangan inputnya. Nilainya mulai dari 0 (untuk 0 volt) dan 1024 (untuk 5 Volt).
www.BelajarBikinRobot.weebly.com
28
Analog
int analogWrite(pin, value); Beberapa pin dari board Arduino mensuport PWM (pulse with modulation) pin tersebut yaitu pin (3, 5, 6, 9, 10, 11). Nilai yang dihasilkan bervariasi antara 0 (0% duty cycle Sekitar 0 volt ) dan 255 (100% duty cycle sekitar 5 volt).
www.BelajarBikinRobot.weebly.com
29
30
WWW.BELAJARBIKINROBOT.WEEBLY.COM
www.BelajarBikinRobot.weebly.com
31
BB ROBOT INDONESIA THE ROBOTIC E-LEARNING CENTER
MENGENAL KOMPONEN ELEKTRONIKA
Intro
Komponen-komponen elektronika yang dibahas pada materi ini dibatasi pada komponen-komponen yang akan kita gunakan pada praktikum dasar Board Arduino.
www.BelajarBikinRobot.weebly.com
32
LED (Light Emitting Diode)
LED atau singkatan dari Light Emitting Diode adalah salah satu komponen elektronika yang terbuat dari bahan semi konduktor jenis dioda yang mempu mengeluarkan cahaya. Strukturnya juga sama dengan dioda, tetapi pada LED elektron menerjang sambungan P-N (Positif-Negatif).
www.BelajarBikinRobot.weebly.com
33
Bentuk Fisik LED
LED memiliki dua kaki yang terbuat dari sejenis kawat. Kawat yang panjang adalah anoda, sedangkan kawat yang pendek adalah katoda. Coba perhatikan bagian dalam LED, akan terlihat berbeda antara kiri dan kanannya. Yang ukurannya lebih besar adalah katoda, atau yang mempunyai panjang sisi atas yang lebih besar adalah katoda.
www.BelajarBikinRobot.weebly.com
34
Cara Kerja LED
35
LED akan menyala bila ada arus listrik mengalir dari anoda ke katoda. Pemasangan kutub LED tidak boleh terebalik karena apabila terbalik kutubnya maka LED tersebut tidak akan menyala. Led memiliki karakteristik berbeda-beda menurut warna yang dihasilkan. Semakin tinggi arus yang mengalir pada LED maka semakin terang pula cahaya yang dihasilkan, namun perlu diperhatikan bahwa besarnya arus yang diperbolehkan adalah 10mA-20mA dan pada tegangan 1,6V – 3,5 V menurut karakter warna yang dihasilkan. Apabila arus yang mengalir lebih dari 20mA maka LED akan terbakar. Untuk menjaga agar LED tidak terbakar perlu kita gunakan resistor sebagai penghambat arus
www.BelajarBikinRobot.weebly.com
Diode
Dioda adalah komponen elektronika yang hanya memperbolehkan arus listrik mengalir dalam satu arah sehingga dioda seringkali disebut sebagai 'penyearah'. Dioda terbuat dari bahan semikonduktor jenis silicon dan germanium. Dioda silikon bekerja pada tegangan 0.6 VDC dan dioda germanium bekerja pada tegangan 0,2 VDC. Contoh dioda : IN 4148, IN4002,IN4003, dll.
www.BelajarBikinRobot.weebly.com
36
Sifat dan Fungsi Dioda - Jika diberi arah maju (tegangan positif => anoda dan tegangan negatif => katoda) akan menghantarkan arus dan sebaliknya, - Jika diberi arah mundur (tegangan positif => katoda dan tegangan negatif => anoda) tidak akan menghantarkan arus. Arus listrik akan sangat mudah mengalir dari anoda ke katoda hal ini disebut sebagai 'Forward-Bias' tetapi jika sebaliknya yakni dari katoda ke anoda, arus listrik akan tertahan atau tersumbat hal ini dinamakan sebagai 'Reverse-Bias'. Fungsi Dioda . - Sebagai penyearah - Sebagai pengaman rangkaian dari kemungkinan terbaliknya polaritas www.BelajarBikinRobot.weebly.com
37
Resistors
38
Resistor adalah komponen elektronika dua saluran yang didesain untuk menahan arus listrik dengan memproduksi penurunan tegangan di antara kedua salurannya sesuai dengan arus yang mengalirinya. Resistor dapat diumpamakan dengan sebuah papan yang digunakan untuk menahan aliran air yang deras di parit kecil. Dengan adanya tahanan papan ini, maka arus air menjadi terhambat alirannya. Makin besar papan yang dipergunakan untuk menahan air parit, makin kecil air yang mengalir. Begitu pula peran resistor dalam elektronika, makin besar resistansi (nilai tahanan), makin kecil arus dan tegangan listrik yang melaluinya. Satuan resistor adalah Ohm (simbol: Ω). www.BelajarBikinRobot.weebly.com
Fungsi Resistor Dalam suatu rangkaian elektronika, fungsi resistor adalah: 1. Menahan sebagian arus listrik agar sesuai dengan kebutuhan suatu rangkaian elektronika. 2. Menurunkan tegangan sesuai dengan kebutuhan suatu rangkaian elektronika. 3. Pembagi tegangan. 4. Bekerjasama dengan transistor dan kapasitor dalam suatu rangkaian elektronika untuk membangkitkan frekwensi rendah/ tinggi.
www.BelajarBikinRobot.weebly.com
39
Transistor
Transistor merupakan komponen semikonduktor yang berfungsi sebagai penguat, switching (penyambung dan pemutus), menstabilkan tegangan, modulasi sinyal dan masih banyak fungsi yang lainnya.
www.BelajarBikinRobot.weebly.com
40
Transistor
Secara umum transistor memiliki 3 terminal yaitu Emitor (E), Basis (B) dan Kolektor (C). Transistor merupakan salah satu komponen yang penting dalam dunia elektronika. pada elektronika analog transistor memilki fungsi sebagai penguat (arus) dan penguat sinyal radio. Sedangkan pada elektronika digital transistor berfungsi sebagai saklar berkecepatan tinggi.
www.BelajarBikinRobot.weebly.com
41
Hobby Servo
Motor servo adalah motor yang mampu bekerja dua arah(CW danCCW) dimana arah dan sudut pergerakan rotornya dapat dikendalikan hanya dengan memberikan pengaturan duty cycle sinyalPWM pada bagian pin kontrolnya
www.BelajarBikinRobot.weebly.com
42
Hobby Servo Pengendalian gerakan batang motor servo dapat dilakukan dengan menggunakan metode PWM. (Pulse Width Modulation). Teknik ini menggunakan system lebar pulsa untuk mengemudikan putaran motor. Sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari kabel motor. Tampak pada gambar dengan pulsa 1.5 mS pada periode selebar 2 mS maka sudut dari sumbu motor akan berada pada posisi tengah. Semakin lebar pulsa OFF maka akan semakin besar gerakan sumbu ke arah jarum jam dan semakin kecil pulsa OFF maka akan semakin besar gerakan sumbu ke arah yang berlawanan dengan jarum jam. www.BelajarBikinRobot.weebly.com
43
Hobby Servo
Untuk menggerakkan motor servo ke kanan atau ke kiri, tergantung dari nilai delay yang kita berikan. Untuk membuat servo pada posisi center, berikan pulsa 1.5ms. Untuk memutar servo ke kanan, berikan pulsa <=1.3ms, dan pulsa >= 1.7ms untuk berputar ke kiri dengan delay 20ms, seperti ilustrasi berikut:
www.BelajarBikinRobot.weebly.com
44
DC Motor
Motor DC adalah motor yang berputar dengan sudut 360 derajad alias continously. Motor dc (seperti namanya) dikontrol menggunakan tegangan DC. Semakin besar tegangan DC yang dihubungkan ke motor DC maka semakin cepat pula putaran dari motor, tetapi ingat jangan terlalu banyak melebihi tegangan maximal motor DC, jika hal itu terjadi maka spul pada rotor motor DC akan putus akibat terbakar.
www.BelajarBikinRobot.weebly.com
45
IC ( Integrated Circuit )
46
IC Adalah rangkaian elektronik lengkap yang dimasukan dalam satu chip silicon. Di dalam satu buah IC bisa berisi puluhan, ratusan, bahkan ribuan komponen elektronika seperti transistor, resistor, dioda, kapasitor, dll dan di kemas menjadi satu, yang bersama-sama sebagai pengantar listrik yang bekerjanya disesuaikan dengan fungsi dari IC itu sendiri. Teknik pembuatan IC sama dengan pembuatan transistor, karena IC memang perkembangan dari transistor. IC dapat diklasifikasikan menurut apliksasinya, yaitu IC digital dan IC analog. Di dalam IC digital terdapat rangkaian jenis saklar (on/ off), sedangkan IC analog berisi rangkaian jenis penguatan. www.BelajarBikinRobot.weebly.com
Pushbutton
Alat ini befungsi sebagai pemberi sinyal masukan pada rangkaian listrik, ketika / selama bagian knopnya ditekan maka alat ini akan bekerja sehingga kontak-kontaknya akan terhubung.
www.BelajarBikinRobot.weebly.com
47
Potensiometer
48
Potensiometer adalah resistor tiga terminal dengan sambungan geser yang membentuk pembagi tegangan dapat disetel.[1] Jika hanya dua terminal yang digunakan (salah satu terminal tetap dan terminal geser), potensiometer berperan sebagai resistor variabel atau Rheostat. Potensiometer biasanya digunakan untuk mengendalikan peranti elektronik seperti pengendali suara pada penguat. www.BelajarBikinRobot.weebly.com
Photo Resistor
Resistor peka cahaya atau fotoresistor adalah komponen elektronika yang resistansinya akan menurun jika ada penambahan intensitas cahaya yang mengenainya. Fotoresistor dapat merujuk pula pada lightdependent resistor (LDR), atau fotokonduktor.
www.BelajarBikinRobot.weebly.com
49
50
WWW.BELAJARBIKINROBOT.WEEBLY.COM
www.BelajarBikinRobot.weebly.com