BACA DULU INI YA!!! WARNING... Ebook ini saya bagi GRATIS bagi kamu yang membeli:
ARDUINO UNO R3 R3 KIT, KIT, “NEWBIE “NEWBIE V.1” V.1” Saya bagikan, karena dengan panduan ini kamu bisa jadi lebih fokus belajar Arduino nantinya. Saya menyusun sendiri Ebook ini, dan saya harap kamu tidak memberikan secara membabi buta kepada orang lain. Tapi kamu masih bisa cetak ebook ini jika kamu perlukan, untuk belajar ataupun untuk mengajarkan orang lain. Yang PASTI kamu: TIDAK
BOLEH MENJUAL EBOOK INI! TIDAK BOLEH MENGEDIT SEDIKITPUN ISI DARI EBOOK INI! JIKA KAMU INGIN SHARE SHA RE DI BLOG ATAU ATAU WEBSITE WE BSITE KAMU, PASTIKAN MENYERTAKAN www.kelasrobot.com www.kelasrobot.com , , maka hargailah usaha saya untuk menyusun ebook ini! Saya yakin kamu dapat dipercaya, karena kamu pasti dapat belajar dengan baik. Maka selama menggunakan panduan ini, saya harap jangan pernah meloncat-loncat! Kamu harus baca dari awal sampai akhir,. OK! Selamat menjadi lebih Kreatif ;)
BACA DULU INI YA!!! WARNING... Ebook ini saya bagi GRATIS bagi kamu yang membeli:
ARDUINO UNO R3 R3 KIT, KIT, “NEWBIE “NEWBIE V.1” V.1” Saya bagikan, karena dengan panduan ini kamu bisa jadi lebih fokus belajar Arduino nantinya. Saya menyusun sendiri Ebook ini, dan saya harap kamu tidak memberikan secara membabi buta kepada orang lain. Tapi kamu masih bisa cetak ebook ini jika kamu perlukan, untuk belajar ataupun untuk mengajarkan orang lain. Yang PASTI kamu: TIDAK
BOLEH MENJUAL EBOOK INI! TIDAK BOLEH MENGEDIT SEDIKITPUN ISI DARI EBOOK INI! JIKA KAMU INGIN SHARE SHA RE DI BLOG ATAU ATAU WEBSITE WE BSITE KAMU, PASTIKAN MENYERTAKAN www.kelasrobot.com www.kelasrobot.com , , maka hargailah usaha saya untuk menyusun ebook ini! Saya yakin kamu dapat dipercaya, karena kamu pasti dapat belajar dengan baik. Maka selama menggunakan panduan ini, saya harap jangan pernah meloncat-loncat! Kamu harus baca dari awal sampai akhir,. OK! Selamat menjadi lebih Kreatif ;)
DAFTAR ISI... Dengan Daftar dibawah ini, kamu jadi lebih mudah untuk menemukan apa yang kamu cari di Ebook Ini. Dan apa yang mungkin kamu lewatkan dari materi. Dan sekali lagi saya ingatkan TOLONG untuk tidak melompat-lompat saat menggunakan Panduan Belajar ini. TOLONG untuk dibaca halaman perhalaman. OK! 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
WARNING!!! WARNING!!! Baca Dulu Ini Ya........ a.............. ............ ............ ............ ............ ............ ............ ............ ............ ............ .............. .........1 .1 Daftar Daftar Isi..... Isi......... ......... ........... ............ ............ ............ ............ ............ ............ ............ ............ ............ ............ ............ ............ ............ ..............2 ........2 Komponen Komponen Dasar Elektronika Elektronika.... ......... ........... ............ ............ ............ ............ ............ ............ ............ ............ ............ ...............3 .........3 Apa Itu Arduino?.. Arduino?...... ......... ........... ............ ............ ............ ............ ............ ............ ............ ............ ............ ............ ............ ............ ..........12 ....12 Berbaga Berbagaii Jenis Jenis Arduino. Arduino..... .......... ............ ............ ............ ............ ............ ............ ............ ............ ............ ............ ............ ............ ........13 ..13 Mengenal Mengenal Arduino Arduino Uno...... Uno.......... .......... ........... ........... ............ ............ ............ ............ ............ ............ ............ ............ ............ ..........17 ....17 Install Install Dan Jalankan Jalankan Arduino...... Arduino........... ........... ............ ............ ............ ............ ............ ............ ............ ............ ............ ...........20 .....20 Pemrograman Pemrograman Dasar Arduino... Arduino....... ......... ........... ............ ............ ............ ............ ............ ............ ............ ............ ............ ..........24 ....24 From BLANK To BLINK.... BLINK......... ........... ............ ............ ............ ............ ............ ............ ............ ............ ............ ............ ................3 ..........34 4 Push Button....................................................................................................39 Analog Input Potensiometer..............................................................................42 Potensiometer..............................................................................42 Sensor Cahaya Cahaya LDR....... LDR.........................................................................................48 ..................................................................................48 Melody Dalam Speaker......................................................... Speaker.....................................................................................51 ............................51 Sensor Suhu LM35................................................... LM35.......................................................................................... ....................................... .57
SELAMAT MENJADI LEBIH CERDAS DAN KREATIF ;)
KOMPONEN DASAR ELEKTRONIKA Kita akan belajar mengenai komponen elektronika dasar yang penting, karena nanti akan digunakan bersama Arduino saat membuat projek. Karena pada dasarnya Arduino adalah komponen elektronika juga, iya kan! :D
Resistor Komponen yang digunakan untuk menghambat dan mengatur arus listrik pada rangkaian elektronika. Nilai hambatan pada resistor disebut Ohm (Ω). Dan hambatan pada resistor disebut resistansi atau resistance. Selain itu resistor ini tidak memiliki polaritas atau positif negatif pada kakinya, jadi mau dipasang kebalik seperti apapun sama saja. Resistor tergolong kedalam beberapa jenis, diantaranya: Fixed Resistor (Resistor Tetap). Adalah jenis Resistor yang nilai hambatannya tidak dapat berubah, dan ada cara untuk membaca nilai resistor ini, yaitu dengan membaca warna gelang yang ada pada Resistor. Tetapi yang paling sering digunakan pada projek Arduino yang bertegangan 5V adalah 220 Ohm untuk menghambat listrik yang masuk ke LED, 1K Ohm untuk Button, 10K untuk LDR.
KOMPONEN DASAR ELEKTRONIKA Variabel Resistor (Potensiometer). Sering disebut Potensiometer tapi ada juga yang ukurannya lebih kecil disebut Trimpot. Bedanya, Potensiometer bisa langsung diputar pake tangan untuk mengatur nilai hambatannya, sedangkan Trimpot memerlukan obeng. Tapi keduanya sama-sama jenis resistor yang nilai hambatannya bisa dirubah, yaitu dengan diputar. Sebenarnya ada juga Variabel Resistor yang jenisnya Slider, tapi jarang digunakan.
Light Dependent Resistor (LDR). Jenis resistor yang nilai hambatannya dipengaruhi oleh cahaya yang berada disekitar, sering disebut sensor cahaya dan digunakan pada Robot Light Follower. Untuk dapat bekerja dengan baik khususnya pada Arduino, LDR memerlukan Resistor yang bernilai tetap (Fixed Resistor) dengan ukuran 10K atau lebih. Bisa juga menggunakan Trimpot kalau mau lebih praktis ;)
KOMPONEN DASAR ELEKTRONIKA Thermistor (NTC/PTC). Gabungan dari Thermo (suhu) dan Resistor. Jenis resistor yang nilai hambatannya dipengaruhi oleh suhu. Terdapat dua jenis Thermistor, yaitu: Negative Temperature Coefficient (NTC), yang mana nilai resistansinya akan naik apabila suhu disekitar turun. Dan Positive Temperature Coefficient (PTC), yang mana nilai resistansi akan naik jika suhu disekelilingnya juga naik.
Kapasitor Sering disebut kondensator adalah komponen elektronika yang fungsinya untuk menyimpan listrik sementara. Dalam radio kapasitor berfungsi untuk memilih gelombang pada turner. Dalam power suply digunakan sebagai filternya. Dan satuan dari kapasitor sendiri adalah Farad (F). Kapasitor tergolong kedalam beberapa jenis, diantaranya: Kapasitor Biasa. Bernilai tetap dan tidak memiliki polaritas, maksudnya tidak ada positif dan negatifnya seperti resistor. Ada banyak bahan yang digunakan untuk membuat kapasitor jenis ini, ada yang dari kertas, mika, polyster, dan juga dari keramik.
KOMPONEN DASAR ELEKTRONIKA Kapasitor Elektrolit (Electrolyte Condensator). Sering disingkat Elco, adalah jenis kapasitor yang nilainya tetapi yang satu ini memiliki polaritas. So, kamu jangan sampai salah pasang ya, yang kakinya panjang itu positif yang negatif yang pendek. OK! Dan selain ELCO, kapasitor yang memiliki polaritas ada juga yang bernama Kapasitor Tantalum.
Kapasitor Variabel (Variable Capacitor). Adalah jenis kapasitor yang nilainya bisa berubah.
Induktor Sering disebut juga kumparan (coil). Merupakan komponen elektronika yang berfungsi untuk mengatur frekuensi, filter dan juga sebagai alat penyambung. Induktor sering digunakan pada rangkaian elektronika yang berhubungan dengan frekuensi. Dan satuan dari induktansi pada induktor disebut Henry(H). Induktorpun tergolong kedalam beberapa jenis, yaitu: Induktor yang nilainya tetap dan induktor yang nilainya dapat berubah (coil variable).
KOMPONEN DASAR ELEKTRONIKA
Dioda Merupakan komponen elektronika yang berfungsi untuk menghantarkan arus listrik searah dan menghambat arus listrik dari arah sebaliknya. Berdasarkan fungsi Dioda terdiri beberapa jenis, diantaranya: Dioda Penyearah (rectifier diode). Biasanya terbuat dari silikon dan berfungsi untuk penyearah arus bolak balik dari AC ke arus DC.
Diode Zener (zener diode). Berfungsi sebagai pengaman rangkaain yang ditentukan oleh tegangan dioda zener bersangkutan. Yang mana tegangannya disebut tegangan zener.
KOMPONEN DASAR ELEKTRONIKA Light Emiting Diode (LED). Adalah jenis dioda yang dapat memancarkan cahaya. Penggunaannya sebagai lampu penerangan yang lebih hemat dan lebih awet dari lampu pijar dan lampu neon.
Dioda Foto (photo diode). Adalah jenis dioda yang peka terhadap cahaya, bahkan juga cahaya dipancarkan infra merah. Makanya sering digunakan sebagai sensor dalam robot, contoh robot Line Follower.
Dioda Kapasitas (varactor diode). Adalah jenis diode yang kapasitasnya dapat berubahubah, sesuai dengan besar kecilnya tegangan yang diberikan kepada dioda ini. Jika tegangan yang diberikan besar, kapasitasnya akan menurun, dan apabila tegangan yang diberikan kecil, kapasitasnya menjadi besar.
KOMPONEN DASAR ELEKTRONIKA
Transistor Keberadaan transistor sangat berpengaruh dalam perkembangan elektronika, karena transistor ini memiliki banyak fungsi. Ada yang sebagai penguat arus, penghubung dan pemutus (switch), stabilitas tegangan, modulasi sinyal, penyearah dan masih banyak lagi. Pada dasarnya cara kerja dari transisitor ini mirip seperti keran air, dan transisitor memiliki tiga kaki, yaitu: Basis (B), Emitor (E), dan Collector (C).
Integrated Circuit (IC) IC komponen yang terdiri dari ratusan bahkan jutaan transistor, resistor dan komponen lainnya yang menjadi sebuah rangkaian kecil. Jumlah kakinya beragam mulai dari yang berkaki 3, hingga yang berkaki ratusan. Dan fungsinya pun beragam ada yang sebagai penyambung, penguat, pengontrol, hingga media penyimpanan. Dan pada umumnya, IC digunakan sebagai otak dalam peralatan elektronika khususnya robot. Contoh IC yang digunakan pada Robot adalah Microcontroller seperti Arduino. Dan ada juga yang digunakan sebagai otak pada sebuah komputer adalah processor, memiliki ratusan kaki.
KOMPONEN DASAR ELEKTRONIKA
Saklar (switch) Komponen elektronika yang digunakan untuk menghubungkan dan memutuskan arus listrik. Ada banyak jenis saklar, diantaranya: Rocker Switch. Jenis saklar yang paling sering digunakan, dengan cara kerja yang cukup sederhana. Arus akan terhubung apabila kita menekan bagian yang bersimbol 1, dan akan terputus apabila kita tekan yang bersimbol 0. Toggle Switch. Cara kerja mirip dengan rocker switch, yang membedakan hanya bentuknya saja. Push Button (button switch). Arus listrik akan terhubung hanya saat kita menekan tombolnya, dan akan terputus saat kita lepas (tidak menekan). Sering digunakan untuk tombol pada remote, dan juga sensor sentuh pada sebuah robot. Bump Switch. Cara kerja sama dengan push button, tetapi yang satu ini lebih sensitif, lebih mudah untuk ditekan. Dan bentuk mekaniknya seolah dirancang untuk menjadi sensor sentuh bagi robot avoider (halang rintang) sederhana.
KOMPONEN DASAR ELEKTRONIKA
Breadboard Sebutan lainnya adalah Project Board, digunakan untuk membuat rangkain percobaan elektronika tanpa harus menyolder. Memudahkan kita ketika mencoba membuat projek, atau mencoba sebuah rangkaian elektronika. Ada banyak sekali jenis Breadboard, salah satunya seperti yang dibawah ini.
Breadboard merupakan barisan lubang yang terhubung, dan untuk mengetahui lubang mana saja yang terhubung, kamu bisa melihatnya pada gambar diatas yang sebelah kanan.
APA ITU ARDUINO? Arduino adalah microcontroller , dan microcontroller secara singkat adalah, "Sebuah sistem komputer yang fungsional dalam sebuah chip,". Didalamnya sudah ada processor, memory, input output, dan bisa dibilang bahwa microcontroller ini adalah komputer dalam versi mini. Karena ukurannya yang kecil, microcontroller sering digunakan untuk mengendalikan rangkaian lampu LED, membuat MP3 Player, DVD, Televisi, AC, dan untuk membuat sebuah projek yang kita butuhkan seperti alarm motor misalkan . Dan tentu saja bisa juga untuk membuat projek robot. Dan dalam robot sendiri kita sudah ketahui bahwa microcontroller, berfungsi sebagai otaknya.
Nah lalu, apa yang membedakan Arduino dengan microcontroller yang lain? Arduino open source, skemanya boleh di cloning . Terus Arduino memiliki bahasa pemrograman sendiri. Didalam chipnya sudah ada bootloader , dimana bahasa pemrogramannya menggunakan bahasa C, tapi yang sudah disederhanakan. Dan juga sudah tersedia berbagai macam library . Dan yang paling penting adalah Arduino adalah Microcontroller yang paling populer di Dunia. Dan karena open source, pengembangnya ada dimana-mana, sehingga kita juga tidak akan kesulitan ketika mau mencari referensi. Dan yang terakhir bagi saya adalah arduino itu keren. ;)
BERBAGAI JENIS ARDUINO Arduino lahir dan berkembang, kemudian muncul dengan berbagai jenis. Diantaranya adalah: Arduino Uno. Jenis yang ini adalah yang paling banyak digunakan. Terutama untuk pemula sangat disarankan untuk menggunakan Arduino Uno. Dan banyak sekali referensi yang membahas Arduino Uno. Versi yang terakhir adalah Arduino Uno R3 (Revisi 3), menggunakan ATMEGA328 sebagai Microcontrollernya, memiliki 14 pin I/O digital dan 6 pin input analog. Untuk pemrograman cukup menggunakan koneksi USB type A to To type B. Sama seperti yang digunakan pada USB printer. Arduino Due. Berbeda dengan saudaranya, Arduino Due tidak menggunakan ATMEGA, melainkan dengan chip yang lebih tinggi ARM Cortex CPU. Memiliki 54 I/O pin digital dan 12 pin input analog. Untuk pemrogramannya menggunakan Micro USB, terdapat pada beberapa handphone. Arduino Mega. Mirip dengan Arduino Uno, samasama menggunakan USB type A to B untuk pemrogramannya. Tetapi Arduino Mega, menggunakan Chip yang lebih tinggi ATMEGA2560. Dan tentu saja untuk Pin I/O Digital dan pin input Analognya lebih banyak dari Uno.
BERBAGAI JENIS ARDUINO
Arduino Leonardo. Bisa dibilang Leonardo adalah saudara kembar dari Uno. Dari mulai jumlah pin I/O digital dan pin input Analognya sama. Hanya pada Leonardo menggunakan Micro USB untuk pemrogramannya.
Arduino Fio. Bentuknya lebih unik, terutama untuk socketnya. Walau jumlah pin I/O digital dan input analognya sama dengan uno dan leonardo, tapi Fio memiliki Socket XBee. XBee membuat Fio dapat dipakai untuk keperluan projek yang berhubungan dengan wireless. Arduino Lilypad. Bentuknya yang melingkar membuat Lilypad dapat dipakai untuk membuat projek unik. Seperti membuat amor iron man misalkan. Hanya versi lamanya menggunakan ATMEGA168, tapi masih cukup untuk membuat satu projek keren. Dengan 14 pin I/O digital, dan 6 pin input analognya.
BERBAGAI JENIS ARDUINO Arduino Nano . Sepertinya namanya, Nano yang berukulan kecil dan sangat sederhana ini, menyimpan banyak fasilitas. Sudah dilengkapi dengan FTDI untuk pemrograman lewat Micro USB. 14 Pin I/O Digital, dan 8 Pin input Analog (lebih banyak dari Uno). Dan ada yang menggunakan ATMEGA168, atau ATMEGA328. Arduino Mini. Fasilitasnya sama dengan yang dimiliki Nano. Hanya tidak dilengkapi dengan Micro USB untuk pemrograman. Dan ukurannya hanya 30 mm x 18 mm saja. Arduino Micro. Ukurannya lebih panjang dari Nano dan Mini. Karena memang fasilitasnya lebih banyak yaitu; memiliki 20 pin I/O digital dan 12 pin input analog. Arduino Etherne t. Ini arduino yang sudah dilengkapi dengan fasilitas ethernet. Membuat Arduino kamu dapat berhubungan melalui jaringan LAN pada komputer. Untuk fasilitas pada Pin I/O Digital dan Input Analognya sama dengan Uno.
BERBAGAI JENIS ARDUINO
Arduino Esplora . Rekomendasi bagi kamu yang mau membuat gadget sepeti Smartphone, karena sudah dilengkapi dengan Joystick, button, dan sebagainya. Kamu hanya perlu tambahkan LCD, untuk lebih mempercantik Esplora.
Arduino Robot. Ini adalah paket komplit dari Arduino yang sudah berbentuk robot. Sudah dilengkapi dengan LCD, Speaker, Roda, Sensor Infrared, dan semua yang kamu butuhkan untuk robot sudah ada pada Arduino ini.
MENGENAL ARDUINO UNO "bagi yang baru belajar Arduino, Uno adalah pilihan yang tepat." Kenapa Arduino Uno pilihan tepat untuk pemula? Karena dengan mulai mempelajari Uno, nantinya kamu tidak akan kesulitan lagi ketika akan menggunakan Arduino tipe lain. Karena pada dasarnya sistem arduino sama, hanya fasilitas dan beberapa antarmukanya saja yang berbeda.
BAGIAN-BAGIAN DARI ARDUINO UNO
MENGENAL ARDUINO UNO 1. ATMEGA328. Arduino menggunakan chip Atmega328, dimana mempunyai memori untuk menyimpan program sebanyak 32KB. Sekitar 0,5KB digunakan untuk Bootloader(sistem untuk Arduino). 2. Digital I/O. Uno memiliki 14 pin yang bisa digunakan untuk Input dan Output (Input disini berupa sensor-sensor, dan output seperti LED, Speaker, Servo, dan sebagainya). Pin tersebut mulai dari 0 sampai 13. Tapi khusus untuk pin 3, 5, 6, 9, 10 dan 11, dapat digunakan sebagai pin analog output atau sebutan lainnya PWM (Pulse With Module). Kita dapat memprogram pin output analog dengan nilai 0-255, dimana itu mewakili tegangan 0-5V. 3. Analog Input. Uno juga memiliki 6 pin yang bisa digunakan untuk Input sensor analog, seperti sensor cahaya LDR, potentiometer, sensor suhu, dan sebagainya. Pin tersebut mulai dari 0 sampai 5. Dan nilai sensor dapat dibaca program dengan nilai antara 0-1023, itu mewakili tegangan 0-5V. 4. USB. Arduino Uno adalah jenis arduino yang dapat diprogram menggunakan USB type A to type B. Dan untuk socket yang type A kamu sambungkan ke komputer, yang type B kamu sambungkan ke Arduino Unonya. USB ini sudah termasuk sambungan power, jadi kamu tidak perlu baterai atau yang lainnya saat mau memprogram. 5. Power . Uno memiliki power 5V yang bisa kamu gunakan untuk rangkaian, dan ada juga yang 3,3V, serta dengan Groundnya.
MENGENAL ARDUINO UNO 6. ICSP. Singkatan dari In-Circuit Serial Programing, fungsinya ketika kamu mau memprogram Arduino langsung, tanpa menggunakan Bootloader. Tapi kebanyakan pengguna Arduino tidak menggunakan ini, jadi tidak terlalu dipakai, walau sudah disediakan. 7. Kristal. Chip Microcontroller itu diibaratkan otak pada Arduino, dan kristal di ibaratkan jantungnya Arduino. Dimana jantung Arduino ini dapat berdetak sebanyak 16 juta kali perdetik atau biasa disebut 16MHz. Dan microcontroller melakukan sebuah operasi untuk setiap detaknya kristal. 8. Reset. Adalah tombol khusus yang ada pada Arduino, berfungsi ketika kamu mengulang keposisi awal program yang digunakan. Atau ketika error terjadi kamu bisa menggunakan tombol reset ini. 9. Socket DC. Ini adalah socket untuk sambungan power Arduino, ketika kamu melepas USB setelah memprogram, atau mau membuat projek yang permanen (Tidak akan diprogram lagi). Power ini bisa menerima Input listrik antara 6-12V. Sekarang apa kamu tertarik untuk mempelajari Arduino Uno? Dengan fasilitas sebanyak itu, kamu tentu saja dapat membuat projek yang kamu inginkan. Dan sudah pasti kamu juga bisa membuat robot dengan berbagai macam kecerdasan.
INSTALL DAN JALANKAN ARDUINO Arduino terdiri dari 2 bagian yaitu; Hardware dan Software. Untuk hardware karena ada banyak jenis-jenis arduino, saya sarankan kamu pilih Arduino Uno R3. Karena kalau dilihat dari harga paling terjangkau, fasilitas tercukupi, dan terdapat banyak shield yang mendukung. Walaupun pada dasarnya semua Arduino itu sama, hanya fitur dan desain saja yang membedakannya. Untuk menghubungkan Arduino Uno dengan komputer, menggunakan kabel USB tipe A to tipe B. Biasanya digunakan juga untuk menghubungkan printer dengan komputer. Kemudian untuk software, apapun Arduino yang kamu pakai. Softwarenya tetap pakai IDE Arduino. Apa itu IDE Arduino? IDE Arduino adalah software yang digunakan untuk membuat sketch program Arduino. Bisa di install di Windows, Linux, ataupun bagi kamu yang menggunakan MAC juga bisa. Untuk download kamu bisa langsung mengunjungi halaman resminya https://www.arduino.cc/en/main/software . Untuk yang versi terbaru, sudah ada Driver USB, jadi kamu tinggal pilih install bersama driver.
INSTALL DAN JALANKAN ARDUINO Setelah Arduino selesai terinstall. Kamu bisa langsung coba buka Arduino, dan saat awal dibuka akan muncul tampilan seperti dibawah ini.
Lalu setelah terbuka akan muncul jendela pemrograman Arduino, dengan antarmuka yang sangat sederhana dan mudah sekali untuk digunakan.
Pada saat pertama kali software Arduino 1.6.4 muncul, ada kode yang sudah ada disana yaitu void setup dan void loop. Semua kode yang dimasukan kedalam void setup akan dibaca sekali oleh Arduino, dan kode yang dimasukan ke void loop akan dibaca berulang.
INSTALL DAN JALANKAN ARDUINO Untuk mencoba test program kamu bisa copy paste program dibawah ini.
void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); } Lalu klik menu file dan Upload, atau bisa dengan menekan kombinasi ctrl+u di keyboard. Jika sudah berhasil terupload akan muncul Done Uploading dibagian bawah software, dan karena program diatas adalah program Blink. Maka akan ada satu LED yang berkedip di papan arduino kamu.
INSTALL INSTA LL DAN JALANKAN ARDUINO Lalu jika terjadi masalah, seperti Arduino tidak terhubung atau terjadi error saat program. Maka pastikan:
Kamu memilih port yang benar.
NOTED: NOTED: Bahasa pemrograman dari Arduino Arduino ini sebenarnya mirip bahasa C yang digunakan pada AVR, tapi lebih disederhanakan lagi. Dan dengan bantuan library yang tersedia dimana-mana dimana- mana Arduino jadi lebih mudah untuk dipelajari dan lebih fleksibel untuk digunakan untuk membuat projek apapun. Untuk membuat robot? Tentu Tentu saja!
Kamu memilih jenis papan Arduino yang sesuai dengan yang kamu gunakan saat ini, contoh saya yang menggunakan Arduino Uno.
Pemrograman DASAR ARDUINO Seperti yang saya bilang sebelumnya, bahasa pemrograman Arduino mirip bahasa C yang digunakan pada AVR. Akan tetapi lebih sederhana, dan lebih mudah untuk dipelajari. Ada Ada yang bilang juga bahwa bahasa pemrograman Arduino adalah bahasa processing. Bagi saya bahasa pemrograman yang digunakan pada Arduino adalah bahasa pemrograman Arduino ;) hehe Saya ingin mengajak kamu untuk belajar Bahasa pemrograman Dasarnya. Penting sekali, supaya saat dipembahasan selanjutnya saya kasih kamu contoh program. Kamu sudah bisa memahami dan tidak bingung, karena kamu sudah tahu dasarnya. Ok! Baiklah kita akan mulai dari: void setup setup() () { // semua kode yang yang disini akan dibaca sekali oleh Arduino } void loop loop() () { //semua kode yang ada disini akan dibaca berulang kali (terus menerus) oleh o leh Arduino }
Pemrograman DASAR ARDUINO Semua kode program yang ada dalam void setup akan setup akan dibaca sekali oleh Arduino. Arduino. Biasanya isinya berupa kode perintah untuk menentukan fungsi pada sebuah pin. Contoh kodenya seperti:
pinMode(13, OUTPUT pinMode(13, OUTPUT); ); pinMode(3, pinMode (3, INPUT INPUT); );
// menentukan pin 13 sebagai OUTPUT // menentukan pin 3 sebagai INPUT
Adapun untuk komunikasi antara Arduino dengan komputer, menggunakan: Serial.begin Serial .begin(9600); (9600);
// untuk komunikasi Arduino dengan komputer
Semua kode program yang ada di void loop akan dibaca setelah void setup dan akan dibaca terus menerus oleh Arduino. Isinya berupa kode-kode perintah kepada pin INPUT dan OUTPUT pada Arduino. Contoh kodenya seperti: digitalWrite(13, HIGH digitalWrite(13, HIGH); ); digitalWrite(13, digitalWrite (13, LOW LOW); ); analogWrite(3, analogWrite (3, 225); kepada pin 3.
//untuk memberikan 5V (nyala) (nyala) kepada pin 13. //untuk memberikan 0V (mati) kepada pin 13. //untuk memberikan nilai 225 (setara dengan 5V)
Adapun untuk menampilkan menam pilkan nilai dari sebuah sensor di Serial Monitor, bisa menggunakan: Serial.print(namasensor); Serial.print (namasensor); //menampilkan nilai sensor yang disimpan di variabel nama sensor
Pemrograman DASAR ARDUINO Untuk menampilkan teks, bisa menggunakan: Serial.print("Selamat Datang"); //menampilkan teks Selamat Datang pada Serial Monitor
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 ini:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - -
MARI BAHAS LEBIH DETAIL LAGI! CATATAN PADA PROGRAM Kamu bisa membuat catatan pada program dan tidak akan dibaca oleh Arduino, dengan cara mengetikan // kemudian mengetikan catatannya, seperti: void loop() { // catatan pada baris ini tidak akan dibaca oleh program }
Pemrograman DASAR ARDUINO Tapi pemakaian tanda // hanya berfungsi untuk catatan satu baris saja, jika kamu ingin membuat catatan yang panjang yaitu berupa paragraf. Maka pertama kamu ketikan /* lalu ketikan catatan kamu, dan jika sudah selesai tutup dengan kode */ . Contohnya seperti: void loop() {
/* apapun yang kamu mau ketikan disini tidak akan dibaca oleh program sepanjang apapun kamu mengetiknya */ }
KURUNG KURAWAL {} Digunakan untuk menentukan awal dan akhir dari program. Karena seperti bahasa pemrograman pada umumnya, Arduino membaca mulai dari atas hingga kebawah. void loop() { ....program ....program ....program }
TITIK KOMA ;
Pemrograman DASAR ARDUINO
Setiap baris kode pada Arduino harus diakhiri dengan tanda ; void setup(){ pinMode(13, OUTPUT); }
void loop(){ digitalWrite(13, HIGH); }
VARIABLES Variabel adalah kode program yang digunakan untuk menyimpan suatu nilai pada sebuah nama. Yang biasa digunakan diantaranya adalah Integer, Long, Boolean, Float, Character. int (integer) Variabel yang paling sering digunakan dan dapat menyimpan data sebesar 2 bytes (16 bits). long (long) Biasa digunakan jika nilai datanya lebih besar dari integer. Menggunakan 4 bytes (32 bits). boolean (boolean) Variabel yang hanya menyimpan nila TRUE dan FALSE saja. Hanya menggunakan 1 bit saja ;)
Pemrograman DASAR ARDUINO float(float) Digunakan untuk floating point pada nilai decimal. Memory yang digunakan 4 bytes (32 bits). char(character) Menyimpan character berdasarkan ASCII kode (contoh: 'A'=65). Menggunakan 1 byte (8 bits).
OPERATOR MATEMATIKA Digunakan untuk memanipulasi nilai dengan perhitungan matematika sederhana seperti: penjumlahan, pengurangan, sama dengan, dan sebagainya. = % + - * /
(sama dengan) (contoh x=10*2 (x sekarang jadi 20)) (persentase) (contoh 12%10 (hasilnya yaitu 2)) (penambahan) (pengurangan) (perkalian) (pembagian)
OPERATOR PERBANDINGAN Digunakan untuk melakukan perbandingan secara logika. == (sama dengan) contoh: 15 == 10 FALSE atau 15 == 15 TRUE != (tidak sama dengan) contoh: 15 != 10 TRUE atau 15 != 15 FALSE < (lebih kecil dari) contoh: 15 < 10 FALSE atau 12 < 14 TRUE > (lebih besar dari) contoh: 15 > 19 TRUE atau 15 > 10 FALSE
Pemrograman DASAR ARDUINO STRUKTUR PENGENDALI Program yang digunakan untuk menentukan sebuah kondisi, dan jika kondisinya sudah terpenuhi maka akan melaksanakan perintah yang sudah ditentukan. Dan saat tidak memenuhi kondisinya juga ada perintah yang dilaksanakan oleh Arduino. if (kondisi A) { Kode Perintah A } else if (kondisi B) { Kode Perintah B } else { Kode Perintah C }
Pertama Arduino akan lihat Kondisi A. Jika terpenuhi, maka akan melaksanakan Kode Perintah A. Tapi jika TIDAK, Arduino akan lihat Kondisi B. Jika terpenuhi, maka akan melaksanakan Kode Perintah B. Tapi jika TIDAK juga, maka Arduino akan melaksanakan Kode Perintah C.
for(int i = 0; i < #repeats; i++) { Kode Perintah } Kode diatas digunakan saat kita ingin mengulangi kode atau nilai dalam beberapa kali. Penjelasan detailnya nanti akan dibahas ketika mencoba membuat projek, biar lebih mudah dipahami, OK. ;)
Pemrograman DASAR ARDUINO KODE DIGITAL Digunakan untuk pemrograman yang menggunakan Pin Digital pada Arduino.
pinMode( pin, mode); Kode diatas digunakan untuk seting mode pin. Pin adalah nomer pin yang akan digunakan, kalo kamu pake Arduino Uno, pin Digitalnya dari 0-13. dan mode sendiri bisa berupa INPUT atau OUTPUT. Contoh:
pinMode(13, OUTPUT); // artinya pin 13 digunakan sebagai OUTPUT pinMode(7, INPUT); // artinya pin 7 digunakan sebagai INPUT Dan seperti yang sudah saya bilang untuk kode pinMode itu ada didalam void setup.
digitalRead(pin); Kode diatas digunakan pin INPUT, untuk membaca nilai sensor yang ada pada pin. Dan nilainya hanya terbatas pada 1 (TRUE), atau 0 (FALSE). Contoh: digitalRead(13);
// artinya kode akan membaca nilai sensor pada pin 13
Pemrograman DASAR ARDUINO Kode digitalRead kita masukan dalam void loop.
digitalWrite(pin, nilai); Kode diatas digunakan untuk pin OUTPUT yang sudah kita seting apakah akan diberikan HIGH (+5V), atau LOW (Ground) . Contoh:
digitalWrite(13, HIGH); // artinya pin 13 kita diberi tegangan +5V digitalWrite(13, LOW); // artinya pin 13 kita diberi tegangan 0 / Ground Dan untuk kode digitalWrite tentu saja kita masukan dalam void loop.
analogWrite(pin, nilai); Meskipun Arduino adalah perangkat digital, tapi kita masih bisa menggunakan fungsi Analognya pada pin Digital Arduino. Tapi hanya beberap pin saja, yang biasa kita sebut PWM (Pulse With Modulation). Pada Arduino Uno memiliki 6 pin PWM, yaitu: 3,5,6,9, 10, dan 11. Dengan begini nilai yang dihasilkan menjadi bervariasi dari 0-225, itu setara dengan 0-5V. Contoh:
analogWrite(3, 150);
// artinya pin 3 diberikan nilai sebesar 150
Pemrograman DASAR ARDUINO 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 kita gunakan sebagai INPUT saja. Dan juga tidak perlu menulis pinMode pada void setup.
analogRead(pin); Kode diatas digunakan untuk membaca nilai pada sensor Analog. Yaitu antara 0-1024.
Contoh: analogRead(A0);
// artinya kode akan membaca nilai sensor pada pin AO.
CATATAN: Kode dalam Arduino adalah Case Sensitive. Maksudnya penggunaan huruf kecil atau huruf besar sangat berpengaruh. Dan untuk yang satu ini Arduino akan memberitahu, saat proses compile jika ada kode program yang salah tulis.
FROM BLANK TO BLINK A. Projek pertama yang akan kita buat adalah menyalakan LED dan membuat LED berkedip (blink). Yang kamu perlu persiapkan adalah: 1x Arduino, 1x Breadboard, 1x LED, 1x Resistor 220 ohm, 2x Kabel Jumper. Lalu buatlah rangkaian seperti gambar 1.0
NOTES: Pin G ND A rduino ke B readboard. Pin neg atif LE D ke G ND melalui res is tor 220ohm. pin pos itif LE D ke pin 13 A rduino.
( Gambar 1.0 )
FROM BLANK TO BLINK B. Pembuatan sketch untuk BLINK sangatlah mudah, setelah masuk ke Program ARDUINO kemudian klik FILE => EXAMPLE => BASIC => BLINK Atau salin ulang sketch dibawah ini; void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); mili detik) }
// membuat pin 13 menjadi OUTPUT.
// menyalakan LED yang terhubung pada pin 13 // menunggu waktu selama 1 detik (1000 mili detik) // mematikan LED yang terhubung pada pin 13 // menunggu waktu selama 1 detik (1000
NOTES: perintah yang ada didalam void s etup() akan dibaca sekali. Semua perintah yang ada didalam void loop() akan dibaca berulang kali. pinMode digunakan mengatur apakah pin 13 akan menjadi INPUT atau OUTPUT. digitalWrite untuk mengatur apakah pin 13 akan dibuat HIGH (hidup) atau LOW (mati). delay untuk memberikan jeda (1000 = 1 detik). Semua
FROM BLANK TO BLINK C. BLINK 3 LED Untuk memprogram 3 LED sekaligus, kita bisa menggunakan variabel int. Sebelumnya kamu bisa membuat rangkaian seperti gambar 1.1
Dan untuk sketch program silahkan salin ulang dibawah ini; int LED1 = 9; //pembuatan variabel LED1 untuk pin 9 int LED2 = 8; //pembuatan variabel LED2 untuk pin 8 int LED3 = 7; //pembuatan variabel LED3 untuk pin 7 void setup() { pinMode(LED1, OUTPUT); OUTPUT. pinMode(LED2, OUTPUT); OUTPUT. pinMode(LED3, OUTPUT); OUTPUT. }
// membuat LED1 menjadi // membuat LED2 menjadi // membuat LED3 menjadi ( Gambar 1.1 )
FROM BLANK TO BLINK void loop() { digitalWrite(LED1, HIGH); digitalWrite(LED2, HIGH); digitalWrite(LED3, HIGH); delay(1000); digitalWrite(LED1, LOW); digitalWrite(LED2, LOW); digitalWrite(LED3, LOW); delay(1000); }
// menyalakan LED1 yang terhubung pada pin 9 // menyalakan LED2 yang terhubung pada pin 8 // menyalakan LED3 yang terhubung pada pin 7 // menunggu waktu selama 1 detik (1000 mili detik) // mematikan LED1 yang terhubung pada pin 9 // mematikan LED2 yang terhubung pada pin 8 // mematikan LED3 yang terhubung pada pin 7 // menunggu waktu selama 1 detik (1000 mili detik)
NOTES: Variabel
int digunakan untuk membuat setiap pin 13 menjadi variabel LED 1 .Ini
berguna jika mau merubah semua pin 13 menjadi misal 9, kita cukup ini int LED1 = 13; menjadi int LED1 = 9; Jika
merubah program
dalam pembuatan program kamu mengetik ulang dari modul ini ke komputer kamu, bagian sketch yang berwarna //abu abu , tidak perlu ikut diketik karena tidak akan dibaca A rduino.
FROM BLANK TO BLINK D. MARI LEBIH KREATIF!!! Untuk latihan kamu coba buat rangkaian 5 LED seperti gambar 1.2 Kemudian buatlah program sketch seperti; 1.Membuat kelima LED berkedip bersamaan. 2.Membuat kelima LED menyala satu persatu, dari LED pertama sampai LED kedua. 3.Membuat 2 LED menyala dan 3 LED lagi mati bergantian.
Kamu juga bisa bermain pada delay, membuat LED berkedip 1 detik (1000 mili detik), kemudian tiba-tiba berkedipnya menjadi cepat menjadi 0,1 detik (100 mili detik). Atau kamu bisa membuat yang lebih kreatif lagi ;)
( Gambar 1.2 )
PUSH BUTTON A. “Jika button ditekan LED menyala, jika tidak LED mati,” Yang harus kamu siapkan; 1x Arduino 1x Breadboard 1x Push button 1x LED 1x Resitor 10k 1x Resistor 220ohm 7x Kabel jumper
( Gambar 1.3 )
Buatlah rangkain seperti gambar 1.3 NOTES: Hubungkan 5V dan G ND dari A rduino ke Breadboard . Hubungkan kaki pertama button ke 5V dan kaki k e-2 ke kaki pertama res itor 10k . Hubungkan kaki ke-2 res is tor 10k ke GND. Hubungkan pin 2 A rduino ke kaki ke-2 button. Untuk LED rangkaiannya tidak jauh berbeda dengan pembahasan sebelumnya.
PUSH BUTTON B. Untuk sketch-nya kamu bisa ambil sampel pada FILE=>EXAMPLES=>DIGITAL=>BUTTON Atau salin ulang program dibawah ini; int buttonPin = 2; // membuat variabel buttonPin untuk pin 2 int ledPin = 13; // membuat variabel ledPin untuk pin 13 int buttonState = 0; // variabel untuk posisi awal button agar dibaca LOW void setup() { pinMode(ledPin, OUTPUT); // membuat ledPin menjadi OUTPUT pinMode(buttonPin, INPUT); // membuat buttonPin menjadi INPUT } void loop() { buttonState = digitalRead(buttonPin); if (buttonState == HIGH) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } }
// membuat variabel buttonState untuk mengambil nilai dari buttonPin // Jika nilai buttonPin = HIGH // maka ledPin akan menyala
// Jika tidak // maka ledPin akan mati
PUSH BUTTON NOTES: Variabel
int buttonState=0; digunakan untuk menentukan nilai awal yang terbaca adalah 0 atau LOW. Variabel baru buttonState = digitalRead(buttonPin); digunakan untuk menyimpan nilai baca dari buttonPin kedalam variabel buttonState. digitalRead sendiri berfungsi untuk membaca nilai sensor secara digital (LOW=GND, HIGH=5V). if (buttonState == HIGH) digunakan untuk menampilkan jika nilai dari buttonState adalah HIGH, maka lampu LED akan menyala digitalWrite(ledPin, HIGH); else jika tidak maka lampu LED akan mati digitalWrite(ledPin, LOW);
C. MARI LEBIH KREATIF!!! Dengan rangkaian yang sama, kamu bisa membuat sketch program seperti; 1.Jika button ditekan lampu LED mati, jika tidak menyala. 2.Jika button ditekan lampu LED berkedip, jika tidak hanya menyala. 3.Jika button ditekan lampu LED berkedip cepat, jika tidak berkedip lambat.
ANALOG INPUT POTENSIOMETER A. Mengatur kecepatan Blink dengan Potensiometer (analog input ). Yang harus kamu siapkan; 1x Arduino 1x Breadboard 1x Potensiometer 1x Led 7x Kabel Jumper
( Gambar 1.4 )
( Gambar 1.3 A)
Buatlah rangkaian seperti gambar 1.4
NOTES: 5V dan G ND dari A rduino ke Breadboard Hubungkan kaki kanan P otens iometer ke VC C Hubungkan kaki k iri Potensiometer ke G ND Hubungkan kaki teng ah Potensi ometer ke pin A3 A rduino Hubungkan
Untuk
LED rangkaiannya tidak jauh berbeda dengan pembahasan sebelumnya.
ANALOG INPUT POTENSIOMETER B. Untuk mencoba pemrograman Potensiometer, kamu bisa
gunakan sampel pada File=>Examples=>Analog=>AnalogInput. Atau sallin ulang sketch ini; int sensorPin = A0; // membuat variabel sensorPin untuk pin AO int ledPin = 13; // membuat variabel ledPin untuk pin 13 int sensorValue = 0; // membuat variabel sensorValue untuk menentukan nilai awal sensor void setup() { pinMode(ledPin, OUTPUT); // membuat variabel ledPin menjadi OUTPUT } void loop() { sensorValue = analogRead(sensorPin); membaca nilai
digitalWrite(ledPin, HIGH); delay(sensorValue); sensorValue digitalWrite(ledPin, LOW); delay(sensorValue); sensorValue }
// membuat variabel sensorValue untuk dari sensorPin
// menyalakan ledPin // memberi waktu jeda sebanyak // mematikan ledPin // memberi waktu jeda sebanyak
NOTES: int sensorPin
= A0; digunakan untuk membuat pin A0 menjadi variabel sensorPin dan karena pin AO adalah input analog , maka pada void setup tidak perlu dibuat program pinMode(sensorPin, INPUT); karena kalau pin analog sudah pasti INPUT, tidak bisa digunakan untuk OUTPUT. mengingat kembali fungsi dari sensorValue = analogRead(sensorPin); adalah untuk menyimpan nilai baca dari sensorPin kedalam variabel sensorValue. delay(sensorValue); digunakan untuk memberikan waktu jeda berdasarkan nilai yang keluar dari sensorPin, jadi kecepatan lampu berkedip berdasarkan potensiometer.
C. Membaca Nilai dari Potensiometer dan Mengatur Terang Redup Cahaya LED (AnalogInOut) Seperti yang kita tahu bahwa potensiometer adalah jenis resistor yang hambatannya dapat berubah.
Masih dengan rangkaian yang sama (pin 13 dipindakan ke pin 9) kita akan membuat sketch program, untuk membaca nilai dari potensiometer. Yang mana kisaran nilai dari potensiometer adalah 0-225.
0 ketika tidak ada hambatan, dan 225 saat hambatan maksimal. Untuk program kamu bisa buka FILE=>EXAMPLES=>ANALOG=>ANALOGINOUT Atau salin ulang sketch berikut ini:
ANALOG INPUT POTENSIOMETER const int analogInPin = A0; const int analogOutPin = 9; int sensorValue = 0; int outputValue = 0;
// membuat variabel analogInPin untuk pin A0 // membuat variabel analogOutPin untuk pin 9
// variabel posisi awal pin AO // variabel posisi awal nilai output
void setup() { Serial.begin(9600); // menambahkan kode Serial untuk komunikasi Arduino ke Komputer } void loop() { sensorValue = analogRead(analogInPin); // variabel membaca nilai analogInPin outputValue = map(sensorValue, 0, 1023, 0, 255); //konversi 0-1023 ke 0-225 analogWrite(analogOutPin, outputValue); // menyalakan LED, dengan tingkat terang dari // outputValue Serial.print("sensor = " ); Serial.print(sensorValue); Serial.print("\t output = "); Serial.println(outputValue);
// menampilkan text sensor= // menampilkan sensor value // menampilkan text output= // menampilkan nilai outputValue
delay(2); // memberikan waktu jeda selama 2 milidetik }
ANALOG INPUT POTENSIOMETER NOTES: untuk melihat nilai yang dihasilkan dari Potensiometer kamu bisa pilih TOOLS=>SERIAL MONITOR atau CTRL+SHIFT+M , atau klik tombol yang ada di pojok kanan
Gambar 1.5
const
int analogInPin = A0; program seperti sama seperti sebelumnya digunakan untuk membuat variabel, tambahan kode const sebelum int adalah untuk penetapan nilai. Serial.begin(9600); berfungsi agar arduino bisa berkomunikasi dengan komputer, 9600 adalah salah satu nilai yang dipilih untuk komunikasi. outputValue = map(sensorValue, 0, 1023, 0, 255); nilai yang dihasilkan dari sensorValue adalah 0-1023, nilainya akan dikonversi menjadi 0-225 pada variabel outputValue. analogWrite(analogOutPin, outputValue); menyalakan LED menggunakan PWM (agar bisa diatur terang cahanya berdasarkan outputValue. Serial.print("sensor = " ); berguna untuk menampilkan teks yang ada didalam tanda kutip “sensor=“ . Serial.print(sensorValue); untuk menampilkan nilai yang ada pada sensorValue. Serial.print("\t output = "); berguna untuk menampilkan teks yang ada didalam tanda kutip “ \t output=“ . Serial.println(outputValue); untuk menampilkan nilai yang ada pada outputValue
ANALOG INPUT POTENSIOMETER MARI LEBIH KREATIF!!! Dengan membuat rangkaian seperti pada Gambar 1.5 B, kamu bisa membuat sketch program seperti; 1.Jika nilai potensiometer < 100 lampu merah menyala, jika nilai potensiometer < 150 lampu kuning menyala, jika nilai potensiometer < 200 lampu hijau menyala. Untuk membuat program seperti diatas tentu kamu membutuhkan kode if. Sebagai contoh: if ( outputValue < 100) { digitalWrite(LEDmerah, HIGH); } OK! Selamat mengerjakan ;)
Gambar 1.5 B
SENSOR CAHAYA LDR A.Lampu LED menyala ketika keadaan gelap dan mati ketika keadaan terang (Automatic Lighting System ). Yang harus kamu siapkan: 1x Arduino 1x Breadboard 1x Sensor cahaya LDR 1x Resistor 10k 7x Kabel jumper
Gambar 1.6
Kemudian buat rangkaian seperti gambar 1.6 NOTES: Hubungkan 5V dan G ND dari A rduino ke Breadboard Hubungkan kaki kiri LDR ke 5V Hubungkan kaki kanan LD R ke pin A 2 A rduino Hubungkan kaki k iri resi stor ke celah antara kaki kanan LD R dan G ND arduino Hubungkan kaki k anan resi s tor ke G ND Untuk pemasangan LED sama dengan sebelumnya
SENSOR CAHAYA LDR B. Untuk pemrograman LDR, kamu bisa gunakan sketch program dibawah ini: int LDR= A2; int LED= 13; int nilaiLDR= 0;
// membuat variabel LDR untuk pin A2 // membuat variabel LED untuk pin 13 // variabel nilai awal untuk nilaiLDR
void setup(){ pinMode(LED, OUTPUT); // menentukan LED menjadi OUTPUT Serial.begin(9600); // komunikasi Arduino ke Komputer } void loop(){ nilaiLDR= analogRead(LDR); // menyimpan nilai yang dibaca dari LDR ke variabel nilaiLDR Serial.print("NilaiLDR= "); // menampilkan teks nilaiLDR= Serial.println(nilaiLDR); // menampilkan nilai dari nilaiLDR if (nilaiLDR < 500) { digitalWrite(LED, HIGH); } else { digitalWrite(LED, LOW); } }
// jika nilai dari LDR kurang dari 500 // lampu LED menyala // jika tidak // lampu LED mati
SENSOR CAHAYA LDR REVIEW NOTES: int nilaiLDR=
0; membuat variabel nilaiLDR, dan akan membaca nilai mulai dari 0. pinMode(LED, OUTPUT); memilih mode OUTPUT untuk pin yang disimpan di variabel LED. Serial.begin(9600); digunakan agar Arduino bisa berkomunikasi dengan Komputer. nilaiLDR= analogRead(LDR); menyimpan nilai yang dibaca oleh sensor LDR kedalam variabel nilaiLDR. Serial.print("NilaiLDR= "); digunakan untuk mencetak secara digital atau menampilkan teks nilaiLDR=, untuk ini kita tampilkan pada Serial Monitor. Serial.println(nilaiLDR); untuk menampilkan nilai yang dibaca oleh sensor LDR if (nilaiLDR < 500) jika sensor membaca nilai 500 atau kurang dari 500 digitalWrite(LED, HIGH); lampu LED menyala else jika tidak digitalWrite(LED, LOW); lampu LED mati
C. MARI LEBIH KRETIF LAGI!!! 1.Coba kamu buat program BLINK, dimana kecepatan BLINKnya diatur melalui nilai yang diterima oleh Sensor LDR. 2.Pindahkan kaki positif LED dari pin 13 Arduino ke Pin 9 (PWM). Kemudian dengan perintah analogWrite, buatlah lampu LED menyala terang dan redup berdasarkan nilai dari sensorLDR.
MELODY DALAM SPEAKER A. Membuat melody, DO, RE, MI, FA, SOL, LA, SI, DO”.
Yang perlu kamu siapkan adalah; 1x Arduino 1x Breadboard 1x Speaker 1x Resistor 220 ohm 2x Kabel Jumper Lalu buat rangkain seperti Gambar 1.7
NOTES: G ND arduino ke Breadboard . Hubungkan G ND breadboard ke kabel kiri S peaker . Hubungkan pin 9 A rduino ke kabel kanan S peaker . Speaker sebenarnya tidak memilik i polari tas . Jadi Hubungkan
mau dipasang seperti apapun antara positif dan negatif, Speaker masih tetap akan menyala.
Gambar 1.7
MELODY DALAM SPEAKER B. pemrograman Speaker kamu bisa ketik atau salin sketch dibawah ini: int speaker= 9;
// membuat variabel Speaker untuk pin 9 Arduino
void setup() { // void setup dikosongkan } void loop() { tone(speaker, 262); tone(speaker, 294); tone(speaker, 330); tone(speaker, 349); tone(speaker, 395); tone(speaker, 440); tone(speaker, 494); tone(speaker, 523); }
delay (500); delay (550); delay (590); delay (600); delay (610); delay (620); delay (630); delay (700);
// membuat nada DO dengan waktu 500 milidetik // membuat nada RE dengan waktu 550 milidetik // membuat nada MI dengan waktu 590 milidetik // membuat nada FA dengan waktu 600 milidetik // membuat nada SOL dengan waktu 610 milidetik // membuat nada LA dengan waktu 620 milidetik // membuat nada SI dengan waktu 630 milidetik // membuat nada DO” dengan waktu 700 milidetik
MELODY DALAM SPEAKER
NOTES: int speaker= 9; membuat variabel Speaker dimana variabel ini akan menyimpan nilai 9, yang berarti pin 9 arduino akan digunakan untuk Speaker. void setup sengaja dikosongkan, karena tidak perlu perintah pinMode(speaker, OUTPUT); , karena pada perintah tone yang ada di void loop, sudah satu paket bahwa Speaker ini adalah OUTPUT. tone(speaker, 262); digunakan untuk membuat nada DO, nilai 262 adalah frekuensi suara untuk nada DO. delay(500); menentukan bahwa nada DO ini akan berbunyi selama 500 milidetik. C. Dari program yang pertama, kamu belajar bahwa setiap nada yang di bunyikan oleh Speaker memiliki frekuensi seperti tabel dibawah ini: NADA
DO
RE
MI
FA
SOL
LA
SI
DO”
FREKUENSI
262
294
330
349
395
440
494
523
Untuk mempermudah pembuatan NADA kamu bisa membuat Fungsi Variabel, untuk setiap nada, seperti; void DO() { tone(speaker, 262); }
Lalu nantinya kamu tinggal masukan DO(); kedalam void loop ditambah delay.
MELODY DALAM SPEAKER Dibawah ini adalah program yang isinya nada lagu Kebunku, saya ambil dari note angka Yang ada di internet, dengan menambahkan delay yang saya sesuaikan dengan lagunya. int speaker= 9;
// membuat variabel Speaker untuk pin 9 digital
void setup(){ }
// void setup sengaja dikosongkan
void DO() { tone(speaker, 262); } // membuat fungsi variabel untuk nada DO void RE() { tone(speaker, 294); } // membuat fungsi variabel untuk nada RE void MI() { tone(speaker, 330); } // membuat fungsi variabel untuk nada MI void FA() { tone(speaker, 349); } // membuat fungsi variabel untuk nada FA void SOL() { tone(speaker, 395); } // membuat fungsi variabel untuk nada SOL void LA() { tone(speaker, 440); } // membuat fungsi variabel untuk nada LA void SI() { tone(speaker, 494); } // membuat fungsi variabel untuk nada SI void DOO() { tone(speaker, 523); } // membuat fungsi variabel untuk nada DOO void DIAM() { digitalWrite(speaker, LOW); } // membuat fungsi variabel untuk nada DIAM
void loop() { SOL(); delay(500); MI(); delay(1000); SOL(); delay(1000); DOO(); delay(1000); DIAM(); delay(500);
// lihat kebunku
MELODY DALAM SPEAKER SOL(); delay(500); DOO(); delay(500); SOL(); delay(500); // penuh dengan bunga FA() ; delay(500); MI(); delay(500); RE(); delay(1000); DIAM(); delay(500); FA(); delay(500); RE(); delay(1000); FA(); delay(1000); LA(); delay(1000); SOL(); delay(500); DO(); delay(500); MI(); delay(500); RE(); delay(500); DO(); delay(1000); DIAM(); delay(500);
// ada yang merah // dan ada yang putih
SOL(); delay(500); MI(); delay(1000); SOL(); delay(1000); // setiap hari DIAM(); delay(500); SOL(); delay(500); DOO(); delay(500); SOL(); delay(500); // kusiram semua FA(); delay(500); MI(); delay(500); RE(); delay(1000); DIAM(); delay(500); FA(); delay(500); RE(); delay(1000); LA(); delay(1000); SOL(); delay(500); MI(); delay(500); RE(); delay(500); DIAM(); delay(1000); }
FA(); delay(1000); // mawar melati DO(); delay(500); // semuanya indah DO(); delay(1000);
NOTES: Sebelumnya
maaf Nada lagu Kebunkunya agak fals, saya kurang begitu ahli dalam nada
:D int speaker= 9; digunakan untuk membuat variabel Speaker untuk pin digital 9 Arduino. void setup sengaja dikosongkan karena untuk program tone tidak memerlukan pinMode(speaker, OUTPUT); void DO() { tone(speaker, 262); } membuat fungsi variabel untuk mempersingkat saat pembuatan nada pada void loop, jadi cukup memasukan kode DO(); saja, dan ditambah delay. SOL(); delay(500); menambahkan nada DO dengan delay 500 milidetik.
D. MARI LEBIH KREATIF!!! 1.Buatlah sebuah nada lagu dengan mencari not angkanya di Google, atau lihat dari buku. Selanjutnya kamu bisa konversi sendiri, misal: not angka 1 jadi DO();, not angka 2 jadi RE(); dan seterusnya! 2.Tambahkan rangkaian 8 LED pada rangkain Speaker seperti Gambar 1.7, dengan 1 LED mewakili 1 Nada. Dan masukan program LED pada setiap fungsi variabel, sehingga setiap nada yang berbunyi akan di ikuti dengan setiap nyala lampu LED. Gambar 1.8
SENSOR SUHU LM35 A. Mengukur suhu dilingkungan sekitar. Yang perlu disiapkan: 1x Arduino 1x Breadboard 1x LM35 Sensor Suhu 2x LED hijau 2x LED kuning 2x LED merah 6x Resistor 220ohm 11x Kabel Jumper
Gambar 1.8
Lalu pasang seperti Gambar 1.9
NOTES: Pasang
dari GND dan 5V Arduino ke Breadboard. Pasang kaki kiri LM35 ke 5V, kaki kanan LM35 ke GND, kaki tengah LM35 ke pin A0 Arduino . Pasang kaki Positif LED hijau ke pin 2 dan pin 3, LED kuning ke pin 4 dan pin 5, LED merah ke pin 6 dan pin 7 Arduino. Setiap kaki negatif LED dipasang ke GND menggunakan Resistor 220ohm.
SENSOR SUHU LM35 B. Untuk pemrograman Sensor Suhu LM35, kamu bisa gunakan sketch dibawah ini; int LM35 = A0; int nilaiLM35= 0;
// membuat variabel LM35 untuk pin A0 Arduino // membuat variabel nilaiLM35 untuk menyimpan nilai sensor
void setup(){ Serial.begin(9600); // komunikasi serial dari Arduino ke Komputer } void loop(){ nilaiLM35 = analogRead(LM35); // menyimpan nilai dari LM35 ke variabel nilaiLM35 nilaiLM35 = nilaiLM35 * 0.488; // konversi nilai dari LM35 menjadi Derajat Celcius Serial.println(nilaiLM35); delay(500); }
// menampilkan nilai dari LM35 ke Serial Monitor // memberi jeda sebanyak 500 milidetik
NOTES: Serial.begin(9600); kode yang digunakan agar Arduino bisa berkomunikasi dengan komputer. nilaiLM35 = analogRead(LM35); menyimpan nilai yang dihasilkan oleh sensor LM35 ke variabel nilaiLM35. nilaiLM35 = nilaiLM35 * 0.488; konversi nilaiLM35 ke celsius dengan dikalikan 0.4888. Serial.println(nilaiLM35); menampilkan hasil dari nilai LM35.
SENSOR SUHU LM35 C.
Membuat Indikator Suhu dengan menggunakan LED.
Yang pertama harus kamu lakukan adalah melihat nilai pada sensor suhu LM35, dengan melihat di Serial Monitor. Kamu juga bisa membuka Serial Monitor dengan menekan CTRL+SHIFT+M pada keyboard. Maka akan muncul tampilan seperti Gambar
Gambar 1.9
NOTES: Angka 27 adalah nilai Suhu. Kamu bisa menyentuh Sensor LM35-nya dan nilai akan bertambah, karena sensor menerima panas dari suhu tubuh kamu.
SENSOR SUHU LM35 Untuk Sketch programnya kamu tinggal tambahkan kode untuk LEDnya, dan kode if seperti dibawah ini: If ( nilaiLM35 == 28){ kode perintah... } Untuk Sketch versi lengkapnya, kamu bisa salin ulang dibawah ini: int LM35 = A0; int nilaiLM35= 0; int LED1= 2; int LED2= 3; int LED3= 4;
// membuat variabel LM35 untuk pin A0 Arduino // membuat variabel nilaiLM35 untuk menyimpan nilai sensor // membuat variabel LED1 untuk Pin 2 digital // membuat variabel LED2 untuk Pin 3 digital // membuat variabel LED3 untuk Pin 4 digital
void setup(){ Serial.begin(9600); pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); }
// komunikasi serial dari Arduino ke Komputer // mengatur LED1 menjadi OUTPUT // mengatur LED2 menjadi OUTPUT // mengatur LED3 menjadi OUTPUT
SENSOR SUHU LM35 void loop(){ nilaiLM35 = analogRead(LM35); nilaiLM35 = nilaiLM35 * 0.488; Serial.println(nilaiLM35); delay(500); if (nilaiLM35 == 28) { digitalWrite(LED1, HIGH); digitalWrite(LED2, LOW); digitalWrite(LED3, LOW); } else if (nilaiLM35 == 29) { digitalWrite(LED1, HIGH); digitalWrite(LED2, HIGH); digitalWrite(LED3, LOW); }
// menyimpan nilai dari LM35 ke variabel nilaiLM35 // konversi nilai dari LM35 menjadi Derajat Celcius
// menampilkan nilai dari LM35 ke Serial Monitor // memberi jeda sebanyak 500 milidetik // jika nilaiLM35 sama dengan 28 // LED1 menyala // LED2 mati // LED3 mati // jika nilaiLM35 sama dengan 29 // LED1 menyala // LED2 menyala // LED3 menyala
SENSOR SUHU LM35 else if (nilaiLM35 == 30) { digitalWrite(LED1, HIGH); digitalWrite(LED2, HIGH); digitalWrite(LED3, HIGH); }
// jika nilaiLM35 sama dengan 30
else { digitalWrite(LED1, LOW); digitalWrite(LED2, LOW); digitalWrite(LED3, LOW); }
// jika tidak
// LED1 menyala // LED2 menyala // LED3 menyala
// LED1 mati // LED2 mati // LED3 mati
} NOTES: if (nilaiLM35 == 28) kode ini digunakan untuk perintah logika, “ jika nilaiLM35 sama dengan 28.” arduino akan menjalankan kode perintah yang ada pada program if ini. else if (nilaiLM35 == 29) tapi jika nilainya ternyata sama dengan 29, maka arduino akan menjalankan kode perintah pada else if . Else tapi jika tidak ada yang sama dengan nilai pada nilai if dan else if , maka arduino akan menjalakan kode perintah pada else.
SENSOR SUHU LM35 D.MARI LEBIH KREATIF!!! 1.Masih ada 3 LED yang belum digunakan pada rangkaian. 2.Kamu bisa buat program, “Jika nilai LM35 == 28, maka setiap LED berwarna hijau menyala. Jika nilai LM35 == 29, maka setiap LED warna kuning menyala. Dan jika nilai LM35 == 30, maka setiap LED warna merah menyala.
SAMPAI DISINI BAGAIMANA? Sudah cukup puaskah kamu Dengan panduan dari Ebook ini? Saya secara pribadi, tidak berharap Kamu puas ya. Kenapa? Karena dengan tidak puasnya kamu, Kamu jadi tidak berhenti disini Untuk belajar. Kamu terus belajar, dan semakin Berkembang lagi hingga bisa Jadi Master Arduino ;) Aamin...
BEHIND THE SCENE.... ;) Sedikit informasi, ebook ini adalah adaptasi dari Kelas Arduino: Newbie! Yang ada di www.kelasrobot.com . KelasRobot.com adalah Portal belajar bagi yang mau membuat Robot, yang dimulai dari dasar, pemrograman, elektronika, hingga pada pembuatan mekanika dalam robot. Dibalik KelasRobot.com ada sebuah grup bernama AViSha95, nama AViSha diambil dari nama pendirinya yaitu; Ajang, Virman, dan Shaleh. Angka 95 diambil dari tahun lahir para pendiri yaitu 1995. Dan juga hari ultah AViSha95 yang ada pada tanggal 9 bulan 5 (mei).