BB ROBOT INDONESIA - belajarbikinrobot.weebly.com

DASAR-DASAR PEMROGRAMAN ARDUINO BB ROBOT INDONESIA THE ROBOTIC E-LEARNING CENTER 9. Arduino Programming intro Arduino diprogram menggunakan bahasa pem...

256 downloads 611 Views 3MB Size
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