Uploaded by User5077

AsmArduino#01 Blink

advertisement
PRAKTIKUM 1
MEMULAI ARDUINO
1.1 Tujuan Istruksional Umum
1. Mahasiswa memahami cara kerja mikrokontroller arduino
2. Mahasiswa memahami pemrograman pada arduino menggunakan bahasa C
1.2 Tujuan Instruksional Khusus
1. Mahasiswa mampu mempersiapkan peralatan untuk menjalankan Ardunio
2. Mahasiswa mampu membuat program blink pada led internal arduni
3. Mahasiswa mampu mengembangkan struktur program C standart, perulangan dan fungsi
pada arduni.
4. Mahasiswa memahami dan mampu memprogram komunikasi arduino dengan komputer
1.3 DASAR TEORI
Sebagai sebuah mikrokontoller, arduino didukung sebuah komunitas di seluruh dunia yang
terdiri dari pelajar, penggemar, seniman, programer, dan profesional yang memberikan berbagai
kontribusi yang luar biasa sehingga arduino dapat digunakan untuk para pemula maupun tenaga ahli
dengan sangat mudah. Tidak lagi sesulit kita memprogram mikrokontroller dengan bahasa Asembly
murni.
Ada berbagai macam Mikrokontroller Arduino seperti gambar dibawah ini.
Gb. 1. Berbagai macam tipe mikrokontroller arduino yang ada di pasaran
Arduino adalah platform open-source untuk projek elektronik yang terdiri dari
1.3.1
•
perangkat keras/ Modul/ (papan Arduino) dan
•
perangkat lunak (ArduinoIDE).
PAPAN ARDUINO
Papan Arduino merupakan papan mikrokontroler yang berukuran kecil yang didalamnya
terdapat komputer berbentuk suatu chip yang kecil seperti Pada Gambar 1 (Contoh Arduino Uno).
Gb. 2. Hardware Arduino Uno berserta penjelasannya
Pada hardware arduino terdiri dari 20 pin yang meliputi:
a. 14 pin IO Digital (pin 0–13)
Sejumlah pin digital dengan nomor 0–13 yang dapat dijadikan input atau output yang
diatur dengan cara membuat program IDE.
b. 6 pin Input Analog (pin 0–5)
Sejumlah pin analog bernomor 0–5 yang dapat digunakan untuk membaca nilai input
yang memiliki nilai analog dan mengubahnya ke dalam angka antara 0 dan 1023.
c. 6 pin Output Analog (pin 3, 5, 6, 9, 10 dan 11)
Sejumlah pin yang sebenarnya merupakan pin digital tetapi sejumlah pin tersebut
dapat diprogram kembali menjadi pin output analog dengan cara membuat
programnya pada IDE
Praktikum Asembly [Arduino] – Politeknik Negeri Banjarmasin– oleh : Agus SBN | 1
Papan Arduino Uno dapat mengambil daya dari USB port pada komputer dengan
menggunakan kabel USB atau dapat pula mengambil daya dengan menggunakan AC adapter 9 volt.
Jika tidak terdapat power supply yang melalui AC adapter, maka papan Arduino akan mengambil daya
dari USB port. Tetapi apabila diberikan daya melalui AC adapter secara bersamaan dengan USB port
maka papan Arduino akan mengambil daya melalui AC adapter secara otomatis.
1.3.2
Software Arduino IDE
Software arduino yang digunakan adalah driver dan IDE, walaupun masih ada beberapa
software lain yang sangat berguna selama pengembangan arduino. IDE atau Integrated Development
Environment adalah suatu program khusus pada komputer agar dapat membuat program dan di
kompile serta di upload untuk papan Arduino. IDE arduino merupakan software yang sangat canggih
ditulis dengan menggunakan java.
IDE arduino terdiri dari:
1. Editor Program
Sebuah window yang memungkinkan pengguna menulis dan mengedit program
dalam bahasa C.
2. Compiler
Sebuah modul yang mengubah kode program menjadi kode biner (bahasa mesin)
yang akan diupload ke arduino.
3. Uploader
Sebuah modul yang memuat kode biner dari komputer ke dalam memory di dalam
papan arduino
Gb. 3. Icon (kiri) dan Tampilan IDE (kanan) dari arduino app.
Praktikum Asembly [Arduino] – Politeknik Negeri Banjarmasin– oleh : Agus SBN | 2
1.3.3
KONSEP BAHASA C PADA ARDUINO
Dalam bahasa pemrograman arduino ada tiga bagian utama yaitu struktur, variabel dan
fungsi.
1.3.3.1
Kerangka Program
Kerangka program arduino sangat sederhana, yaitu terdiri atas dua blok. Blok pertama adalah
void setup() dan blok kedua adalah void loop.
Blok Void setup () : Berisi kode program yang hanya dijalankan sekali sesaat setelah arduino
dihidupkan atau di-reset.Merupakan bagian persiapan atau instalasi
program.
Blok void loop() :
Berisi kode program yang akan dijalankan terus menerus. Merupakan
tempat untuk program utama.
1.3.3.2
Sintaks Program
Baik blok void setup loop () maupun blok function harus diberi tanda kurung kurawal buka “{“
sebagai tanda awal program di blok itu dan kurung kurawal tutup “}” sebagai tanda akhir program.
1.3.3.3
Variabel
Tempat penampungan data pada program. Akan di bahas di bab berikutnya.
1.3.3.4
Fungsi
Pada bagian ini meliputi fungsi input output digital, input output analog, advanced I/O, fungsi
waktu, fungsi matematika serta fungsi komunikasi. Fungsi dan prosedur pada konsep pemrogaman
Bahasa C dapat juga dipergunakan disini.
1.4 LANGKAH PERCOBAAN
1.4.1
Install Software Arduino IDE
Download software IDE (Integrated Development Environment) ARDUINO jika belum, dan
lakukan instalasi. Softwarenya dapat di download di sini. https://www.arduino.cc/en/main/software
1.4.2
Install Arduino Uno
Pasang Kabel USB standart (printer) ke modul Arduni Uno, tapi jangan di pasang ke PC.
Praktikum Asembly [Arduino] – Politeknik Negeri Banjarmasin– oleh : Agus SBN | 3
1.4.3
Deteksi Pengecekan Serial di Komputer
Perintah ini hanya cukup sekali, untuk memastikan bahwa driver arduino terpasang dan
terdeteksi di komputer.
•
Buka device manager
•
Pasang Kabel USB ke Komputer (mestinya ada suara usb terdeteksi dan tampilan di
device manager melakukan refresh)
•
Di bagian Ports (COM & LPT) Akan muncul Arduino Uno (COM10). Angka Com bisa
berubah sesuai PC masingmasing.
•
Click di bagian tersebut.
•
Jika sudah muncul, maka arduino sudah terkoneksi dan siap di Program
Gb. 4. Device manager mendeteksi kehadiran Com Serial.
Praktikum Asembly [Arduino] – Politeknik Negeri Banjarmasin– oleh : Agus SBN | 4
1.4.4
Persiapan Software IDE Arduino
Jalankan program IDE Arduino, cek 2 (DUA) Hal berikut ini agar jalan.
•
Click Tools
•
Pastikan BOARD sudah terpilih ArduniGenuino Uno
•
Pastikan PORT sesuai dengan COM di langkah sebelumnya.
Gb. 5. Setting Awal IDE untuk board dan PORT
1.4.5
CODING pada IDE Arduino
Sebagai langkah pertama, anda tidak usah khawatir untuk menuliskan Coding. Cukup
menggunakan file contoh atau Example yang sudah disiapkan oleh arduino.
Gb. 6. Memilih File example → 01.Basic → Blink
Praktikum Asembly [Arduino] – Politeknik Negeri Banjarmasin– oleh : Agus SBN | 5
1.4.6
UPLOAD Coding ke Arduino
Tekan tombol Ctrl+U atau click Icon seperti gambar di bawah. Jika sudah ada pesan
Done uploading, maka harusnya LED akan berkedip. Menyala selamat 1 detik, padam 1 detik dan terus
berulang-ulang.
Gb. 7. Tombol upload dan status File Sudah di Upload
Gb. 8. Led arduino berkedip
Praktikum Asembly [Arduino] – Politeknik Negeri Banjarmasin– oleh : Agus SBN | 6
1.4.7
Catat pada Lember kerja Praktikum
a. Apakah anda melihat led berkedip setelah melakukan langkah 1.4.6 ?
b. Buatlah flowchart Blink Led soal no a.
c. Apa arti perintah:
a.
b.
c.
d.
e.
f.
g.
h.
1.4.8
void setup();
void loop();
pinMode();
digitalWrite();
delay();
LED_BUILTIN
OUTPUT
HIGH
Beberapa modifikasi tampilan BLINK LED dan model program.
a. Ketikkanlah Coding sederhana berikut ini..
1. void setup() {
2.
pinMode(13, OUTPUT);
3. }
4. void loop() {
5.
digitalWrite(13, HIGH);
6.
delay(700);
7.
digitalWrite(13, LOW);
8.
delay(700);
9. }
b. Baris 6, GANTI nilai delay menjadi 200ms.
UPLOAD, catat bagaimana karakteristik nyala LED ?
c. Kembalikan baris 6 delay menjadi 700ms,
Ganti baris 8 menjadi 200ms. UPLOAD, catat bagaimana karakteristik nyala LED ?
1.4.9
Perulangan
MANUAL
a. Berikutnya akan dibahas cara membuat blink led cepat sebanyak 5 kali, kemudain tunggu
sebentar, dan blink kembali. Ikuti langkah berikutnya.
Praktikum Asembly [Arduino] – Politeknik Negeri Banjarmasin– oleh : Agus SBN | 7
b. Ketikkanlah coding berikut:
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13,
digitalWrite(13,
digitalWrite(13,
digitalWrite(13,
digitalWrite(13,
digitalWrite(13,
digitalWrite(13,
digitalWrite(13,
digitalWrite(13,
digitalWrite(13,
delay(1000);
}
HIGH);delay(200);
LOW);delay(200);
HIGH);delay(200);
LOW);delay(200);
HIGH);delay(200);
LOW);delay(200);
HIGH);delay(200);
LOW);delay(200);
HIGH);delay(200);
LOW);delay(200);
Upload dan catat apa yang tampil pada LED.
FOR
c. Mirip dengan kasus di atas, namun perulangan menggunakan for. Ketikkan coding berikut:
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
int i;
for( i=0; i<7; i++) {
digitalWrite(13, HIGH);delay(200);
digitalWrite(13, LOW);delay(200);
}
delay(1000);
}
Upload dan catat apa yang tampil pada LED.
FUNGSI
d. Menggunakan Prosedur dengan jumlah blink bisa di atur
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
int i;
blinkled(9);
delay(1000);
}
void blinkled(int maksimal) {
int i;
for( i=0; i<maksimal; i++) {
digitalWrite(13, HIGH);delay(200);
digitalWrite(13, LOW);delay(200);
}
}
Upload dan catat apa yang tampil pada LED.
Praktikum Asembly [Arduino] – Politeknik Negeri Banjarmasin– oleh : Agus SBN | 8
1.4.10 Komunikasi Serial Menggunakan Serial Monitor
Tanpa disadari, saat kita menghubungkan PC / Laptop dengan arduino sesungguhnya di USB
PC/ laptop sudah terbentuk sebuah PORT COM Serial. PORT COM Serial ini adalah sebuah interface
untuk berkomunikasi dengan Standart komunikasi RS232. Dengan demikian, PC sudah siap dengan
standart Komunikasi RS232.
Pada arduino sendiri, USB selain sebagai Power, juga sebagai PORT Serial dengan standart RS
232 juga. Dan standart ini juga tersambung ke PIN 1 dan 2 jika diperlukan.
Setelah selesai UPLOAD, maka program akan tersimpan di memory Arduino. USB (Port serial)
arduino dan USB (Port serial) PC dalam kondisi tersambung dan tidak terpakai. Kita dapat mengambil
atau mengirim data melalui serial Monitor pada Arduino IDE dengan menekan CTRL + Shift + M atau
Tools → Serial Monitor.
a. Menampilkan Nama dan Nim anda di serial Monitor.
Ketikkan coding berikut, isikan nama dan nim anda di program.
Praktikum Asembly [Arduino] – Politeknik Negeri Banjarmasin– oleh : Agus SBN | 9
Upload, buka Serial monitor, catat apa yang terjadi di arduino dan serial monitor?
b. Ketikkan listing berikut ini, isikan nama dan nim anda di program
Upload, buka Serial monitor, catat apa yang terjadi di arduino dan serial monitor?
c. Jawablah:
a. Apa Perbedaan Serial.print(); dan Serial.println();
b. Apa perbedaan coding a dan b di atas?
1.5 LATIHAN
Buatlah Coding untuk menampilkan kode SOS di Lampu LED, dan animasi tulisan LED di serial
Monitor.
Ini adalah timechart untuk kode SOS
Silahkan untuk memilih menggunakan coding native, for, prosedur atau gabungan yang
menurut anda paling ideal.
Praktikum Asembly [Arduino] – Politeknik Negeri Banjarmasin– oleh : Agus SBN | 10
1.6 TUGAS
Dengan menggunakan Simulator Proteus, buatlah dua buah lampu LED di port X dan Y.
Port X adalah 1 digit terakhir nim anda, Y adalah X+1.
Buatlah program Blink sederhana untuk menyalakan dan memadamkan bersamaan led di port
X dan Y.
a. Capture codingnya
b. Capture Skema hasil saat led menyala dan padam. Jangan Lupa tambahkan Nama dan
NIM di desain Anda.
LED ON
LED OFF
Praktikum Asembly [Arduino] – Politeknik Negeri Banjarmasin– oleh : Agus SBN | 11
Download