Anda di halaman 1dari 57

LAPORAN KERJA PRAKTEK

ALAT PAKAN IKAN OTOMATIS

Oleh:

Nama : YAYANG RIZKI AGUSTIAN

NPM : 167002101

PROGRAM STUDI TEKNIK ELEKTRO


FAKULTAS TEKNIK
UNIVERSITAS SILIWANGI
Jl. Siliwangi no. 24, Kahuripan, Tawang
TASIKMALAYA
2020

i
LEMBAR PENGESAHAAN LAPORAN KERJA PRAKTEK
ALAT PAKAN IKAN OTOMATIS

KERJA PRAKTEK

Oleh:
YAYANG RIZKI AGUSTIAN
167002101

Menyetujui
Tasikmalaya, 1 Desember 2020

Pembimbing KP Pembimbing Lapangan

Sutisna, Ir., M.T. Nurul Hiron.,S.T,M.Eng


0424116902 0419087504

Mengetahui,

Ketua Program Studi


Teknik Elektro

Nurul Hiron.,S.T,M.Eng
0419087504

i
DAFTAR ISI

LEMBAR PENGESAHAN .................................................................................................... i

DAFTAR ISI........................................................................................................................... ii

KATAPENGANTAR....................................................................................................... iii
ABSTRAK ........................................................................................................................ iv
Judul, Tema, Tempat dan Lokasi KP .................................................................................. v

LOG BOOK ............................................................................................................................ 1

LANDASAN TEORI ...................................................................................................... 43


KESIMPULAN..................................................................................................................... 50

DAFTARPUSTAKA ............................................................................................................. vi

ii
KATA PENGANTAR

Alhamdulillah, puji syukur penulis panjatkan ke hadirat Allah SWT, yang

telah memberikan Rahmat, Hidayah dan kekuatan kepada penulis untuk

menyelesaikan laporan Kerja Praktek yang berjudul Alat Pakan Ikan Otomatis

Dalam penyusunan Laporan Kerja Praktek ini penulis telah banyak mendapat

bantuan kelancaran membuat laporan dari berbagai pihak, untuk itu atas segala

bantuan, bimbingan, dorongan, dan pengorbanan yang telah diberikan secara

langsung maupun tidak langsung, penulis menyampaikan rasa terima kasih kepada

pihak perusahaan yang telah mengijinkan saya melakukan Kerja Praktek, dan dosen

– dosen yang telah memberikan bimbingan dari awal pembelajaran.

Dan semoga segala bantuan dan kebaikan yang telah diberikan oleh semua

pihak yang telah membantu dalam kegiatan maupun penyusunan Laporan Kerja

Praktek ini bisa bermanfaat dan mendapatkan balasan yang berlipat ganda dari Allah

SWT. Amiin Ya Rabbal Alamin

Tasikmalaya, 1 Desember 2020

Penulis

iii
ABSTRAK
Kerja praktek ini dilakukan di kampus universitas siliwangi yang berlokasi di
tasikmalaya karena PT. Prima Perkasa Teknik Indonesia telah mengijinkan
melakukan kerja praktek di kampus. Tema kerja praktek ini adalah proyek dalam alat
pakan ikan otomatis pada model yang diteliti. Cakupan kerja praktek meliputi
persiapan dalam penelitian model perubahan katup atas yang sudah ada menjadi
shaff linear rod , evaluasi kinerja alat pakan ikan otomatis dengan durasi kerja
praktek adalah 30 hari kalender/25 hari kerja. Kesimpulan dari kerja praktek ini
adalah pembuatan alat pakan otomatis.

iv
Judul KP:
ALAT PAKAN IKAN OTOMATIS

Tema KP:

PENERAPAN DAN PERBAIKAN ALAT PAKAN IKAN


OTOMATIS

Tempat dan lokasi KP:


PT. PRIMA PERKASA TEKNIK INDONESIA, BANDUNG
LOKASI UNIVERSITAS SILIWANGI, TASIKMALAYA

Dosen pembimbing KP : Sutisna, Ir., M.T.


Pembimbing lapangan KP : Nurul Hiron.,S.T,M.Eng

v
LOGBOOK KERJA PRAKTIK
Judul: Alat Pakan Ikan Otomatis
Nama: Yayang Rizki Agustian
NPM: 167002101
Prodi: Teknik Elektro Universitas Siliwangi
TTD
Hari ke Tanggal Item Kegiatan Pembimbing
lapangan
1. 29/07/2019
Pembahasan proyek yang akan dilakukan

Kesimpulan : Proyek yang akan dilakukan merupakan penelitian model teknologi alat pakan
otonatis. Teknologi pakan ikan otomati merupakan alat yang akan mempermudah pekejaan dari
perusahaan yang mengelolaan perikanan.
2. 30/07/2019
Menyesuaikan diri dengan lingkungan
mikrokontroler.
Kesimpulan : Mikrokontroler yang digunakan adalah arduino uno. Arduino uno menggunakan

bahasa pemrograman C++ dan terdapat perangkat lunak yang mendukung untuk memprogram

arduino uno yaitu arduino IDE.

Gambar 1. Perangkat keras arduino uno


Perangkat lunak arduino IDE (Integrated Development Environment) merupakan text

editor untuk menulis suatu program di sketches, perangkat lunak arduino IDE yang terhubung

1
dengan perangkat keras arduino uno dapat mengunggah program yang ditulis dan saling

berkomunikasi dengan PC (Personal Computer).

Gambar 2. Software Arduino UnoR3 IDE

Pada gambar 3 diatas merupakan tampilan sketch perangkat lunak arduino IDE.

Terdapat beberapa pengaturan pada perangkat lunak tersebut seperti pengaturan File, Edit,

Sketch, Tools, Help yang perlu dipahami agar tidak asing terhadap perangkat lunak tersebut.

1. File

Pada menu file di tampilan arduino terdapat beberapa pengaturan seperti New untuk

membuat baru dalam membuat program di skecth, Open untuk membuka file sketch program

yang telah disimpan sebelumnya, sketchbook merupakan penyimpana sketchs dalam suatu

2
folder, Examples merupakan contoh program yang telah ada biasanya jika menambah library

untuk memprogram sensor terdapat contoh programnya, Save untuk menyimpan file sketch,

Preferences merupakan setelan sketch yang lebih detail.

2. Edit

Pada menu Edit merupakan pengaturan untuk mengatur teks yang berapa pada sketch

yaitu menambahkan komentar pada program untuk menjelaskan fungsi program, memperbesar

dan memperkecil teks, mencari kosa kata yang telah ditulis pada program, dan kembali

sebelumnya atau setelah penulisan program jika terjadi kesalahan dalam penulisan.

3. Sketch

Pada menu Sketch merupakan pengaturan untuk mengeksekusi program pada program

sketch yang telah dibuat seperti, Verify/Compile untuk memeriksa jika terjadi ada kesalahan

dalam program pada sketch, Upload untuk mengunggah program yang telah dibuat pada sketch

ke perangkat keras arduino, dan Include Library merupakan penambahan perintah untuk

mendukung dalam menjalankan sensor.

4. Tools

Menu Tools merupakan menu pendukung dalam sketch contoh Auto Format untuk

merapihkan program pada sketch yang telah dibuat, Manage Libraries untuk mengunduh file

library langsung dari server arduino, Serial Monitor untuk menampilakan monitor pada

perangkat keras yang telah terprogram, Serial Plotter sama halnya dengan Serial Monitor tetapi

dalam bentuk ploter atau grafik, Board merupakan pengaturan jenis perangkat keras yang akan

diprogram.

5. Help

Pada menu Help merupakan bantuan jika terdapat beberapa kendala atau hal yang kurang
dimengerti seperti Reference merupakan bantuan dalam perintah program, Getting Started
merupakan langkah sederhana untuk memperkenalan aplikasi arduino. Semua itu akan beralih
ke panduan melalui web browser dan langsung terhubung dengan web arduino.cc.

3
3. 31/07/2019
Mempersiapkan komponen yang dibutuhkan
untuk membangun alat pakan ikan otomatis
Kesimpulan :
Pada hari ini saya membuat list atau daftar bahan ataupun komponen yang dirasa akan perlu
untuk pembuatan pakan ikan otomatis di anatranya:
1.ArdunoUnoR3
2.Pushbutton
3.LCD 16*2 dengan IC I2C
4.Motor DC
5.Motor Servo
6.Led
7.Modul RTC
8.Modula HX711
9.LoadCell
10.Kabel jumper Arduino
4. 1/08/2019 - Sharing Bersama Perserta T.A
Mengenai Alat Pakan Ikan Otomatis
- Mencari Refrensi Mengenai Pakan Ikan
Otomatis
Kesimpulan :
Menambah ilmu dengan cara sharing dan menjaikan pengalaman untuk menegerjakan alat yang
akan dibuat dan memberikan saran perbandingan alat peserta T.A.

5. 2/08/2019 - Mengintall Ni MyRio dan LavView


- Mencari Refrensi Dan Latihan
Mengenai Ni MyRio

Kesimpulan :
National Instruments memberikan formulir yang harus diisi dan harus mematuhi tata tertib yang
telah ditetapkan saat kegiatan berlangsung. National Instruments didirikan pada tahun 1976
dan berbasis di kota Austin, Texas, Amerika. LabVIEW merupakan singkatan dari Laboratory
Virtual Instrument Engineering Workbench. LabVIEW adalah software yang dikembangkan
oleh National Instrument, merupakan sebuah software untuk membuat aplikasi yang berbasis
grafis (graphical programming). Berbeda dengan bahasa pemrograman lainnya yang biasanya
menggunakan structured text lenguage (Bahasa pemrograman berbasis teks) LabVIEW hadir
dengan bahasa pemrograman berbasis Block Diagram.
6. 5/08/2019 - Membuat Sebuah Program Sederhana
Menggukan NiMyRio

4
Kesimpulan :

Membuat aplikasi kalkulator dengan fungsi Add, Substract, Multiple, Divide.

Penggunaan operator kali, bagi, tambah, kurang digunakan dalam pembuatan kalkulator

sederhana.

Gambar 3. Aplikasi Kalkulator Sederhana.

Gambar 4. Diagram Blok Aplikasi Kalkulator Sederhana.

Dengan aplikasi kalkulator sederhana tersebut bisa mengoperasikan hitungan – hitungan


sedederhana, dengan cara memasukan nilai pada kolom Input 1 dan Input 2 kemudian pilih
operasi yang akan digunakan pada kolom Operation dan hasilnya akan muncul ketika program
di running, hasil akan muncul pada kolom Result.

5
TTD
Hari ke Tanggal Item Kegiatan Pembimbing
lapangan
7. 6/08/2019 - Mengikuti dan membantu Pengujian
Alat T.A Mengenai Pakan Ikan Otomatis
Kesimpulan : Untuk Membantu Perserta T.A menganalisis data yang akan di masukan ke journal
yang akan di buat agar pengujiannya lebih maksimal.
Membantu merancang mekanik alat pakan ikan otomatis yang akan di buat

( Gambar 5.WiringPrototype Gambar 6.Pengodingan Alat


8. 7/08/2019 - Pengjuian Alat T.A katup atas dan katup
bawah ( pengendalian Servo dengan
Mekanik Alat)
Kesimpulan : - Pengujian alat T.A pengendalian motor servo pada katup atas dan katup bawah
sebagai tumpuan buka tutup pakan ikan

Gambar 7.Katup Bagian Atas

6
Gambar 8.Katup Bagian Bawah

- Motor Servo
Motor servo adalah sebuah motor dengan sistem umpan balik tertutup dimana posisi dari
motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo.
Motor ini terdiri dari sebuah motor DC, serangkaian gear, potensiometer dan rangkaian
kontrol. Potensiometer berfungsi untuk menentukan batas sudut dari putaran servo.
Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang dikirim
melalui kaki sinyal dari kabel motor.
Dialat ini Motor Servo digunakan sebagai Pembuka Dan Penutup Secara otomatis yang di
kendalikan oleh sebuah alat yaitu arduino UNOR3.
Jenis motor servo yang digunkan pada alat ini LF-20MG jenis motor ini bisa menahan beban
sebesar maksimal 20KG

Gambar 9.Jenis Motor Servo

9. 8/08/2019 - Membuat Konsepan Pakan Ikan


Otomatis
Kesimpulan : Merancangkan dari alat mekanik yang baru dan pengkodingan ulang agar bisa
menghasilkan Analisis Yang Baru untuk menegetahui alat mekanik yang sedang dilakukan dan
mengetahui kekurangan dari alat tersebut
10. 9/08/2019 - Belajar penggunaan PushButton set
timer dengan pemograman Integer
dengan pengeluangan buzzer dan led

7
Kesimpulan :

Melakukan pembuatan prototype sederhana menggunakan push button dimana ketika push buton
di tekan maka akan menyalakan led atau buzzer,
Dari Pembuatan prototype sederhana ini kedepannnya untuk alat pakan ikan otomatis bisa
membuat program dimana bisa melakukan set program RTC dengan push button yang akan
menghasilkan outup jam yang sesuai diharapkan

Gambar 10. Penggunaan Push Button

Peogram PB Set untuk Sederhana:

int Buzzer = 8; //type data menyimpan bilangan bulat pada pin 8


int PushButton = 3; //type data menyimpan bilangan bulat pada pin 3

void setup() {
pinMode (Buzzer, OUTPUT); // Menjadikan pin 8 sebagai OUTPUT
pinMode (PushButton, INPUT); // Menjadikan pin 3 sebagai INPUT

void loop() {

if (PushButton == HIGH) { // Jika Push Button di tekan


digitalWrite (Buzzer, HIGH); // Maka Menyalakan pin 8, (HIGH = memberi tegangan pada pin
8)
}
else { // Jika tidak ditekan
digitalWrite (Buzzer, LOW); //Mematikan pin8. (LOW = tidak ada tengangan pada pin 8)
}
}

8
TTD
Hari ke Tanggal Item Kegiatan
Pembimbing lapangan
11. 12/08/2019 - Membuat skema rangkaian ( wiring
) di aplikasi Fritzing

Kesimpulan :
- Membuat gambar wiring dengan aplikasi fritzing , agar memudahkan untuk merangkai
pada hardware atau pengapikasian ke arduino uno.
- Fritzing adalah salah satu dari perangkat lunak gratis yang dapat dipergunakan
dengan baik untuk belajar elektronika. Perangkat lunak ini bisa bekerja baik di
lingkungan sistem operasi GNU/ Linux maupun Microsoft Windows. Masing-
masing software memiliki keunggulannya masing-masing bagi setiap tipe
pengguna dan keperluan. Untuk pelajaran elektronika daya ada beberapa hal
yang menarik dari Fritzing. Pertama, sebagaimana yang telah diungkap Fritzi ng
juga dapat bekerja di system ber-OS GNU/Linux seperti Fedora, Debian,
Ubuntu, atau Mint. Ini penting karena OS ini bersifat gratis sehingga
memungkinkan untuk dijadikan platform belajar yang dapat dipakai secara luas.
12. 13/08/2019 - Menngunakan LCD 16*2 dengan
Modul I2C

Kesimpulan :
- LCD 16x2 dengan Arduino. LCD (Liquid Cristal Display) adalah salah satu jenis display
elektronik yang dibuat dengan teknologi CMOS logic yang bekerja dengan tidak
menghasilkan cahaya tetapi memantulkan cahaya yang ada di sekelilingnya terhadap front-
lit atau mentransmisikan cahaya dari back-lit.
- LCD 1602 Dengan I2C. I2C/TWI LCD 1602, merupakan modul yang dipakai untuk
mengurangi penggunaan kaki di LCD 1602. ... SCL : MerupakanI2C clock dan dihubungkan
ke pin analog A5 pada

-
Gambar 11. LCD16*2 dengan I2C

9
13. 14/08/2019 - Mengoprasikan LoadCell
- Memahami Loadcell Modul

Kesimpulan :
Load cell adalah sebuah alat uji perangkat listrik yang dapat mengubah suatu energi menjadi
energi lainnya yang biasa digunakan untuk mengubah suatu gaya menjadi sinyal listrik.

Gamber 12. Loadcell

Program Loadcell set 10Kg dengan Keypad :


#include <Wire.h>
#include <LiquidCrystal.h>
#include <LCDKeypad.h>
#include "HX711.h"

LCDKeypad lcd;

int berat; // berat aktual


int alert1 = 800; // relay 1 on
int alert2 = 1000;// realy 2 on
int alert3 = 1100; // buzzer on
int relay1 = 11;
int relay2 = 12;
int buzzer = 13;

int adc_kunci_val[5] = {50, 200, 400, 600, 800 };


int jumlah_kunci = 5;
int adc_kunci_in;
int kunci = -1;
int old_kunci = -1;

10
int pilih = 0;
int proses;
int gnd = A1;
int vcc = A4;
float kalibrasi = 1.20;

HX711 scale(A2, A3);//(DOUT, SCK);

void setup() {

pinMode(gnd, OUTPUT); analogWrite(gnd, 0);


pinMode(vcc, OUTPUT); analogWrite(vcc, 254);
pinMode(relay1, OUTPUT); digitalWrite(relay1, LOW);
pinMode(relay2, OUTPUT); digitalWrite(relay2, LOW);
pinMode(buzzer, OUTPUT); digitalWrite(buzzer, HIGH);
delay(100);
digitalWrite(buzzer, LOW);
delay(200);
digitalWrite(buzzer, HIGH);
delay(100);
digitalWrite(buzzer, LOW);
digitalWrite(relay1, HIGH);
digitalWrite(relay2, HIGH);

lcd.begin(16, 2);
lcd.clear();
lcd.setCursor (0, 0);
lcd.print("Load Cell 10kg");
lcd.setCursor (0, 1);
lcd.print("Driver HX711");
delay(2000);
scale.set_scale();
scale.set_scale(-228.f);
scale.tare();
proses = 1;
}

void main_proses () {
scale.power_down();
delay(500);
scale.power_up();
int b = (scale.get_units());

11
lcd.clear();
lcd.setCursor (0, 0);
berat = b * kalibrasi;
if (berat <= 0) berat = 0;
lcd.print(berat);
lcd.print(" gram");

if (berat >= alert1){


digitalWrite(relay1, LOW);
}else digitalWrite(relay1, HIGH);

if (berat >= alert2){


digitalWrite(relay2, LOW);
}else digitalWrite(relay2, HIGH);

if (berat >= alert3){


digitalWrite(buzzer, HIGH);
}else digitalWrite(buzzer, LOW);
}

int ambil_kunci(unsigned int input)


{
int k;
for (k = 0; k < jumlah_kunci; k++)
{
if (input < adc_kunci_val[k])
{
return k;
}
}
if (k >= jumlah_kunci)k = -1;
return k;
}

void baca_kunci () {
adc_kunci_in = analogRead(0);
kunci = ambil_kunci(adc_kunci_in);
if (kunci != old_kunci)
{
delay(50);
adc_kunci_in = analogRead(0);
kunci = ambil_kunci(adc_kunci_in);

12
if (kunci != old_kunci)
{
old_kunci = kunci;
if (kunci >= 0)
{
if (kunci == 0) kanan();
if (kunci == 1) atas();
if (kunci == 2) bawah();
if (kunci == 3) kiri();
if (kunci == 4) {
pilih += 1;
pilih_setting ();
proses = 0;
lcd.setCursor(15, 1);
lcd.print(pilih);
}
}
}
}
delay(100);
}

void kanan() {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("KANAN");
}

void pilih_setting () {
if (pilih > 3) pilih = 1;
if (pilih == 1)set_alert1();
if (pilih == 2)set_alert2();
if (pilih == 3)set_alert3();
}

void atas() {
switch (pilih)
{ case 1: alert1 += 100; set_alert1 (); break;
case 2: alert2 += 100; set_alert2 (); break;
case 3: alert3 += 10; set_alert3 (); break;
}
}

13
void bawah() {
switch (pilih)
{ case 1: alert1 -= 100; set_alert1 (); break;
case 2: alert2 -= 100; set_alert2 (); break;
case 3: alert3 -= 10; set_alert3 (); break;
}
}

void kiri() {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Simpan Data");
delay(2000);
proses = 1;
pilih = 0;
}

void set_alert1 () { // relay 1


lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Input Alert1 :");
lcd.setCursor(0, 1);
lcd.print(alert1);
lcd.print(" gram");
}

void set_alert2 () { // relay 2


lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Input Alert2 :");
lcd.setCursor(0, 1);
lcd.print(alert2);
lcd.print(" gram");
}

void set_alert3 () { // buzzer


lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Input Alert3 :");
lcd.setCursor(0, 1);
lcd.print(alert3);

14
lcd.print(" gram");
}

void loop() {
baca_kunci ();
if (proses == 1) main_proses ();
}
14. 15/08/2019 Penyuluhan bersama ketua jurusan
dan sekertaris jurusan teknik elektro
di purbaratu mengenai alat alat
tenun .
Kesimpulan : Melakukan Penyuluhan bersama ketua jurusan di teknik elektro yang betujuan
guna untuk memberikan wawasan kepada masyarat agar lebih bisa menggunakan alat tenun
semi otomatis

Gambar 13. Penyuluhan alat tenun

TTD
Hari ke Tanggal Item Kegiatan Pembimbing
lapangan
15. 16/08/2019 Seminar T.A mengenai alat pakan ikan
otomatis

15
Kesimpulan :Menambah wawasan dan pengetahuan alat pakan ikan yang sesuai dengan projek
alat yang sedang saya buat

16. 19/08/2019 - Mencari referensi mengenai HX711


- Mencari materi arduino tentang HX711

Kesimpulan :
HX711 adalah modul timbangan, yang memiliki prinsip kerja mengkonversi perubahan
yang terukur dalam perubahan resistansi dan mengkonversinya ke dalam besaran tegangan
melalui rangkaian yang ada.
Inisialisasi dan Tampilan Awal
Inisialisasi dan tampilan awal terdiri atas inisialisasi pin modul HX711, inisialisasi keempat
pushbutton (sw1..4), inisialisasi LCD dan tampilan awal masuk sistem. Mode pin diset dengan
mengatur nilai DDR menjadi 1 untuk output dan 0 untuk input. Resistor pullup diaktifkan untuk
setiap pin input.

Inisialisasi pin modul HX711 mencakup pengesetan pin untuk SCK sebagai output dan pin
untuk DT sebagai input. Mikrokontroller akan mengirimkan sinyal clock melalui pin SCK ke
HX711. Sinyal clock ini menentukan bit data dan gain yang diberikan oleh HX711 melalui pin
DT.

Setelah inisiasi pushbutton, inisiasi LCD dilakukan dengan fungsi lcd_init(LCD_DISP_ON).


Kami menggunakan library LCD HD44780U oleh Peter Fleury. Tulisan untuk tampilan awal
adalah ”Sistem Pengukur” ”Berat Muatan” yang tampil selama lima detik.

Selanjutnya sistem masuk ke fungsi calibrate().

Fungsi calibrate()
Fungsi calibrate() adalah fungsi yang melakukan kalibrasi dengan memproses variabel sample
dan val.

16
Masuk ke fungsi ini, sistem membaca keluaran HX711 seratus kali saat timbangan tidak diberi
beban dan menyimpan nilai rata-ratanya di variabel sample. Kemudian sistem membaca
keluaran HX711 saat diberi beban acuan kemudian menguranginya dengan variabel sample lalu
menyimpannya di variabel val. Variabel val selanjutnya dibagi 100 dan dibagi lagi dengan nilai
berat acuan dalam gram untuk kemudian digunakan menkonversi keluaran HX711 ke gram.

Variabel sample dapat dikatakan merupakan keluaran HX711 tanpa beban atau beban
platform timbangan. Variabel val merupakan faktor konversi keluaran HX711 ke gram. Kedua
variabel ini berguna untuk membaca dan menampilkan nilai beban.

Fungsi ini dapat dipanggil ketika sistem sedang berjalan dengan memencet tombol sw4
sehingga kalibrasi ulang dapat dilakukan tanpa perlu mereset mikrokontroller. Hal ini dilakukan
dengan oleh conditional statement keempat dalam bagian loop program utama. Masuk ke
rekalibrasi seluruh variabel count, sample, val dan berat direset menjadi nol untuk dihitung
kembali.

Membaca dan Menampilkan Beban


Pembacaan beban dilakukan dengan mengeksekusi fungsi readCount() dan menyimpan nilai
keluarannya ke variabel count. Nilai beban kemudian dihitung dengan memperoleh selisih
variabel count (nilai beban keluaran HX711) dengan sample (nilai platform timbangan keluaran
HX711) lalu membaginya dengan faktor konversi val sehingga diperoleh nilai beban dalam
gram.

Fungsi readCount() bekerja sesuai referensi pada datasheet HX711. Pertama dikirimkan sinyal
digital LOW ke SCK HX711. Selanjutnya sistem menunggu keluaran DT HIGH yang artinya
modul siap menerima data. Kemudian selama duapuluh empat kali sistem mengirimkan sinyal
HIGH lalu LOW ke pin SCK dan menggeser nilai variabel Count sebanyak satu bit ke kiri lalu
menambahkannya dengan 1 untuk tiap nilai DT HIGH. Lalu sinyal HIGH dan LOW yang ke-25
dikirimkan ke pin SCK dan Variabel Count di-XOR-kan dengan 0x800000 untuk memperoleh
hasil akhir Count.

Nilai beban ditampilkan dengan terlebih dulu mengubah nilai integer ke char dengan fungsi
sprintf(buffer, “%i”, berat). Buffer adalah matriks char berlebar 10. Setelah diubah, nilai
ditampilkan dengan fungsi lcd_puts(buffer) seperti halnya char atau string biasa. Konversi dari
integer ke char perlu dilakukan karena library LCD 16×2 yang kami gunakan tidak memiliki
fungsi yang langsung menampilkan integer.

17
Beban Truk dan Muatan
Untuk memperoleh beban muatan pertama dilakukan pembacaan dan penyimpanan nilai beban
truk dengan muatan dan beban truk tanpa muatan. Tiga proses yang terpisah: untuk membaca
beban truk dengan muatan, untuk membaca beban truk tanpa muatan dan untuk menghitung
beban muatan ditulis dalam tiga conditional statement yang berbeda. Masing-masing
conditional statement dikaitkan ke pembacaan switch 1, switch 2 dan switch 3.

Pembacaan beban dilakukan seperti biasa dengan beban disimpan ke variabel tr_mt untuk
beban truk dan muatan, variabel tr untuk beban truk dan variabel mt untuk beban muatan. Beban
muatan dihitung dengan mengurangi variabel tr_mt dengan variabel mt.

Gamber14. HX711
Coding HX711 :

#include "HX711.h"
#define DOUT A0
#define CLK A1
HX711 scale(DOUT, CLK);
float calibration_factor = 650;
int GRAM;

void setup() {
Serial.begin(9600);
Serial.println("tekan a,s,d,f untuk menaikan calibration_factor ke 10,100,1000,10000");
Serial.println("tekan z,x,c,v untuk menurunkan calibration_factor ke 10,100,1000,10000");
Serial.println("Tekan T untuk Tare");
scale.set_scale();
scale.tare();
long zero_factor = scale.read_average();
Serial.print("Zero factor: ");
Serial.println(zero_factor);

18
delay(1000);
}

void loop() {
scale.set_scale(calibration_factor);
GRAM = scale.get_units(), 4;
Serial.print("Reading: ");
Serial.print(GRAM);
Serial.print(" Gram");
Serial.print(" calibration_factor: ");
Serial.print(calibration_factor);
Serial.println();

if (Serial.available()) {
char temp = Serial.read();
if (temp == '+' || temp == 'a')
calibration_factor += 0.1;
else if (temp == '-' || temp == 'z')
calibration_factor -= 0.1;
else if (temp == 's')
calibration_factor += 10;
else if (temp == 'x')
calibration_factor -= 10;
else if (temp == 'd')
calibration_factor += 100;
else if (temp == 'c')
calibration_factor -= 100;
else if (temp == 'f')
calibration_factor += 1000;
else if (temp == 'v')
calibration_factor -= 1000;
else if (temp == 't')
scale.tare();
}
}

17. 20/08/2019 - Menggabungkan HX711 dan Loadcell


Arduino
- Mecoba menimbang dan menyalakan
LED

19
Kesimpulan : Menggabungkan anta hx711 dengan modul Loadcell dimana ini akan berfungsi
sebagai pengkalibrasian antara loadcell dengan hx711 . hx711 akan lebih menyetabilkan arus
yang diberikan oleh loadcell yang akan dimunculkan ke lcd I2C 16*2

Gambar15. Hx711 dan Loadcell

Coding Led Dan LOAD CELL

// Hx711.DAT - pin #A1


// Hx711.CLK - pin #A0

#include "HX711.h"
#define led 8

HX711 scale_1(A1, A0);

float calibration_factor_1 = 625; // this calibration factor is adjusted according to my load cell
float units;
float units_1;
float units_2;
float ounces;
float ounces_1;
float ounces_2;

void setup() {
Serial.begin(9600);
Serial.println("HX711 calibration sketch");
Serial.println("Remove all weight from scale");
Serial.println("After readings begin, place known weight on scale");
Serial.println("Press + or a to increase calibration factor");
Serial.println("Press - or z to decrease calibration factor");

20
scale_1.set_scale();
scale_1.tare(); //Reset the scale to 0

long zero_factor_1 = scale_1.read_average(); //Get a baseline reading

Serial.print("Zero factor 2: "); //This can be used to remove the need to tare the scale. Useful in
permanent scale projects.
Serial.println(zero_factor_1);
}

void loop() {

scale_1.set_scale(calibration_factor_1); //Adjust to this calibration factor

Serial.println();

units_1 = scale_1.get_units(), 10;


if (units_1< 0)
{
units_1 = 0.00;
}
ounces_1 = units_1 * 0.035274;
Serial.print(units_1);
Serial.print(" grams");
Serial.print(" calibration_factor: ");
Serial.print(calibration_factor_1);
Serial.println();
Serial.print("Reading 1: ");

if (units_1>1000)
{
digitalWrite(led,HIGH);
}

if(Serial.available())
{
char temp = Serial.read();

21
if(temp == 'x')
calibration_factor_1 += 5;
else if(temp == 'z')
calibration_factor_1 -= 5;
else if(temp == 's')
calibration_factor_1 += 10;
else if(temp == 'a')
calibration_factor_1 -= 10;
else if(temp == 'w')
calibration_factor_1 += 50;
else if(temp == 'q')
calibration_factor_1 -= 50;
else if(temp == '2')
calibration_factor_1 += 100;
else if(temp == '1')
calibration_factor_1 -= 100;

delay(1000);
}

Pada coding diatas akan didapat kesimpulan maka pada saat beban yang telat di set dan akan
melebihi kapasitas yang telah di setting amaka si loadcell akan memberikan sinyak kepada led
yang akan menyala. Yang dimana akan membuat katup atas atau shaff linear rod akan berjalan

18. 21/08/2019 Mengantar rekan 1 KP ke Purbaratu


untuk melihat dan menanyakan
tenatang projek yang akan dibuatnya

Kesimpulan :
Disini saya mengantar 1 rekan KP ke tempat Projeck yang akan dibuat

22
Gambar16. Alat tenun tampak atas Gambar17. Alat tenun tampak samping

Dari hasil observasi dapat diketahui bahwa pada mekanik alat tenun mendong semi

otomatis terbagi mejadi tiga bagian ;

1. Pengepress / Pemasok

Bagian ini berfungsi sebagai tangan yang akan mengepress mendok yang dimasukan

oleh pengrajin. Komponen yang digunakan untuk mentrigger alat ini adalan sensor infra

merah e18-d80nk yang memberikan sinyal ke kontrol lalu akan digerakan oleh motor dc.

Dihubungkan dengan besi lalu pada motornya diberi piringan logam agar 1 putaran motor

dapat memberikan gerakan maju mundur pada tangan pengepress.

2. Penyulam

Bagian ini berfungsi sebagai penalan benang yang terlilit ke gulungan. Tangan

penyulam sendiri terdiri dari 2 bagian yaitu bagian depan dan belakang. Dimana bagian

belakan diberi baut sebagai penitik agar dapat terbaca oleh sensor proximity induktif.

Bagian peyulam menggunakan 3 sensor proximity induktif, dimana setiap sensor akan

berkomunikasi untuk membuat tangan penyulam ini bergerak. Sama seperti halnya bagian

pengepress, bagian ini juga dihubungkan dengan besi lalu pada motornya diberi piringan

logam agar 1 putaran motor dapat memberikan gerakan maju mundur pada tangan

pengepress.

23
3. Penggulung

Bagian penggulung merupakan 2 buah pipa besi yang diletakan di depan dan belakang mekanik
alat. Pada penggulung belakang ditambahkan sistematika kopling, yaitu sebuah alat penahan
gesekan agar perputaran penggulung belakang berat. Ini dimaksudkan agar benar yang anyaman
diantara penggulung ini tetap pada konsidi tegang, agar benang anyaman tidak kendor saat
proses penyulamanan. Penggulung depan digerakan oleh motor dc yang dihubungkan oleh
rantai besi, ditambahkan penitik dari baut untuk pemberi sinyal kepada sensor proximity
induktif.

19. 22/08/2019 Membantu teman rekan 1 Kp membuat


coding sensor ultrasonik

Kesimpulan : Sensor infra merah e18-d80nk digunakan untuk memberikan input bahwa

mendong telah telah dimasukan kedalam anyaman, lalu akan didorong oleh tangan mekanik

bagian pengepress yang digerakan oleh motor DC.

Gambar18. Sensor Proxymity

Program Sensor Ultrasonik :

1. int e18d80_pin = 8;
2. void setup() {
3. Serial.begin(9600);
4. pinMode( e18d80_pin , INPUT);
5.
6. }
7.
8. void loop() {

24
9.
10. int val = digitalRead( e18d80_pin );
11.
12. if( val == 1 ){
13. Serial.println("Val = 1 Not Found Object");
14. delay(500);
15. }else{
16. Serial.println("Val = 0 Found Object!");
17. delay(500);
18. }
19.
20. }

Pada sensor tersebut kabel warna coklat sebagai VCC, biru GND dan hitam sebagai

data. Sensot ini dapat mendeteksi adanya hambatan atau tidak, pada kasus alat ini adalah tangan

operator alat tenun mendong otomatis.

20. 23/08/2019 Setting Push button set timer yang


dimulculkan ke LCD16*2
Lajutan dari program sederhana
pushbutton
Kesimpulan : LCD 16*2 adalah penampil interface berbasis string (Tulisan ) yang di outputkan
dari sebuah program arduino , disini saya membuat pushbutton memunculkan sebuah text dan
set tulisan berbasis integer ( angka) yang nanti akan mengatur ke pensettingan waktu.

Gambar19. RTC SET

Program dari puchbutton untuk set timer RTC :


#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DS3231.h>

25
#include <Servo.h>

LiquidCrystal_I2C lcd(0x25,16,2);

#define PB1 3
#define PB2 4
#define PB3 5
#define PB4 6
#define PB5 7
#define led 10
#define relay2 9

Servo servo1;
int angle =0;
int anglestep =0;
int Jam = 15;
int Menit = 21;
int Jamoff = 0;
int Menitoff = 0;

DS3231 rtc(SDA, SCL);


Time t;

int buttonState1 = 0;
int buttonState2 = 0;
int buttonState3 = 0;
int buttonState4 = 0;
int buttonState99 = 0;

void setup() {
// Setup Serial connection
Serial.begin(115200);
// Uncomment the next line if you are using an Arduino Leonardo
//while (!Serial) {}

// Initialize the rtc object


rtc.begin();

// The following lines can be uncommented to set the date and time
//rtc.setDOW (TUESDAY); // Set Day-of-Week to SUNDAY
//rtc.setTime (15, 35, 05); // Set the time to 18:00:00 (24hr format)

26
//rtc.setDate ( 8, 27, 2019); // Set the date to May 25rd, 2017

pinMode(led, OUTPUT);
pinMode(relay2, OUTPUT);

pinMode(PB1, INPUT);
pinMode(PB2, INPUT);
pinMode(PB3, INPUT);
pinMode(PB4, INPUT);
pinMode(PB5, INPUT);
}

void loop() {
t = rtc.getTime();

Serial.print(" hour(s), ");


Serial.print(Jam);
Serial.print(" minute(s)");
Serial.print(Menit);
Serial.println(" ");

buttonState3 = digitalRead(PB3);
if (buttonState3 == HIGH) {
Jam ++;
delay(200);
if (Jam>=24)
{Jam =0;
}

buttonState4 = digitalRead(PB4);
if (buttonState4 == HIGH) {
Menit ++;
delay(200);
if (Menit>=60)
{Menit =0;
delay(200);
}

}
if(t.hour == Jam && t.min == Menit){

27
digitalWrite(led, HIGH);
Serial.println("LIGHT ON");
}

}
21. 26/08/2019 -mencoba penggunaan RTC
-menampilkan waktu dan tanngal pada
LCD16*2

Kesimpulan : RTC ( Real Time Clock ) ini adalah modul arduino UNO yang berfungsi sebagai
waktu yang sesuai dengan zona yang telah di atur ( GMT+7 untuk waktu Indonesia Jakarta ).
Fungsi dari percobaan diatas nantinya akan menmapilkan waktu dan tanggal agar
mempermudah penggunaan system alat mesiin otomatis

Gambar20. RTC Dan LCD16*2

Program RTC dan LCD I2C :

#include <Wire.h>
#include "RTClib.h"

RTC_DS1307 rtc;

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Wire.begin();

rtc.begin();

if (! rtc.isrunning())
{

28
Serial.println("RTC is Not running");
}
}

void loop() {
// put your main code here, to run repeatedly:
DateTime now = rtc.now();
// Serial.println(now,DEC);
Serial.print(now.day());
Serial.print("/");
Serial.print(now.month());
Serial.print("/");
Serial.print(now.year());
Serial.print(" ");
Serial.print(now.hour());
Serial.print(":");
Serial.print(now.minute());
Serial.print(":");
Serial.println(now.second());
delay(1000);
}

29
TTD
Hari ke Tanggal Item Kegiatan Pembimbing
lapangan
22. 27/08/2019 Merancng Flowchart dari alat pakan
ikan otomatis

Gamabar21. Flowchat Sistem Alat Pakan Ikan

Penjelasan
1. Mengisikan tanki dengan pakan ikan
2. Lalu melakaukan tahan prosess kepada motor servo yang akan membuka katup atas
3. Ketika sudah menimbang berat dengan yang sesuai dengan yang di set pada valve atas
maka akan membuka servo
4. Setelah adanya daya listrik yang sesuai oleh motor servo maka pakn ikan akan turun
kebawah
5. Setelah masuk kebawah maka akan masuk ke pelontar dan akan disebarkan oleh
pelontar.

30
23. 28/08/2019 -Mencoba penggunaan RTC
-Mencoba menyalakan motor servo
berdasarkan waktu

Kesimpulan :
Disini saya mecoba menggerakkan motor servo dengan RealTime dimana pada saat jam
tertentu motor yang sudah di set pada jam tertentu akan berkerja atau memutar sesuai program
yang sudah di setiing di dalam mikrokontroller.
Merupakan singkatan dari Real-Time Clock, RTC adalah jam bertenaga baterai yang termasuk
dalam sebuah microchip pada Motherboard komputer yang biasanya terpisah dari mikroprosesor
serta chip lainnya, dan sering disebut sebagai “CMOS” (Complementary Metal-Oxide
Semiconductor) berdasarkan simpulan Kami yang bersumber dari Situs Techtarget.
CMOS merupakan memori kecil yang terdapat pada microchip RTC yang menyimpan deskripsi
sebuah sistem atau nilai set (pengaturan), termasuk nilai current-time (waktu saat ini).

Gambar22. RTC dan Motor Servo

#include <DS1302.h>
#include <Servo.h>
Time t;
Servo myservo;
int Hour;
int Min;
int Sec;
// Init the DS1302
DS1302 rtc(2, 3, 4);

31
void setup()
{
myservo.attach(9);
myservo.write(45);
// Set the clock to run-mode, and disable the write protection
rtc.halt(false);
rtc.writeProtect(false);
Serial.begin(9200);
// The following lines can be commented out to use the values already stored in the DS1302
rtc.setDOW(SUNDAY); // Set Day-of-Week to SUNDAY
rtc.setTime(8, 59, 50); // Set the time to 12:00:00 (24hr format)
rtc.setDate(8, 25, 2019); // Set the date to August 25th, 2019
}

void loop()
{
t = rtc.getTime();
Hour = t.hour;
Min = t.min;
Sec = t.sec;
// Serial.print(Hour);
// Serial.print(":");
// Serial.print(Min);
// Serial.print(":");
// Serial.println(Sec);

//set the time for fish feeding


if ((Hour== 10 && Min== 0 && Sec== 2)||(Hour== 21 && Min== 0 && Sec== 2)) {
myservo.write(0);
delay (300);
myservo.write(45);
delay (300);}
}
24. 29/08/2019 Mengubah model katup dengan rod
linear shaff

Kesimpulan :
Merubah katu bawah dari semula berbentuk menyerupai kipas dirubah menjadi horizontal
menggunakan linear shaff rod yang bertujuan untuk mengurangi kemacetan apabila ada pakan
ikan

32
Gambar23. Shaff Linear Rod

25. 30/08/2019 Membuat coding dan menggunakan


modul L289N

Kesimpulan :
Disini saya menggunakan modul L289N dimana fungsinya untuk mengontrol putaran motorDC
dan mengatur arah putarab motor DC
Fungsi dari modul L289N
1.Mengontrol kecepatan motor DC
2.Mengontrol arah putaran motor DC
3.Mengontrol kecepatan motor stepper
4.Mengontrol arah putaran motor stepper
Pengertian IC dari L289N :
L298N : Merupakan IC utama pada module ini yaitu IC yang didesain sebagai IC dual H-
Bridge driver motor (mampu mengendalikan dua motor sekaligus) dengan desain berdiri
sehingga dengan mudah bisa dipasangi pendingin untuk menjaga ketahanan dari panas akibat
pemakaian. Data Sheetnya DOWNLOAD
78M05 : Merupakan IC regulator 5V (IC 7805 versi SMD) yang diperuntukan sebagai supply
alternativ IC utama yaitu IC L298N, IC regulator ini merubah tegangan yang masuk pada Pin
Soket +12V menjadi tegangan 5V sebagai Supply Vss IC L298N. Ingat bahwa IC L298N hanya
akan berfungsi jika kaki Vcc diberi supply sebesar 5V). Namun demikian IC regulator 78M05
ini idealnya disupply dengan tegangan minimum 7.5V, sehingga jika tegangan pada Pin Soket
kurang dari 7.5V maka output dari IC regulator ini tidak setabil atau bahkan kurang dari 5V
yang dapat mengakibatkan fungsi dari IC utama terganggu. Download DataSheet-nya simak

33
penjelasan lanjutan pada bagian Rule Powering dan Jumper
Supply yang dibutuhkan L289N :
Soket Supply 5-35V : Merupakan Soket (Pin) Supply Voltage dimana besaran tegangan yang
kita masukan disesuaikan dengan karakteristik dari motor DC yang kita gunakan.
GND : Ground
5V : Merupakan soket (Pin) 5V dimana jalur dari soket ini terhubung dengan kaki Vss dari IC
L298N. Penjelasan mengenai kegunaan dan kapan kita gunakan soket 5V ini akan dibahas lebih
lanjut.

Gambar24. L289N

//Joystick Pins
int x_key = A0;
int y_key = A1;
int x_pos;
int y_pos;
//Motor Pins
int EN_A = 11; //Enable pin for first motor
int IN1 = 9; //control pin for first motor
int IN2 = 8; //control pin for first motor
int IN3 = 7; //control pin for second motor
int IN4 = 6; //control pin for second motor
int EN_B = 10; //Enable pin for second motor
//Initializing variables to store data
int motor_speed;
int motor_speed1;
void setup ( ) {
Serial.begin (9600); //Starting the serial communication at 9600 baud rate
//Initializing the motor pins as output

34
pinMode(EN_A, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(EN_B, OUTPUT);
//Initializng the joystick pins as input
pinMode (x_key, INPUT) ;
pinMode (y_key, INPUT) ;
}
void loop () {
x_pos = analogRead (x_key) ; //Reading the horizontal movement value
y_pos = analogRead (y_key) ; //Reading the vertical movement value

if (x_pos < 400){ //Rotating the left motor in clockwise direction


motor_speed = map(x_pos, 400, 0, 0, 255); //Mapping the values to 0-255 to move the
motor
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
analogWrite(EN_A, motor_speed);
}
else if (x_pos>400 && x_pos <600){ //Motors will not move when the joystick will be at
center
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
}

else if (x_pos > 600){ //Rotating the left motor in anticlockwise direction
motor_speed = map(x_pos, 600, 1023, 0, 255);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
analogWrite(EN_A, motor_speed);
}

if (y_pos < 400){ //Rotating the right motor in clockwise direction


motor_speed1 = map(y_pos, 400, 0, 0, 255);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
analogWrite(EN_B, motor_speed1);
}
else if (y_pos>400 && y_pos <600){
digitalWrite(IN3, LOW);

35
digitalWrite(IN4, LOW);
}

else if (y_pos > 600){ //Rotating the right motor in anticlockwise direction
motor_speed1 = map(y_pos, 600, 1023, 0, 255);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(EN_B, motor_speed1);
}
}

26. 03/09/2019 Mecoba memutar arahkan katup atas (


shuff linear rod ) dengan motor DC
encoder

Kesimpulan :
Melakukan percobaan untuk mengendalikan shafflinear rod memaju dan memundurkan
shafflinear dengan program motor dc linear rod

Berikut adalah program motor dc dengan linear rod :


int ledPin = 13; // LED connected to digital pin 13
int inPin = 2; // encoder output connected to digital pin 2
int val = 0; // variable to store the read value
int counter = 0;
int encoderLast = LOW;

void setup() {
digitalWrite(inPin,HIGH); // pul up arduino
pinMode(ledPin, OUTPUT); //pin 13set to output
pinMode (inPin,INPUT); //pin 2 set to input
Serial.begin(9600); //to serial monitor
}

void loop() {
val = digitalRead(inPin); // read the input pin
digitalWrite(ledPin, val); // sets the LED when encoder works
if((encoderLast == LOW)&&(val==HIGH))
{
counter++;

36
Serial.println(counter); //write in serial monitor
}
encoderLast = val;

TTD
Hari ke Tanggal Item Kegiatan Pembimbing
lapangan
27. 05/09/2019 Memutarkan arahkan motor DC
Encode dengan Limit Swicth Arduino

Kesimpulan :
Disini pada saat limit switch ditekan perputarannya akan berubah arah dimana ini akan berfungsi
sebagai naik turunnya pada shaff rod linear dan fungsi dari limit swith adalah untuk mengubah
putaran arah dari shaff linear rod

Gambar25. Limitswitch dan motor DC encoder

const int motorbutton = 7;


int oldButtonState;
int motorDirection = 0;

void setup() {
Serial.begin(9600);
pinMode(motorbutton, INPUT_PULLUP);
oldButtonState = digitalRead(motorbutton);
pinMode(10, OUTPUT);

37
pinMode(11, OUTPUT);

void loop() {
int newButtonState = digitalRead(motorbutton);
delay(50);
if (newButtonState != oldButtonState) {
if (newButtonState == LOW) {
Serial.println("Motor Button just pressed");
motorDirection = !motorDirection;
if (motorDirection)
motorclockwise();
else
motoranticlockwise();
}
}

oldButtonState = newButtonState;
}

void motorclockwise() {
digitalWrite(10, HIGH);
digitalWrite(11, LOW);

void motoranticlockwise() {
digitalWrite(10, LOW);
digitalWrite(11, HIGH);

}
28. 04/09/2019 Pnegujian Pelontar motor DC

Kesimpulan : Disini saya melakuka pengujian pelontar pakan ikan dengan motor dc yang
dipasngkan dengan pully dimana pully tersebut akan memutarkan kincir yang ada pada bagian
pelontar. Didalam pengujian ini menggunakan power suplly 24v dengan potensio 100% dimana
putaran kecepatan motornya mencapai 200Rpm

38
Gambar26. MotorDc , Pully, pelontar

29. 05/09/2019 Pnegkodingan Motor DC dengan


Potensiometer

Kesimpulan :
Disini saya melakukan pengkodingan pengaturan motor DC yang ada pada peontar menggukanan
potensio dimana agar kecepatan RPM yang dihasilkan bisa di atur 100% ,75% ataupun ,50%

Struktur Potensiometer beserta Bentuk dan Simbolnya

Pada dasarnya bagian-bagian penting dalam Komponen Potensiometer adalah :

1. Penyapu atau disebut juga dengan Wiper


2. Element Resistif
3. Terminal

Jenis-jenis Potensiometer

Berdasarkan bentuknya, Potensiometer dapat dibagi menjadi 3 macam, yaitu :

1. Potensiometer Slider, yaitu Potensiometer yang nilai resistansinya dapat diatur dengan
cara menggeserkan Wiper-nya dari kiri ke kanan atau dari bawah ke atas sesuai dengan

39
pemasangannya. Biasanya menggunakan Ibu Jari untuk menggeser wiper-nya.
2. Potensiometer Rotary, yaitu Potensiometer yang nilai resistansinya dapat diatur dengan
cara memutarkan Wiper-nya sepanjang lintasan yang melingkar. Biasanya menggunakan
Ibu Jari untuk memutar wiper tersebut. Oleh karena itu, Potensiometer Rotary sering
disebut juga dengan Thumbwheel Potentiometer.
3. Potensiometer Trimmer, yaitu Potensiometer yang bentuknya kecil dan harus
menggunakan alat khusus seperti Obeng (screwdriver) untuk memutarnya. Potensiometer
Trimmer ini biasanya dipasangkan di PCB dan jarang dilakukan pengaturannya.

Prinsip Kerja (Cara Kerja) Potensiometer

Sebuah Potensiometer (POT) terdiri dari sebuah elemen resistif yang membentuk jalur (track)
dengan terminal di kedua ujungnya. Sedangkan terminal lainnya (biasanya berada di tengah)
adalah Penyapu (Wiper) yang dipergunakan untuk menentukan pergerakan pada jalur elemen
resistif (Resistive). Pergerakan Penyapu (Wiper) pada Jalur Elemen Resistif inilah yang mengatur
naik-turunnya Nilai Resistansi sebuah Potensiometer.

Elemen Resistif pada Potensiometer umumnya terbuat dari bahan campuran Metal (logam) dan
Keramik ataupun Bahan Karbon (Carbon).

Berdasarkan Track (jalur) elemen resistif-nya, Potensiometer dapat digolongkan menjadi 2 jenis
yaitu Potensiometer Linear (Linear Potentiometer) dan Potensiometer Logaritmik (Logarithmic
Potentiometer)

Fungsi-fungsi Potensiometer

Dengan kemampuan yang dapat mengubah resistansi atau hambatan, Potensiometer sering
digunakan dalam rangkaian atau peralatan Elektronika dengan fungsi-fungsi sebagai berikut :

1. Sebagai pengatur Volume pada berbagai peralatan Audio/Video seperti Amplifier, Tape
Mobil, DVD Player.
2. Sebagai Pengatur Tegangan pada Rangkaian Power Supply
3. Sebagai Pembagi Tegangan
4. Aplikasi Switch TRIAC

40
5. Digunakan sebagai Joystick pada Tranduser
6. Sebagai Pengendali Level Sinyal

Gambar27. Wiring motor DC dan Potensiometer

Pengkodingan motor DC dengan Potensio :

const int pinPot = A0;


const int AIN1 = 4;
const int AIN2 = 5;
const int PWM = 9;
int kecepatan = 0;
int sensor = 0;

void setup() {
pinMode(pinPot, INPUT);
pinMode(AIN1, OUTPUT);
pinMode(AIN2, OUTPUT);
pinMode(PWM, OUTPUT);
}
void loop() {
digitalWrite(AIN1, HIGH);
digitalWrite(AIN2, LOW);

sensor = analogRead(pinPot);
kecepatan = map(sensor, 0, 1023, 0, 255);
analogWrite(PWM, kecepatan);
}

41
30. 06/09/2019 Evaluasi Projek Yang sedang dilakukan
( Alat Pakan Ikan Otomatis )

Kesimpulan :
Evaluasi proyek dilakukan setelah melakukan pengujian rangkaian dari alat pakan ikan otomatis.
Evaluasi dilakukan untuk menilai rangkaian yang dibuat ini berfungsi dengan baik atau tidak, bila
ditemukan adanya kekurangan pada rangkian tersebut maka akan diperbaiki.
Berikut merupakan hasil dari evaluasi rangkaian alat pakan ikan otomatis ini:
1. Sering adanya tegangan berlebih yang diberikan modul HX711 ke arduino UNO dan membuat
arduino menjadi tidak stabil dan harus melakukan pengkalibrasian ulang agar Gram/Kg pakan
bias sesuai dengan yang di harapkan.
2. Motor DC yang digunakan berjenis Encoder yang membuat putaran pada Shaff Linear Rod
melambat karena perputaran yang dihasilkan oleh motor DC encoder sangat lambat
3. Sering terjadi loss komunikasi antar sensor yang antar yang lainnya dikarenakan kabel yang
digunakan sering mengalami kelonggaran yang mengakibatkan loss antar komunikasi sensor.

42
LANDASAN TEORI
1. Arduino Uno R3
Arduino uno merupakan salah satu platform arduino menggunakan
mikrokontroler Atmega328 yang memiliki jumlah pin input output digital 14
dan input analog 6 dengan tegangan sumber arduino 6 sampai 20 volt .

Gambar28. Perangkat keras arduino uno


Mikrokontroler tersebut sangat mudah digunakan dan bersifat open source
menggunakan bahasa pemrograman C++ dengan menggunakan perangkat lunak
Integrated Development Environment (IDE) arduino .

2. LCD ( Liquid Crystal 16*2 )


LCD 16x2 dengan Arduino. LCD (Liquid Cristal Display) adalah
salah satu jenis display elektronik yang dibuat dengan teknologi CMOS
logic yang bekerja dengan tidak menghasilkan cahaya tetapi
memantulkan cahaya yang ada di sekelilingnya terhadap front-lit atau
mentransmisikan cahaya dari back-lit.

Gambar29. Lcd 16*2

43
3. LoadCell arduino dengan sensor HX711

Gambar30. Loadcell dan HX711

Load Cell merupakan komponen utama pada sistem timbangan digital.


Bahkan tingkat ke-akurasian suatu timbangan digital tergantung dari jenis dan tipe
Load Cell yang dipakai.
Setiap timbangan harus lulus legalisasi oleh badan Direktorat Metrologi,
yaitu suatu badan yang berwenang untuk melegalisasikan atau men-sahkan
timbangan melalui sistem TERA. Setiap timbangan diharuskan melakukan TERA
maksimal satu tahun sekali, karena semua timbangan dalam proses pemakaiannya
pada jangka waktu tertentu akan mengalami deformasi mekanis pada frame
timbangan, ini akan berpengaruh terhadap tingkat ke-akurasian
dari loadcell pada timbangan.
Load Cell merupakan sensor berat, apabila Load cell diberi beban pada inti
besinya maka nilai resitansi di strain gauge akan berubah. Umumnya Load cell terdiri
dari 4 buah kabel, dimana dua kabel sebagai eksitasi dan dua kabel lainnya sebagai
sinyal keluaran.
Load Cell adalah alat electromekanik yang biasa disebut Transducer, yaitu
gaya yang bekerja berdasarkan prinsip deformasi sebuah material akibat adanya
tegangan mekanis yang bekerja, kemudian merubah gaya mekanik menjadi sinyal
listrik. Untuk menentukan tegangan mekanis didasarkan pada hasil penemuan Robert
Hooke, bahwa hubungan antara tegangan mekanis dan deformasi yang diakibatkan

44
disebut regangan. Regangan ini terjadi pada lapisan kulit dari material sehingga
menungkinkan untuk diukur menggaunakan sensor regangan atau Strain Gauge.
Load cell terdiri dari beberapa tipe, diantaranya adalah Load Cell Double
Ended Beam, Load Cell Single Ended Beam, Load Cell S Beam, Load Cell single
Point, Load Cell type nister, dan sebagainya. Load Cell yang paling sederhana adalah
load cell yang terdiri dari Bending beam dan strain gauge.
Load Cell Bendig Beam adalah tipe load cell yang paling banyak digunakan
dalam timbangan.
Selama proses penimbangan, beban yang diberikan mengakibatkan reaksi terhadap
elemen logam pada load cell yang mengakibatkan perubahan bentuk secara elastis.
Gaya yang ditimbulkan oleh regangan ini (positif dan negatif) di conversikan
kedalam sinyal listrik oleh strain gauge (pengukur regangan) yang terpasang pada
spring element.
Load cell yang paling sederhana adalah load cell yang terdiri dari bending beam dan
strain gauge. Sering kali komponen tersebut dilengkapi dengan elemen tambahan
(housing, sealing, dll) untuk melindungi elemen strain gauge.

Sedangkan Modul HX711 merupakan modul amplifier (penguat sinyal)


sekaligus modul Analog to Digital Converter (ADC) yang berfungsi untuk
mengondisikan sinyal analog dari sensor load cell sekaligus mengkonversikannya
menjadi sinyal digital.

45
4. MODUL RTC ARDUINO UNO

Gambar31. Modul RTC

RTC (Real Time Clock) merupakan chip IC yang mempunyai fungsi


menghitung waktu yang dimulai dari detik, menit, jam, hari, tanggal, bulan, hingga
tahun dengan akurat. Untuk menjaga atau menyimpan data waktu yang telah di-ON-
kan pada module terdapat sumber catu daya sendiri yaitu baterai jam kancing, serta
keakuratan data waktu yang ditampilkan digunakan osilator kristal eksternal .
Sehingga saat perangkat mikrokontroler terhubung dengan RTC ini sebagai sumber
data waktu dimatikan, data waktu yang sudah terbaca dan ditampilkan tidak akan
hilang begitu saja. Dengan catatan baterai yang terhubung pada RTC tidak habis
dayanya.

5. MOTOR DC

Gambar32. MotorDC

46
Motor Listrik DC atau DC Motor adalah suatu perangkat yang mengubah
energi listrik menjadi energi kinetik atau gerakan (motion). Motor DC ini juga
dapat disebut sebagai Motor Arus Searah. Seperti namanya, DC Motor memiliki
dua terminal dan memerlukan tegangan arus searah atau DC (Direct Current)
untuk dapat menggerakannya. Motor Listrik DC ini biasanya digunakan pada
perangkat-perangkat Elektronik dan listrik yang menggunakan sumber listrik DC
seperti Vibrator Ponsel, Kipas DC dan Bor Listrik DC.

Motor Listrik DC atau DC Motor ini menghasilkan sejumlah putaran per


menit atau biasanya dikenal dengan istilah RPM (Revolutions per minute) dan
dapat dibuat berputar searah jarum jam maupun berlawanan arah jarum jam
apabila polaritas listrik yang diberikan pada Motor DC tersebut dibalikan. Motor
Listrik DC tersedia dalam berbagai ukuran rpm dan bentuk. Kebanyakan Motor
Listrik DC memberikan kecepatan rotasi sekitar 3000 rpm hingga 8000 rpm
dengan tegangan operasional dari 1,5V hingga 24V. Apabile tegangan yang
diberikan ke Motor Listrik DC lebih rendah dari tegangan operasionalnya maka
akan dapat memperlambat rotasi motor DC tersebut sedangkan tegangan yang
lebih tinggi dari tegangan operasional akan membuat rotasi motor DC menjadi
lebih cepat.

6. MOTOR SERVO

Gambar30. Loadcell dan HX711

47
Servo Motor adalah perangkat listrik yang digunakan pada mesin-mesin
industri pintar yang berfungsi untuk mendorong atau memutar objek dengan
kontrol yang dengan presisi tinggi dalam hal posisi sudut, akselerasi dan
kecepatan, sebuah kemampuan yang tidak dimiliki oleh motor biasa. Jika Anda
ingin memutar dan mengarahkan objek pada beberapa sudut atau jarak tertentu,
maka Anda harus menggunakan Servo Motor. Hal ini dimungkinkan dengan
kombinasi motor biasa dan tambahan sensor dalam hal ini berupa encoder untuk
umpan balik posisi. Kontroler dari servo motor yang lebih dikenal dengan nama
servo drive adalah bagian yang paling penting dan canggih dari sebuah servo
motor, karena dirancang untuk presisi tinggi tersebut. Ketika presisi atau
ketelitian pada mesin menjadi hal yang utama pada mesin industri, pemilihan
servo motor menjadi hal yang utama. Kemampuan tingkat akurasi/toleransi
(high precision positioning) dari servo motor adalah indikator utama spesifikasi.
Pada proses mesin pabrik, seperti CNC, servo motor pasti dipakai lebih dari 1
unit pada satu mesin sehingga memerlukan adanya PLC seperti Modicon M262
untuk memberikan perintah secara sinkron semua servo motor. Protokol
komunikasi yang dipakai harus bersifat open protocol untuk memungkinan plc
dan servo motor dari vendor yang berbeda untuk bekerja.

7. Fritzing

Fritzing merupakan perangkat lunak open source untuk perancangan


perangkat keras (elektronik) yang ditujukan untuk mendukung desainer, artis,
ataupun hobyist agar bisa bekerja secara kreatif dengan perangkat elektronik
interakif.

Seperti kutipan di atas, Fritzing ditujukan untuk para artis, desainer,


ataupun pada mereka yang hobi mengutak-atik perangkat elektronik interaktif
seperti arduino dan perangkat dari Sparkfun agar dapat dengan mudah
mendokumentasikan rancangan yang mereka buat. Karena tujuan itu, antarmuka
Fritzing dibuat seinteraktif dan semudah mungkin agar bisa digunakan oleh
orang yang minim pengetahuannya tentang simbol dari perangkat elektronika.
Di dalam Fritzing, sudah terdapat skema siap pakai dari berbagai macam

48
mikrokontroller Arduino serta shieldnya (software ini memang khusus dirancang
untuk perancangan dan pendokumentasian tentang produk kreatif yang
menggunakan mikrokontroller Arduino). Jadi Anda yang hobi mengutak atik
Arduino, akan mendapatkan manfaat yang besar dari perangkat lunak ini.

Gambar 31. Tampilan Fritzing

49
KESIMPULAN

1. Perubahan pembukaan katup menjadi shaff linear rod mejadikan pengurangan

pakan ikan yang tersisa pada alat yang sebelumnya , membuat pakan lebih

effesien.

2. Pelontar yang dihasil kan pada kecepatan ter tentu dapat melontarkan lebih dari

50grm/detik dengan kecepatan 2000rpm

3. Pengujian bertahap dari keseluruhan sensor yang digunakan untuk pakan ikan

otomatis , mulai dari RTC , Loadcell dan HX711, Motor DC , Pelontar pakan

ikan, dimana funsi dan system ini akan mempengaruhi kepada effesien nya waktu

dan pakan yang akan diberikan.

50
DAFTAR PUSTAKA

[1] Dodit Suprianto, “Microcontroller Arduino Untuk Pemula,” ISBN. 978-602-


0823-35-5, 2019.
[2] Power HD (2015) Power HD - HuiDa RC International LimitedLF-20MG.
Available at: http://www.chd.hk/Product_Detail.aspx?id=142 (Accessed: 2
August 2019).
[3] Osoyo, “Use Arduino to drive DS1302 clock module.” [Online]. Available:
https://osoyoo.com/2016/07/26/ds1302_clock_module/. [Accessed: 04-Aug-
2019].
[4] ElectroPeak “weight scale with loadcell arduino.” [Online].
Available:https://create.arduino.cc/projecthub/electropeak/digital-force-gauge-
weight-scale-w-loadcell-arduino-7a7fd5. [Accessed: 20-Aug-2019].
[5] forum.arduino.cc, “MS 4525DO,” 2015. [Online]. Available:
https://forum.arduino.cc/index.php?topic=309653.0. [Accessed: 25-Aug-
2019].

vi

Anda mungkin juga menyukai