Mikrokontroler Dan PLC - Pemrograman Arduino Menggunakan Proteus - 021800017 [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

LAPORAN PRAKTIKUM MIKROKONTROLER DAN PLC PEMROGRAMAN ARDUINO MENGGUNAKAN SOFTWARE PROTEUS



NAMA : MUHAMMAD ABDUL AZIZ NIM : 021800017



PRODI ELEKTRONIKA INSTRUMENTASI JURUSAN TEKNOFISIKA NUKLIR STTN-BATAN YOGYAKARTA 2019/2020



A. TUJUAN Percobaan 1 Simulasi Mengontrol LED 



Mahasiswa mengenali penggunaan software proteus untuk simulasi rangkaian







Arduino.







Mahasiswa dapat membuat rangkaian Arduino untuk aplikasi kendali nyala LED.







Mahasiswa dapat melakukan pemrograman Arduino dengan menggunakan Bahasa C.



Percobaan 2 Dasar Pemrograman Arduino untuk Menangani Pengulangan 



Mahasiswa lebih terbiasa dalam pemrograman Arduino dengan Bahasa C.







Mahasiswa dapat menggunakan while, while…do, dan for untuk menangani







pengulangan.



Percobaan 3 Input Digital 



Mahasiswa memahami pin-pin Arduino yang dapat difungsikan sebagai jalur







masukan (input) digital.







Mahasiswa dapat membuat rangkaian perangkat keras dengan 1 input saklar dan 1







output LED.







Mahasiswa dapat membuat program Arduino untuk menghidupkan/mematikan LED







dengan menggunakan input digital saklar



Percobaan 4 Input Analog 



Mahasiswa lebih terbiasa dalam pemrograman Arduino dengan Bahasa C.







Mahasiswa dapat menggunakan Arduino untuk akuisisi input analog.







Mahasiswa dapat membuat rangkaian akusisi input analog baterai dan membuat







programnya.







Mahasiswa dapat membuat program Arduino untuk menghidupkan 3 LED secara







bergantian dimana setiap LED berkedip 3x sebelum berpindah ke LED yang lain



B. DASAR TEORI 1. Arduino



Arduino adalah terobosan baru dalam dunia microcontroller. Saat ini sudah banyak project Electronics & Robotics yang berbasis Arduino. Hal ini terjadi karena Arduino memiliki banyak sekali kemudahan dan mempunyai fleksibilitas yang tinggi baik dari segi software maupun hardwarenya. Arduino adalah Mikrokontroller single-board yang bersifat opensource, diturunkan dari Wiring platform, mempunyai fleksibilitas yang tinggi baik dari segi software maupun hardware



untuk memudahkan Rancang



bangun elektronik dalam berbagai bidang. 



Arduino Uno Board



Arduino menggunakan IC ATMega sebagai IC program dan softwarenya memiliki bahasa pemrograman sendiri yang sering disebut bahasa processing. Bahasa ini sangat mirip dengan bahasa C, namun penulisannya mendekati bahasa manusia.



2. Proteus Software Proteus adalah sebuah software yang digunakan untuk mendesain PCB yang juga dilengkapi dengan simulasi PSpice pada level skematik sebelum rangkaian skematik di-upgrade ke PCB untuk memastikan PCB dapat berfungsi dengan semestinya. Proteus mengkombinasikan program ISIS untuk membuat skematik desain rangkaian dengan program ARES untuk membuat layout PCB dari skematik yang dibuat. ISIS disini bukanlah ISIS yang merupakan kumpulan teroris namun digunakan sebagai program untuk perancangan dan pendidikan, sedangkan ARES atau disebut juga Advanced Routing and Editing Software digunakan untuk membuat modul layout PCB. Proteus sangat berguna untuk desain rangkaian mikrokontroler. Proteus juga berguna untuk belajar elektronika seperti dasar-dasar elektronika sampai pada aplikasi mikrokontroler.



3. Pengulangan dengan While. Pernyataan while mempunyai bentuk umum sebagai berikut : While (ungkapan) { Pernyataan_1; …



Pernyataan_n; } Dalam hal ini, ungkapan adalah suatu kondisi yang bernilai true (benar) atau false (salah). Selama ungkapan bernilai benar, semua pernyataan yang berada dalam {} akan dijalankan. 4. Pengulangan dengan do…while Format penggunaan do…while untuk pengulangan adalah sebagai berikut : Do { Pernyataan_1; Pernyataan_2; … Pernyataan_n; } while (ungkapan); Bagian penyataan_1 hingga pernyataan_n dijalankan secara berulang sampai ungkapan di while bernilai salah (sama dengan nol). Namun, berbeda dengan while, pengujian ungkapan dilakukan di bagian pernyataan.



5. Pengulangan dengan for Pernyataan for mempunyai kegunaan yang sama dengan while atau do..while dalam konteks untuk mengulang suatu proses. Jika jumlah pengulangan telah diketahui didepan, for lebih baik diterapkan daripada while. Bentuk umum pernyataan for sebagai berikut : For (ungkapan_1; ungkapan_2; ungkapan_3) Pernyataan;



Ada banyak peralatan input ataupun sensor yang bisa digunakan sebagai masukan digital pada pinpin Arduino, seperti saklar togel, saklar tekan (push button), thermostat, saklar magnetic, saklar batas (limit switch), keypad, dll. Pada percobaan ini sebuah saklar tekan (push button) akan digunakan sebagai masukan digital (digital input) pada pin Arduino dengan algoritma satu buah saklar tekan akan mengendalikan (on atau off) pada sebuah LED. Pada prinsipnya penggunaan berbagai tipe saklar ataupun sensor sebagai digital input adalah sama, dimana kita akan membaca suatu input digital (high atau



low) untuk mengendalikan output. Pada percobaan ini, juga akan diberikan penjelasan dan contoh tentang cara penggunaan rangkaian hubungan pull-up resistor, pull-down resistor, dan penggunaan resistor internal Arduino sebagai pull-up atau pull-down resistor untuk sebuah rangkaian saklar. 



Pull-up Resistor Eksternal.



Gambar 1 menunjukkan rangkaian pull-up resistor. Saat saklar tidak ditekan, maka tegangan 5V menunju ke input Arduino (input selalu dalam kondisi HIGH). Sedangkan saat saklar ditekan, input Arduino menjadi LOW (pin menuju ground). Istilah lain dari rangkaian ini adalan normally closed (terhubung ke sumber tegangan). Pull-up resistor umumnya lebih banyak digunakan dalam rangkaian digital. Besarnya hambatan resistor yang digunakan umumnya 10kOhm.



Gambar 1







Pull-down Resistor Eksternal



Gambar 2 menunjukkan rangkaian pull-down resistor. Saat saklar tidak ditekan, maka input Arduino selalu terhubung ke ground, sehingga input terjaga pada 0 Volt (LOW). Saat saklar ditekan, pin input Arduino akan dikenai tegangan 5V sehingga mendapatkan masukan HIGH.



Gambar 2







Pull-up / down Resistor Internal



Pada Arduino sendiri, sebenarnya sudah dilengkapi fasilitas internal rangkaian pull-up dan pull down resistor dengan nilai resistor 20-50 kohm. Gambar 3 menunjukkan rangakain Arduino dengan pullup/down internal. Setting fungsi rangkaian pull-up/down internal dilakukan secara software.



Gambar 3



C. ALAT DAN BAHAN 1. Laptop. 2. Software proteus yang sudah dilengkapi library komponen Arduino. 3. Program Editor Arduino IDE.



D. LANGKAH PERCOBAAN 1. Percobaan 1 Simulasi Mengontrol LED 1) Buka software proteus 2) Pilih new project



3) Project diberi nama dan pilih letak penyimpanan lalu tekan next



4) Next hingga Finish 5) Untuk memasukkan komponen di workspace, klik tombol P dan pada kolom keywords pilih arduino uno R3, lalu klik ok



6) Ulangi langkah 5 untuk komponen LED dan Resistor



7) Tambahkan ground pada workspace dengan cara pilih terminals mode lalu pilih ground.



8) Ubah nilai resistor sesuai kebutuhan 9) Komponen pada workspace dirangkai seperti gambar dibawah



10) Kemudian buka software Arduino IDE untuk membuat programnya 11) Buat program pada ardnuino seperti gambar dibawah



12) Save program 13) Selanjutnya program di compile dengan klik pada centang. 14) Ketika program error akan diperlihatkan bagian yang error dan ketika program sudah benar cari alamat hex pada hasil compile lalu di copy



15) Masuk ke software proteus dan klik modul arduino dan masukkan copy-an tadi ke program file untuk menuju ke programnya. 16) Run program



17) Hasilnya LED akan berkedip



2. Percobaan 2 Dasar Pemrograman Arduino untuk Menangani Pengulangan 1) Buka software proteus 2) Pilih new project



3) Project diberi nama dan pilih letak penyimpanan lalu tekan next 4) Next hingga Finish 5) Untuk memasukkan komponen di workspace, klik tombol P dan pada kolom keywords pilih arduino uno R3, lalu klik ok 6) Ulangi langkah 5 untuk komponen 3 warna LED dan 3 Resistor 7) Tambahkan ground pada workspace dengan cara pilih terminals mode lalu pilih ground. 8) Ubah nilai resistor sesuai kebutuhan 9) Komponen pada workspace dirangkai seperti gambar dibawah



10) Kemudian buka software Arduino IDE untuk membuat programnya.



11) Buat program pada arduino untuk tanpa menggunakan pernyataan pengulangan.



12) Save program 13) Selanjutnya program di compile dengan klik pada centang. Ketika program error akan diperlihatkan bagian yang error dan ketika program sudah benar cari alamat hex pada hasil compile lalu di copy 14) Masuk ke software proteus dan klik modul arduino dan masukkan copy-an tadi ke program file untuk menuju ke programnya 15) Run program



16) Hasilnya LED akan berkedip 3 kali tiap lampu secara bergantian



17) Ulangi langkah 11 hingga 17 dengan program berikut 



Menggunakan while







Menggunakan do..while







Menggunakan for



3. Percobaan 3 Input Digital 1) Buka software proteus 2) Pilih new project



3) Project diberi nama dan pilih letak penyimpanan lalu tekan next 4) Next hingga Finish 5) Untuk memasukkan komponen di workspace, klik tombol P dan pada kolom keywords pilih arduino uno R3, lalu klik ok 6) Ulangi langkah 5 untuk komponen LED, 2 buah Resistor dan push button 7) Tambahkan ground dan power pada workspace dengan cara pilih terminals mode lalu pilih ground dan power. 8) Komponen pada workspace dirangkai seperti gambar dibawah, rangkaian pull-up/down eksternal



9) Selanjutnya dirangkai juga untuk rangkaian pull-up/down internal



10) Ubah nilai resistor sesuai kebutuhan 11) Kemudian buka software Arduino IDE untuk membuat programnya. 12) Buat program pada arduino untuk rangkaian pull-up/down eksternal.



13) Save program 14) Selanjutnya program di compile dengan klik pada centang. 15) Ketika program error akan diperlihatkan bagian yang error dan ketika program sudah benar cari alamat hex pada hasil compile lalu di copy 16) Masuk ke software proteus dan klik modul arduino dan masukkan copy-an tadi ke program file untuk menuju ke programnya 17) Run program



18) Hasilnya ketika push button ditekan lampu akan mati



19) Ulangi langkah 12 hingga 18 untuk program pull-up/down internal



20) Hasil



4. Percobaan 4 Input Analog 1) Buka software proteus 2) Pilih new project



3) Project diberi nama dan pilih letak penyimpanan lalu tekan next 4) Next hingga Finish



5) Untuk memasukkan komponen di workspace, klik tombol P dan pada kolom keywords pilih arduino uno R3, lalu klik ok 6) Ulangi langkah 5 untuk komponen 3 warna LED, 3 Resistor dan baterai 7) Tambahkan ground pada workspace dengan cara pilih terminals mode lalu pilih ground. 8) Ubah nilai resistor sesuai kebutuhan 9) Komponen pada workspace dirangkai seperti gambar dibawah



10) Kemudian buka software Arduino IDE untuk membuat programnya. 11) Buat program pada arduino



12) Save program 13) Selanjutnya program di compile dengan klik pada centang. Hasilnya akan seperti dibawah 14) Ketika program error akan diperlihatkan bagian yang error dan ketika program sudah benar cari alamat hex pada hasil compile lalu di copy 15) Masuk ke software proteus dan klik modul arduino dan masukkan copy-an tadi ke program file untuk menuju ke programnya 16) Run program



17) Hasil program setelah di Run dan divariasi tegangan baterai.



E. PEMBAHASAN 1. Percobaan 1 Simulasi Mengontrol LED Pada percobaan kali ini dilakukan percobaan simulasi mengontrol LED. Pada program arduino IDE di tuliskan pin yang digunakan untuk output yaitu pin 12, dan pada program dituliskan LED akan hidup selama 2 detik dan mati selama 2 detik secara terus menerus, atau bisa juga disebut LED berkedip.



2. Percobaan 2 Dasar Pemrograman Arduino untuk Menangani Pengulangan Tujuan dari simulasi ini adalah untuk membuat 3 lampu berkedip 3 kali atau dengan tempo tertentu secara bergantian. Di dalam simulasi ini terdapat 4 program, yaitu program manual tanpa pengulangan, program dengan While, program dengan do While, dan program dengan For. While digunakan untuk mengulang suatu perintah selama kondisi while masih terpenuhi atau bernilai benar. Jika kondisi benar, perintah akan dijalankan kembali dan proses perulangan akan dijalankan terus menerus sampai kondisi bernilai salah. Sedangkan do/while melakukan perulangan dulu, kemudian memeriksa kondisinya atau syaratnya. Kalau kondisi terpenuhi, maka do/while akan melanjutkan perulangan, maka selain kondisi tersebut dia akan berhenti (break). Sedangkan untuk perulangan for, kita harus memiliki sebuah variabel sebagai indeksnya. Indeks yang digunakan haruslah memiliki variable dengan tipe data yang berurutan dan teratur. 3. Percobaan 3 Input Digital Tujuan dari simulasi ini adalah untuk memahami bagaimana mikrokontroller (Arduino) mengakuisisi input digital yang hanya memiliki 2 kondisi, yaitu ON atau OFF. Terdapat 2 rangkaian pada simulasi ini pertama adalah pull-up / down eksternal dan yang kedua adalah pull-up / down internal. Pada pull-up / down eksternal prinsip kerjanya adalah ketika terdapat masukan pada pin 8 atau (if (kondisiSaklar==HIGH))



maka



LED



pada



pin



10



akan



menyala



(digitalWrite(LED, HIGH);). Hal ini terjadi karena tegangan akan mengalir ke pin 10 atau otomatis melewati LED dan menyala. Sedangkan ketika kondisi saklar tertutup , tegangan akan langsung menuju ground sehingga tengangan yang masuk ke pin 10 menjadi LOW dan LED akan mati. Untuk pull-up / down internal memiliki prinsip kerja yang sama , namun pada rangkaian ini digunakan Vcc internal



dari



Arduino



dengan



menambahkan



program



script



(digitalWrite(SAKLAR, HIGH);) untuk mendefinisikan Vcc internal Arduino yang akan digunakan.



4. Percobaan 4 Input Analog Tujuan dari simulasi ini adalah untuk membuat salah satu dari ketiga lampu menyala, berdasarkan masukan yang telah di tetapkan untuk setiap lampu. Simulasi program ini didapatkan bagaimana Arduino mengakuisisi input analog. Input analog yang digunakan yaitu sumber tegangan



baterai. Nilai tegangan



baterai divariasikan dan indikator nilainya dinyatakan dengan display LED. Dalam penulisan program di script dinyatakan, jika tegangan analog lebih besar sama dengan 1,5 V maka LED biru akan menyala. Jika tegangan analog lebih besar atau sama dengan dari 1,3 V atau kurang dari 1,5 V maka LED kuning akan menyala. Jika tegangan analog kurang dari 1,3 V maka LED merah akan menyala.



F. KESIMPULAN 1. Percobaan 1 Simulasi Mengontrol LED Setelah program dijalankan maka LED akan berkedip selama selang waktu 2 detik, atau biasanya dalam pemrograman arduino disebut test blink. 2. Percobaan 2 Dasar Pemrograman Arduino untuk Menangani Pengulangan Pada pemrograman arduino fungsi pengulangan/perintah, pada void loop bisa menggunakan fungsi while, do..while, atau for. Bisa juga ditulis secara manual tanpa menggunakan ketiga fungsi diatas namun akan membutuhkan waktu yang lebih lama dan programnya menjadi terlalu panjang. 3. Percobaan 3 Input Digital Pada rangkaian pull-up/down eksternal maupun internal , prinsip kerjanya hampir sama. Ketika ada sebuah masukan misal pada pin 8 maka saat kondisi saklar terbuka tegangan akan diteruskan menuju pin 10 dan LED akan menyala. Sebaliknya jika kondisi saklar tertutup maka tengangan diteruskan ke ground sehingga LED akan mati. 4. Percobaan 4 Input Analog System akuisisi input analog, LED akan menyala sesuai dengan variasi baterai yang diberikan.



DAFTAR PUSTAKA Sutanto. (2020). PERCOBAAN 1: Simulasi Mengontrol LED. STTN-BATAN. Sutanto. (2020). PERCOBAAN 2: Dasar Pemrograman Arduino untuk Menangani Pengulangan. STTN-BATAN. Sutanto. (2020). PERCOBAAN 3: Input Digital. STTN-BATAN. Sutanto. (2020). PERCOBAAN 4: Input Analog. STTN-BATAN.