MINI PROJECT
Aqid Mukhtar1), Ahmad Maulana1), Andi Afnansyap Rifman1), Esayacha Azis1),
Lily Yuliani1), Karfillah1), Indrayanti1), Bahrum Tilas2) dan Muhammad Yusuf
Tahir3)
1)
Praktikan Praktikum Teknik Instrumentasi Program Studi Teknik Pertanian Universitas Hasanuddin
2)
Asisten Praktikum Teknik Instrumentasi Program Studi Teknik Pertanian Universitas Hasanuddin
3)
Asisten Praktikum Teknik Instrumentasi Program Studi Teknik Pertanian Universitas Hasanuddin
ABSTRAK
Software Arduino yang memiliki IC program yang telah di tanam breadboard Arduino.
Setelah bahasa program yang dikerjakan oleh perangkat lunak tersebut telah selesai
maka diperlukan suatu sistem yang dapat mensimulasikan program tersebut. Arduino
IDE berupa sebuah software yang sangat berperan untuk menulis program, meng-
compile menjadi kode biner dan meng-upload ke dalam memory microcontroller. Papan
ini berupa perangkat keras yang bersifat “open source” sehingga boleh dibuat siapa
saja. Arduino dibuat dengan tujuan untuk memudahkan eksperimen atau perwujudan
berbagai peralatan yang berbasis mikrokontroler. Arduino Uno termasuk board
mikrokontroler berbasis ATmega328 (datasheet). Tujuan praktikum Mini Project yaitu
mampu mengetahui fungsi dari software Arduino serta mahasiswa mampu
menghasilkan bahasa program suatu alat ukur. Kegunaan dari praktikum Mini Project
yaitu dapat mengaplikasikan teori selama praktikum dalam membuat bahasa program
untuk membuat suatu alat ukur. Adapun metode yang digunakan pada praktikum ini
yaitu membuat suatu alat ukur berupa sensor sudut dan bahasa program yang
digunakan. Dalam membuat rangkaian sensor sudut, perangkat yang diperlukan sebagai
pendukung yaitu Arduino Uno, LCD, kabel jumper dan kabel USB. Dalam membuat
bahasa program, adapun yang perlu dilakukan adalah mengkalibrasi dengan cara
melakukan pengambilan data yang kemudian diolah pada excel untuk mendapatkan nilai
regresi. Setelah rangkaian dan bahasa bahasa program telah selesai dibuat, dihubungkan
dengan Arduino Uno dan LCD dengan merangkai menggunakan kabel jumper sesuai
dengan input pada Arduino Uno. Setelah selesai menghubungkan perangkat tersebut
kemudian kita hubungkan dengan laptop menggunakan kabel USB. Maka, hasilnya
dapat ditampilkan dalam LCD sesuai dengan informasi berdasarkan perintah yang di
input.
Kata Kunci: Arduino, LCD, Program, Software.
PENDAHULUAN
Latar Belakang
Dalam beberapa dekade terakhir, teknologi berkembang dengan sangat pesat. Hal
ini diimbangi pula dengan penggunaan teknologi untuk memudahkan pekerjaan
manusia baik dalam industri maupun dalam kehidupan sehari-hari. Salah satu teknologi
yang sering digunakan adalah mikrokontroler. Pada umumnya, mikrokontroler
digunakan untuk membuat bahasa program sistem dalam berbagai bidang.
Sistem pengendalian atau mikrokontroler berupa susunan komponen-komponen
yang disusun sedemikian rupa untuk mengatur suatu kondisi untuk mendapatkan
Program Studi Keteknikan Pertanian
Departemen Teknologi Pertanian
Fakultas Pertanian
Universitas Hasanuddin Laporan Praktikum Teknik Instrumentasi
kondisi yang diinginkan. Sistem pengendalian atau mikrokontroler secara umum terdiri
dari tiga elemen pokok yaitu input, proses dan output. Output termasuk hal yang
dihasilkan oleh kendalian, artinya yang dikendalikan. Sedangkan input berupa yang
memengaruhi kendalian atau mengatur output. Pada sistem pengendalian dikenal open
loop system dan close loop system. Open loop system berupa suatu proses dalam suatu
sistem yang mana variabel input akan berpengaruh pada output yang dihasilkan.
Sedangkan close loop system adalah sebuah proses dimana variabel yang ada
dipengendali secara terus menerus disensor kemudian dibandingkan dengan kuantitas
referensi (Ichwan et al., 2013).
IDE berupa sebuah software yang sangat berperan untuk menulis program,
meng-compile menjadi kode biner dan meng-upload ke dalam memory microcontroller.
Software Arduino IDE terdiri dari 3 (tiga) bagian. Pertama, editor program untuk
menulis dan mengedit program dalam bahasa processing. Kedua, Compiler berupa
modul yang berfungsi mengubah bahasa processing (kode program) kedalam kode biner
karena kode biner satu-satunya bahasa program yang dipahami oleh mikrokontroller dan
uploader berupa modul yang berfungsi memasukkan kode biner kedalam memori
mikrokontroller. Pada bahasa program Arduino IDE terdapat banyak bahasa yang bisa
digunakan untuk program mikrokontroler, misalnya bahasa assembly. Namun, dalam
pemrograman Arduino bahasa yang dipakai adalah bahasa C. Akar bahasa C adalah
bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Bahasa C
berupa bahasa standar, artinya suatu program yang ditulis dengan versi bahasa C tentu
akan dapat dikompilasikan dengan versi bahasa C yang lain dengan sedikit modifikasi
(Arifin et al., 2016).
Arduino berupa keluarga papan mikrokontroler yang awalnya dibuat oleh
perusahaan smart projects. Salah satu tokoh penciptanya adalah Massimo banzi. Papan
ini berupa perangkat keras yang bersifat “Open Source” sehingga boleh dibuat siapa
saja. Arduino dibuat dengan tujuan untuk memudahkan eksperimen atau perwujudan
berbagai peralatan yang berbasis mikrokontroler. Arduino Uno termasuk board
mikrokontroler berbasis ATmega328 (datasheet). ATmega328 pada Arduino Uno hadir
dengan sebuah bootloader yang memungkinkan kita untuk mengupload kode baru ke
ATmega328 tanpa menggunakan pemrogram hardware eksternal. Arduino Uno
memiliki 14 pin input dari output digital dimana 6 pin input tersebut dapat digunakan
sebagai output PWM dan
6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan
tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya
menghubungkan board Arduino Uno ke komputer dengan menggunakan kabel USB
atau listrik dengan AC yang ke adaptor-DC untuk menjalankannya. Arduino UNO
berukuran sebesar kartu kredit. Walaupun berukuran kecil seperti itu, papan tersebut
mengandung mikrokontroler dan sejumlah input atau output (I/O) yang memudahkan
pemakai untuk menciptakan berbagai proyek elektronika yang dikhususkan untuk
menangani tujuan tertentu seperti halnya pintu gerbang otomatis (Lubis et al., 2019).
Potensiometer termasuk salah satu jenis resistor yang nilai resistansinya dapat
diatur sesuai dengan kebutuhan rangkaian elektronika ataupun kebutuhan pemakainya.
Potensiometer merupakan keluarga resistor yang tergolong dalam kategori variabel
resistor. Secara struktur, potensiometer terdiri dari 3 kaki terminal dengan sebuah shaft
atau tuas yang berfungsi sebagai pengaturnya. Potensiometer termasuk salah satu jenis
Resistor yang nilai resistansinya dapat diatur sesuai dengan kebutuhan pada rangkaian
Program Studi Keteknikan Pertanian
Departemen Teknologi Pertanian
Fakultas Pertanian
Universitas Hasanuddin Laporan Praktikum Teknik Instrumentasi
Praktikum Mini Project dilaksanakan pada hari Sabtu 30 Oktober 2021, pukul
13.00 WITA sampai selesai, bertempat di
Laboratorium Teknik Alat dan Mulai Mesin Pertanian, Program
Studi Keteknikan Pertanian, Departemen Teknologi
Pertanian, Universitas Hasanuddin, Makassar.
Alat Persiapan alat dan
Alat yang digunakan pada bahan praktikum ini adalah
solder, software Arduino serta alat tulis menulis.
Bahan
Bahan yang digunakan untuk praktikum ini
Perancangan sensor sudut
adalah potensiometer, Arduino Uno,
Breadboar, LCD, LED, kabel jumper, kabel
USB dan I2C.
Prosedur Praktikum
Adapun prosedur yang Perakitan sensor sudut dilakukan pada praktikum
Mini Project, sebagai berikut:
A. Bagan alir program
Perancangan
menggunakan sistem
software
Uji fungsional
Perakitan sistem
kontrol pendeteksi
sudut otomatis
Program Studi Keteknikan Pertanian
Departemen Teknologi Pertanian
Fakultas Pertanian
Universitas Hasanuddin Laporan Praktikum Teknik Instrumentasi
Tidak Uji
kinerja
Ya
Sistem
Mikrokontroller
Arduino UNO
Potensiometer
LCD
Analisis data
LED
Selesai
Program Studi Keteknikan Pertanian
Departemen Teknologi Pertanian
Fakultas Pertanian
Universitas Hasanuddin Laporan Praktikum Teknik Instrumentasi
E. Rangkaian Manual
1. Menyiapkan alat dan bahan yang akan digunakan yaitu, papan breadboard,
Potensiometer, LCD dan I2C, Arduino, software Arduino dan kabel jumper.
2. Memasang potensiometer pada papan breadboard.
3. Menghubungkan datasheet potensiometer menggunakan kabel jumper ke papan
breadboard dan Arduino.
4. Menghubungkan datasheet LCD I2C pada Arduino dan papan breadboard
menggunakan kabel jumper.
5. Memasang LED ke papan breadboard sebagai penunjuk sudut.
6. Menghubungkan rangkaian ke laptop menggunakan kabel USB.
7. Meng-upload bahasa program yang dibuat, maka hasil akan terbaca pada LCD.
F. Pengujian
1. Menyiapkan alat dan bahan yang digunakan dalam pengujian sensor untuk untuk
mendapatkan data dalam membuat suatu persamaan matematis (regresi).
2. Menjalankan program dari rangkaian sensor sudut.
3. Memasang busur pada potensiometer sebagai indikator dalam melihat sudut.
4. Memutar sudut pada potensiometer setiap sudut kelipatan 20 derajat yang
dimulai dari sudut 0 sampai sudut 300 derajat.
5. Mencatat hasil pengujian antara tegangan dan sudut.
6. Memasukkan data yang didapatkan ke excel untuk di regresikan secara linear.
7. Memasukkan persamaan regresi yang diperoleh ke dalam bahasa program
dengan mengganti nilai x ke tegangan hasil.
8. Menguji bahasa program setelah dilakukan kalibrasi dengan meng-upload
bahasa program.
HASIL DAN PEMBAHASAN
Hasil
A. Data Hasil Pengujian
Tabel 1. Data hasil pengujian.
Tegangan (x) Sudut (y)
0 0
0.02 20
0.35 40
0.69 60
1.06 80
1.43 100
1.78 120
2.13 140
2.48 160
2.97 180
3.29 200
3.53 220
4.06 240
4.53 260
4.97 280
5 300
Program Studi Keteknikan Pertanian
Departemen Teknologi Pertanian
Fakultas Pertanian
Universitas Hasanuddin Laporan Praktikum Teknik Instrumentasi
B. Hasil Regresi.
350
300
f(x) = 54.95 x + 18.51
250 R² = 0.99
200
Sudut (y)
150
100
50
0
0 1 2 3 4 5 6
Tegangan (x)
0.02 volt maka sudut yang ditampilkan pada LCD yaitu 20 derajat dan seterusnya.
Dengan begitu, metode expert pada bahasa program telah di tambahkan.
Dalam memperjelas penunjukan sudut pada LCD, maka ditambahkan LED sebagai
indikator penujuk sudut. Untuk menambahkan indikator LED pada sensor sudut maka
di tambahkan pula bahasa program untuk menyalakan LED tersebut. Setting kaki positif
LED pada pin digital di arduino sebagai output nya. Hal ini sesuai dengan pendapat
Rahmadayanti (2019), yang menyatakan bahwa arus listrik hanya mengalir kalau
tegangan positif dihubungkan ke kaki yang disebut anode dan tegangan negatif
dihubungkan ke kaki yang dinamakan katode pada LED.
DAFTAR PUSTAKA
Fuada, S. (2017). Perancangan Sistem Kontrol Pada Prototip Pengering Kerupuk
Berbasis IC Digital Menggunakan Software Proteus 7.0. Setrum : Sistem Kendali
Tenaga Elektronika Telekomunikasi Komputer, 6(1), 88.
Arifin, J., Zulita, L. N., & Hermawansyah. (2016). Perancangan Murottal Otomatis
Menggunakan Mikrokontroller Arduino Mega 2560. Jurnal Media Infotama.
12(1), 89–98.
Fuada, S. (2017). Perancangan Sistem Kontrol Pada Prototip Pengering Kerupuk
Berbasis IC Digital Menggunakan Software Proteus 7.0. Setrum : Sistem Kendali-
Tenaga-Elektronika-Telekomunikasi-Komputer, 6(1), 88.
Ichwan, M., Husada, M. G., & M. Iqbal Ar Rasyid. (2013). Pembangunan Prototipe
Sistem Pengendalian Peralatan Listrik Pada Platform Android. Jurnal Informatika,
4(1), 13–25.
Lubis, Z., Lungguk, A., Saputra, N., Winata, S., Annisa, A., Muhazzir, B., Satria, M., &
Sri, W. (2019). Kontrol Mesin Air Otomatis Berbasis Arduino Dengan
Smartphone. Buletin Utama Teknik, 14(3), 1410–4520.
Natsir, M., Rendra, D. B., & Anggara, A. D. Y. (2019). Implementasi IOT Untuk
Sistem Kendali AC Otomatis Pada Ruang Kelas di Universitas Serang Raya.
Jurnal PROSISKO (Pengembangan Riset Dan Observasi Rekayasa Sistem
Komputer), 6(1), 69–72.
Rahmadayanti, F. (2016). Aplikasi Android Lampu Led Berbasis Arduino. Jurnal
Ilmiah Betrik, 7(03), 114–127.
Program Studi Keteknikan Pertanian
Departemen Teknologi Pertanian
Fakultas Pertanian
Universitas Hasanuddin Laporan Praktikum Teknik Instrumentasi
LAMPIRAN
Lampiran 1. Bahasa Program
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C LCD(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and
2 line display
void setup()
{
LCD.init(); //INISIASI
LCD.backlight(); //MENYALAKAN LCD
LCD.begin(20,4); // MEMULAI
pinMode(sensor,INPUT); //inisialisasi kaki output untuk LED
pinMode(2, OUTPUT); // set pin 2 digital di arduino sebagai output
pinMode(3, OUTPUT); // set pin 3 digital di arduino sebagai output
pinMode(4, OUTPUT); // set pin 4 digital di arduino sebagai output
pinMode(5, OUTPUT); // set pin 5 digital di arduino sebagai output
pinMode(6, OUTPUT); // set pin 6 digital di arduino sebagai output
pinMode(7, OUTPUT); // set pin 7 digital di arduino sebagai output
pinMode(8, OUTPUT); // set pin 8 digital di arduino sebagai output
pinMode(9, OUTPUT); // set pin 9 digital di arduino sebagai output
pinMode(10, OUTPUT); // set pin 10 digital di arduino sebagai output
pinMode(11, OUTPUT); // set pin 11 digital di arduino sebagai output
pinMode(12, OUTPUT); // set pin 12 digital di arduino sebagai output
pinMode(13, OUTPUT); // set pin 13 digital di arduino sebagai output
Serial.begin(9600);
}
void loop()
{
A = analogRead(A0); //Membaca Analog pada kaki A0
B = (5*A)/1024; //ADC di ubah kedalam voltage
C = (54.947*B) + 18.506; // SUDUT
LCD.setCursor(0,0);
LCD.print("TEGANGAN = ");
LCD.print(B);
LCD.setCursor(0,1);
LCD.print("SUDUT = ");
LCD.print(C);
LCD.setCursor(14,1);
LCD.print((char)223);
Program Studi Keteknikan Pertanian
Departemen Teknologi Pertanian
Fakultas Pertanian
Universitas Hasanuddin Laporan Praktikum Teknik Instrumentasi
LCD.setCursor(0,2);
LCD.print("SENSOR SUDUT");
LCD.setCursor(11,3);
LCD.print((char)223);
Serial.print("SUDUT = ");
Serial.println(C);
Serial.print("TEGANGAN = ");
Serial.println(B);
if(B==0){
LCD.setCursor(0,3);
LCD.print("SUDUT = 0");}
else if((B>=0)&&(B<=0.02)){
LCD.setCursor(0,3);
LCD.print("SUDUT = 20");
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(2, LOW);}
else if((B>=0.02)&&(B<=0.35)){
LCD.setCursor(0,3);
LCD.print("SUDUT = 40");
digitalWrite(3, HIGH);
delay(1000);
digitalWrite(3, LOW);}
else if((B>=0.35)&&(B<=0.69)){
LCD.setCursor(0,3);
LCD.print("SUDUT = 60");
digitalWrite(4, HIGH);
delay(1000);
digitalWrite(4, LOW);}
Program Studi Keteknikan Pertanian
Departemen Teknologi Pertanian
Fakultas Pertanian
Universitas Hasanuddin Laporan Praktikum Teknik Instrumentasi
else if((B>=0.69)&&(B<=1.06)){
LCD.setCursor(0,3);
LCD.print("SUDUT = 80");
digitalWrite(5, HIGH);
delay(1000);
digitalWrite(5, LOW);}
else if((B>=1.06)&&(B<=1.43)){
LCD.setCursor(0,3);
LCD.print("SUDUT = 100");
digitalWrite(6, HIGH);
delay(1000);
digitalWrite(6, LOW);}
else if((B>=1.43)&&(B<=1.78)){
LCD.setCursor(0,3);
LCD.print("SUDUT = 120");
digitalWrite(7, HIGH);
delay(1000);
digitalWrite(7, LOW);}
else if((B>=1.78)&&(B<=2.13)){
LCD.setCursor(0,3);
LCD.print("SUDUT = 140");
digitalWrite(8, HIGH);
delay(1000);
digitalWrite(8, LOW);}
else if((B>=2.13)&&(B<=2.48)){
LCD.setCursor(0,3);
LCD.print("SUDUT = 160");
digitalWrite(9, HIGH);
Program Studi Keteknikan Pertanian
Departemen Teknologi Pertanian
Fakultas Pertanian
Universitas Hasanuddin Laporan Praktikum Teknik Instrumentasi
delay(1000);
digitalWrite(9, LOW);}
else if((B>=2.48)&&(B<=2.97)){
LCD.setCursor(0,3);
LCD.print("SUDUT = 180");
digitalWrite(10, HIGH);
delay(1000);
digitalWrite(10, LOW);}
else if((B>=2.97)&&(B<=3.29)){
LCD.setCursor(0,3);
LCD.print("SUDUT = 200");
digitalWrite(11, HIGH);
delay(1000);
digitalWrite(11, LOW);}
else if((B>=3.29)&&(B<=3.53)){
LCD.setCursor(0,3);
LCD.print("SUDUT = 220");
digitalWrite(12, HIGH);
delay(1000);
digitalWrite(12, LOW);}
else if((B>=3.53)&&(B<=4.06)){
LCD.setCursor(0,3);
LCD.print("SUDUT = 240");
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);}
else if((B>=4.06)&&(B<=4.53)){
LCD.setCursor(0,3);
Program Studi Keteknikan Pertanian
Departemen Teknologi Pertanian
Fakultas Pertanian
Universitas Hasanuddin Laporan Praktikum Teknik Instrumentasi
LCD.print("SUDUT = 260");}
else if((B>=4.53)&&(B<=4.97)){
LCD.setCursor(0,3);
LCD.print("SUDUT = 280");}
else if((B>=4.97)&&(B<=5.00)){
LCD.setCursor(0,3);
LCD.print("SUDUT = 300");}
delay(10);
}
\
Gambar 3. Rangkaian sensor sudut dengan menggunakan Proteus.
Fritzing