Oleh:
NPM : 167002101
i
LEMBAR PENGESAHAAN LAPORAN KERJA PRAKTEK
ALAT PAKAN IKAN OTOMATIS
KERJA PRAKTEK
Oleh:
YAYANG RIZKI AGUSTIAN
167002101
Menyetujui
Tasikmalaya, 1 Desember 2020
Mengetahui,
Nurul Hiron.,S.T,M.Eng
0419087504
i
DAFTAR ISI
DAFTAR ISI........................................................................................................................... ii
KATAPENGANTAR....................................................................................................... iii
ABSTRAK ........................................................................................................................ iv
Judul, Tema, Tempat dan Lokasi KP .................................................................................. v
DAFTARPUSTAKA ............................................................................................................. vi
ii
KATA PENGANTAR
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
langsung maupun tidak langsung, penulis menyampaikan rasa terima kasih kepada
pihak perusahaan yang telah mengijinkan saya melakukan Kerja Praktek, dan dosen
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
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:
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
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
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,
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
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.
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 :
Penggunaan operator kali, bagi, tambah, kurang digunakan dalam pembuatan kalkulator
sederhana.
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
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
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
void setup() {
pinMode (Buzzer, OUTPUT); // Menjadikan pin 8 sebagai OUTPUT
pinMode (PushButton, INPUT); // Menjadikan pin 3 sebagai INPUT
void loop() {
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.
LCDKeypad lcd;
10
int pilih = 0;
int proses;
int gnd = A1;
int vcc = A4;
float kalibrasi = 1.20;
void setup() {
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");
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;
}
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
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
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.
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.
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();
}
}
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
#include "HX711.h"
#define led 8
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
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() {
Serial.println();
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
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
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
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.
Kesimpulan : Sensor infra merah e18-d80nk digunakan untuk memberikan input bahwa
mendong telah telah dimasukan kedalam anyaman, lalu akan didorong oleh tangan mekanik
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
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;
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) {}
// 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();
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
#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
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).
#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);
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
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
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);
}
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);
}
}
Kesimpulan :
Melakukan percobaan untuk mengendalikan shafflinear rod memaju dan memundurkan
shafflinear dengan program motor dc linear rod
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
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
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%
Jenis-jenis Potensiometer
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.
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
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 .
43
3. LoadCell arduino dengan sensor HX711
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.
45
4. MODUL RTC ARDUINO UNO
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.
6. MOTOR SERVO
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
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.
49
KESIMPULAN
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
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
50
DAFTAR PUSTAKA
vi