• Tidak ada hasil yang ditemukan

BAB III PERANCANGAN ALAT. Pada bab ini akan dijelaskan tentang perancangan dari perangkat keras dan perangkat lunak yang digunakan pada sistem.

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III PERANCANGAN ALAT. Pada bab ini akan dijelaskan tentang perancangan dari perangkat keras dan perangkat lunak yang digunakan pada sistem."

Copied!
18
0
0

Teks penuh

(1)

11

BAB III

PERANCANGAN ALAT

Pada bab ini akan dijelaskan tentang perancangan dari perangkat keras dan perangkat lunak yang digunakan pada sistem.

3.1 Gambaran Sistem

Berikut adalah diagram blok gambaran sistem yang dibuat :

Gambar 3.1 Diagram blok perangkat keras

Rancangan alat ini menggunakan power supply sebagai sumber daya utama dengan tegangan sebesar 12 V arus maksimal 5A. Arduino Mega sebagai mikrokontroler membutuhkan akses jaringan wifi untuk dapat terhubung dengan server , oleh karena itu Arduino Mega dihubungkan NodeMCU dengan komunikasi serial. Sebagai masukan utama

(2)

12

dari mikrokontroler adalah dari kartu RFID yang dibaca oleh RFID reader dan load cell untuk mengetahui berat beras pada tangki. Setiap kartu RFID yang terbaca akan diolah mikrokontroler dibandingkan dengan database dan akan ada insert pada tabel database yang hanya dapat dibuka oleh admin. Apabila kartu RFID yang terbaca telah sesuai , motor akan memutar tabung pengeluaran beras. Terdapat 2 buah sensor infrared proximity sensor untuk menentukan putaran tabung pengeluaran beras.

Setiap pemberitahuan dan notifikasi ditampilkan di LCD dan akan terdapat bunyi dari buzzer jika terdapat kesalahan pengambilan atau error pada alat. Tangki beras hanya dapat dibuka oleh kartu admin.

3.2 Perancangan dan Realisasi Perangkat Keras

Berikut merupakan gambaran alat dalam perancangan tugas akhir.

Gambar 3.2 Gambaran Tangki Beras

(3)

13

Gambar 3.4 Mekanisme Pengeluaran Beras 1 Liter

(4)

14

Gambar 3.6 Realisasi Tangki dihubungkan dengan mekanisme pengeluaran beras

(5)

15

Gambar 3.8 Realisasi Alat Tampak Depan

(6)

16

3.3 Perancangan Elektronika

Alat ini dibagi dalam beberapa bagian, yaitu panel indikator , panel pengendali, load cell .

3.3.1 Panel Indikator

Gambar 3.10 Panel Indikator Alat

a. LCD

LCD pada alat ini digunakan sebagai penampil kondisi alat dan informasi yang sudah diolah oleh mikrokontroler. Informasi yang ditampilkan berupa waktu terkini, sisa beras pada tangki dalam kilogram, informasi jatah beras, hari dan jam pengambilan beras .

(7)

17

b. RFID Reader

RFID Reader digunakan untuk membaca kartu RFID kaum duafa. Setiap kartu RFID yang terbaca ID akan dikirm ke mikrokontroler untuk diolah.

Gambar 3.12 Wiring RFID reader dan Arduino Mega

c. LED Indikator

LED ini dihubungkan dengan NodeMCU untuk mengetahui apakah alat sudah terhubung dengan jaringan wifi dan server.

(8)

18

3.3.2 Panel Pengendali

Gambar 3.14 Panel Pengendali

Panel Pengendali ini berukuran panjang 23 cm dan lebar 23 cm. Berisi modul dan mikrontroler untuk pengolahan data pada alat.Untuk Keterangan dari setiap bagian adalah seperti berikut :

A. NodeMCU dan Arduino Mega

Untuk mengatasi keterbatasan Arduino Mega yang tidak dapat terhubung dengan jaringan wifi, Arduino Mega dihubungkan dengan NodeMCU dengan menggunakan komunikasi serial. Arduino Mega akan mengolah setiap masukan dari RFID reader dan load cell . Setiap ID kartu yang terbaca oleh Arduino Mega akan dikirim ke NodeMCU untuk dikirim ke server, dimana ID tersebut akan dibandingkan dengan database. Hasil tersebut akan kembali dikirm ke Arduino Mega untuk diolah , untuk menentukan keluaran selanjutnya.

(9)

19

Gambar 3.15 Wiring NodeMCU dan Arduino Mega

B. Real Time Clock

Real Time Clock digunakan untuk mengetahui waktu terkini pada alat. Waktu ini disesuaikan dengan waktu pada server. Hasil dari RTC akan ditampilkan pada LCD dengan menunjukan hari , jam , menit dan detik terkini.

Gambar 3.16 Wiring RTC dan Arduino Mega

C. Relay

Relay pada alat ini digunakan sebagai saklar dari solenoid door. Solenoid tersebut dipasang pada tutup tangki beras.Solenoid ini bekerja pada tegangan 12v. Tutup tangki ini hanya dapat dibuka oleh admin.

(10)

20

Gambar 3.17 Wiring Relay, Solenoid door dan Arduino Mega

Gambar 3.18 Pemasangan Solenoid door pada tutup tangki D. Driver Motor L298n

Apabila Arduino Mega memberi sinyal untuk menggerakkan Motor DC, driver ini akan bekerja mengontrol gerakan motor DC. Motor ini bekerja pada tegangan 12 V. Untuk mengeluarkan beras 1 liter diperlukan 1 kali gerakan maju dan mundur. Untuk gerakan maju dan mundur , PWM (pulse with modulation) yang diberikan kepada motor adalah 200.

(11)

21

Gambar 3.19 Wiringdriver motor, motor DC dan Arduino Mega

Untuk motor dapat berhenti, terdapat 2 buah sensor infrared proximity untuk menentukan letak perhentian motor. Sensor ini bekerja ketika cahaya dari infrared dipantulkan oleh tabung (tabung diberi cat untuk memantulkan cahaya infrared). Jika Proximity 1 membaca putih maka tabung berada dalam posisi pengisian, sedangkan jika proximity 2 membaca putih, tabung beras dalam posisi mengeluarkan beras. Pada saat pengeluaran beras , tabung berhenti selama 2 detik, dan ketika pengisian beras berhenti 3 detik.

(12)

22

Gambar 3.21 Proximity sensor pada tabung beras E. Buzzer

Buzzer pada alat digunakan sebagai indikator suara.

Gambar 3.22 Wiringbuzzer dan Arduino Mega

F. Terminal kabel

Terminal kabel disini adalah untuk mempermudah pembagian sumber daya. Dibedakan menjadi 3 yaitu terminal 12V ,5V, dan ground. Sumber 12 V untuk Arduino Mega, NodeMCU, L298n, Relay dan 5 V untuk RTC, LCD , Infrared proximity sensor, HX711.

G. Power Supply

Sumber daya alat ini sepenuhnya berasal dari Power Supply. Memiliki Tegangan keluaran 12 V dan arus maksimal 5 Ampere.

(13)

23

3.3.3 Load Cell

Load Cell merupakan perangkat untuk mengetahui berat benda. Load cell ini dihubungkan dengan modul HX711 untuk mengubah keluaran dari resistansi menjadi tegangan yang dikuatkan agar mudah dibaca oleh Arduino Mega. Pada alat ini load cell diletakkan pada bagian bawah alat, untuk menimbang ketersediaan beras pada Tangki.

Gambar 3.23 Wiring load cell dan HX 711 dan Arduino Mega

Gambar 3.24 Pemasangan Load cell dan HX711 pada alas alat

3.4 Perancangan Perangkat Lunak

Pada bagian ini akan dijelaskan mengenai perancangan perangkat lunak dari Anjungan Beras Mandiri. Berikut adalah diagram alir dari perangkat lunak alat

(14)

24

(15)

25

Cara kerja dari alat ini adalah ketika alat dihidukan, NodeMCU akan mencoba menghubungkan jaringan wifi dan pada database server yang telah dibuat .Apabila sudah terkoneksi Led indikator akan menyala.

void setup() { Serial.begin(9600); NodeMCU.begin(115200); pinMode(LEDwifi, OUTPUT); pinMode(LEDdatabase, OUTPUT); Serial.println("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, pass);

while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); } void loop() { if (!client.connect(host,80)) { Serial.println("Gagal Konek"); digitalWrite(LEDdatabase,LOW); delay(1000); return; } digitalWrite(LEDdatabase,HIGH); if(NodeMCU.available()){ RFID = NodeMCU.readString(); Serial.println(RFID); koneksi_database(); } }

Source 3.1. Periksa koneksi koneksi wifi dan database

Kemudian load cell akan menghitung beban yang ada pada tangki, dan jika beban tangki tidak memenuhi lebih dari 3Kg maka akan ada pemberitahuan yang ditampilkan pada LCD.

Setelah dua ketentuan tadi terpenuhi, maka alat akan bisa membaca kartu yang ditempelkan, setiap pembacaan kartu, ID kartu tersebut akan diolah pada Arduino mega dan dikirm ke NodeMCU untuk dibandingkan dengan database pada tabel db_user yang berisi jadwal pengambilan, nomor kartu RFID yang terdaftar,dan status untuk

(16)

26

menentukan sudah mengambil atau belum. Apabila nomor kartu terbaca pada jadwal yang tepat, dan nomor tersebut juga sudah terdaftar maka akan ada insert database pada tabel db_record yang berisi pencatatan nomor RFID ,nama, alamat, jatah, dan waktu ambil. Dan juga terdapat update pada baris ID RFID bersangkutan, menjadi status = 1.

$rfid = $_GET["data1"];

$sqlCekrfid="SELECT * from tb_user where rfid='$rfid' ";

$hasilCek1= mysqli_query($konek,$sqlCekrfid); if (mysqli_num_rows($hasilCek1)> 0)

{

echo "OK".",";

$sqlCeksudahambil="SELECT * from tb_user where rfid='$rfid' AND status='0'"; $hasilCek2= mysqli_query($konek,$sqlCeksudahambil);

if (mysqli_num_rows($hasilCek2)> 0) {

echo "OK".",";

$sqlCekjadwal=" SELECT * from tb_user where rfid='$rfid' AND hari='$day' AND '$jam' > mulai_ambil AND '$jam' < akhir_ambil";

$hasilCek3= mysqli_query($konek,$sqlCekjadwal); if (mysqli_num_rows($hasilCek3)> 0)

{

echo "OK".",";

$sqlinsert="insert into tb_record(rfid, nama, alamat, jatah) select

tb_user.rfid,tb_user.nama,tb_user.alamat,tb_user.jatah from tb_user where tb_user.rfid=$rfid";

$result1= mysqli_query($konek,$sqlinsert);

$sqlupdate="UPDATE `tb_user` SET `status` = '1' where rfid='$rfid' ";

$result2=mysqli_query($konek,$sqlupdate);

while($row =mysqli_fetch_assoc($hasilCek3))

{

echo $row["nama"]. "," .$row["jatah"];

}

}

else

{

echo "ERR".",";

$sqlCekjadwalsalah="SELECT * from tb_user where rfid='$rfid'"; $hasilCek4= mysqli_query($konek,$sqlCekjadwalsalah); while($row =mysqli_fetch_assoc($hasilCek4))

{

echo $row["hari"]. "," .$row["mulai_ambil"]. "-" .$row["akhir_ambil"];

} } } else { echo "ERR".","; } } else { echo "ERR".","; }

(17)

27

Setelah itu NodeMCU akan membaca echo hasil dari server. Kemudian data tersebut dikirim ke Arduino Mega untuk diolah menjadi keluaran.

if(ArduinoMega.available()) { cekrfid = ArduinoMega.readStringUntil(','); cekstatus= ArduinoMega.readStringUntil(','); cekjadwal = ArduinoMega.readStringUntil(','); no = ArduinoMega.readStringUntil(','); jatah = ArduinoMega.readStringUntil(',');

Source 3.3. Variabel data Arduino Mega

Data tersebut diolah oleh Arduino Mega. Jika didapatkan hasil bahwa ID RFID yang terbaca tersebut sudah mengambil, buzzer akan menyala sesaat dan terdapat pemberitahuan lewat LCD. Jika ID RFID tersebut mengambil pada jadwal yang salah aan ditampilkan jadwal peserta dan buzzer menyala sesaat.

void cek() {

jatahberas=jatah.toInt(); if(cekrfid=="ERR"){

Serial.println("Kartu Tidak Terdaftar"); lcd.clear();

lcd.setCursor(0, 1); //baris kedua lcd.print("Tidak Terdaftar"); buzzer();

}

else if(cekrfid=="OK" && cekstatus=="ERR"){ Serial.println("Anda Sudah Ambil"); lcd.clear();

lcd.setCursor(0, 1);

lcd.print("Anda Sudah Ambil"); buzzer();

}

else if(cekrfid=="OK" && cekstatus=="OK" && cekjadwal=="ERR"){ Serial.println(no);

lcd.clear();

lcd.setCursor(2, 0);

lcd.print("Mohon Ambil pada :"); lcd.setCursor(0, 1); lcd.print(no); lcd.setCursor(0, 2); lcd.print(jatah); buzzer(); delay(400); lcd.clear(); }

else if(cekjadwal=="OK" && jatahberas!="null"){ Serial.println(jatahberas);

lcd.clear();

(18)

28 lcd.print(no); lcd.setCursor(0, 1); lcd.print("Anda mendapat :"); lcd.setCursor(0, 2); lcd.print(jatah); lcd.setCursor(3, 2); lcd.print("Liter Beras"); for(int x=0;x<jatahberas;x++) { ambil(); } } lcd.clear(); }

Source 3.4. Cek Variabel Arduino Mega

Jika ID RFID telah memenuhi persyaratan ,maka motor akan bergerak memutar maju, dan jika sensor infrared 2 membaca warna putih maka motor tersebut akan berhenti selama 2 detik, kemudian bergerak memutar kearah sebaliknya. Jika sensor infrared 1 membaca putih maka motor akan berhenti. Gerakan motor ini ditentukan oleh jumlah jatah . void ambil() { b=digitalRead(38); while(b!=0){ b=digitalRead(38); maju(); Serial.println("maju"); } berhenti(); delay(2000); Serial.println("berhenti"); a=digitalRead(34); Serial.println(a); delay(2000); while(a==1){ a=digitalRead(34); mundur(); Serial.println("mundur"); Serial.println(a); } berhenti(); delay(3500); }

Source 3.5 Pergerakan Motor

Setelah proses ini mikrokontroler akan mengecek koneksi dan nilai load cell kembali, dan siap membaca kartu RFID.

Gambar

Gambar 3.1 Diagram blok perangkat keras
Gambar 3.2 Gambaran Tangki Beras
Gambar 3.4 Mekanisme Pengeluaran Beras 1 Liter
Gambar 3.7 Realisasi Alat tanpa cover
+7

Referensi

Dokumen terkait

Mengontrol cara yang dilakukan oleh semua software dalam menggunakan hardware yang mendasari (underlying) dan juga menyembunyikan kompleksitas hardware dari software lain dengan

Pengujian Marshall untuk campuran tanpa getah pinus dilakukan untuk mendapatkan nilai Kadar Aspal Optimum (KAO) dan nilai KAO tersebut selanjutnya akan digunakan pada

Sup krim instan merupakan sup yang berbahan dasar kaldu dari protein hewani dan diperkaya dengan cream , yang mengalami proses pengeringan kemudian dijadikan

Intervensi pemerintah untuk mendorong pertumbuhan sektor pertanian dalam rangka mengurangi kemiskinan dapat dilihat dari sisi anggaran s ek to r pe rtania n (rutin

Membuat Iklan Animasi 2D yang diharapkan bisa memberikan pengaruh positif kepada masyarakat agar dapat mengenal produk lokal yang berkwalitas dan Penjualan Gula

Desain form untuk melihat mengenai daftar customer service sistem seperti pada gambar III.16 berikut :.. Frontline Customer Service Pelanggan Tentang

Hasil penelitian didapatkan bahwa pemberian ASI tidak eksklusif kurang memiliki dukungan dari atasan yaitu sebanyak 23 responden (92%), dibandingkan dengan Ibu yang

Generasi muda adalah elemen penting dalam masyarakat yang harus diperhatikan perkembangan dan kualitasnya. Karena merekalah yang akan menerima estafet