Algoritma dan Pemograman Kasus Teknik Elektro


Nama : Yoga Ndaru Prahastowo
Kelas : 3IB04
NPM : 16417598
  

PENGHITUNG OTOMATIS DENGAN MENGGUNAKAN ARDUINO UNO, SENSOR INFRARED, DAN PERINTAH PERCABANGAN BAHASA C PADA SOFTWARE ARDUINO IDE

A.  Latar belakang
Sensor merupakan komponen elektronika yang berfungsi untuk mendeteksi sesuatu, baik dalam bentuk pergerakan, tekanan, suhu, dan lain sebagainya. Sensor bekerja secara otomatis dengan memasukkan program perintah untuk dapat mengoperasikannya, sesuai jenis sensor dan alat apa yang ingin dibuat.

Salah satu contoh jenis sensor yang banyak digunakan adalah sensor jarak inframerah, sensor jenis ini dapat dimanfaatkan untuk berbagai macam sistem otomasi, antara lain :
·         Sistem alarm keamanan pada pintu pabrik
ketika ada objek mendekat pada radius sebaran sinar infrared maka buzzer akan berbunyi
·         Sebagai penghitung otomatis
Sistem ini sangat membantu dan berguna sekali pada bidang industri karna dapat memangkas waktu pekerjaan dalam proses pendataan jumlah barang yang masuk maupun keluar. 

Dalam peng-implementasian sensor infrared sebagai penghitung otomatis merupakan suatu hal yang menarik untuk dipelajari. Maka pada kesempatan kali ini akan dibahas lebih detail bagaimana proses dan cara kerja sistem tersebut kedalam bentuk penulisan.

B.  Studi literatur
Sistem otomatis berbasis sensor infrared merupakan teknologi yang sudah lama dikembangkan oleh para ilmuan dan karya tulis yang mebahas materi ini juga sangat banyak, sehingga bentuk penulisan ini hanya melengkapi karya tulis lainnya dari berbagai sumber dan referensi.

C.  Metode dan perancangan

1.    Flowchart system

2.    Software

Software yang digunakan untuk menjalankan program ini dengan menggunakan arduino IDE (integrated development environment), didalam software ini terdapat source editor, compiler, dan simulator

3.    Komponen
·      Arduino Uno
·      LCD Display 16x2
·      Kabel jumper
·      Sensor infrared
·      Tombol reset

D.  Hasil uji coba
// memanggil library lcd
#include <LiquidCrystal.h>

// inialisasi pin lcd
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

// inialisasi masing2 pin
const int pinSensor = 11;
const int pinReset = 12;

// inialisasi masing2 variabel
int hitung = 0;
int kondisi1 = 0;
int status1;


// --------- program default/setting awal ---------- //
void setup()
{
 // inialisasi status pin reset
 pinMode(pinReset, INPUT);
 // mengaktifkan pull up resistor pin reset sebagai INPUT
 digitalWrite(pinReset, HIGH);

// inialisasi jumlah baris-kolom lcd
 lcd.begin(16, 2);

// tulisan awal pada lcd
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("Alathitung");
 lcd.setCursor(0, 1);
 lcd.print("Jumlahng ...");
 delay(2000);
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("Ready");
 delay(2000);
}


// ------ program utama looping/berulang terus-menerus ------ //
void loop()
{
 // -------------- program penghitung barang --------------- //

// setting range pembacaan jumlah barang
 hitung = constrain(hitung, 0, 20); // ==> Jumlah maks barang

// status1 adalah hasil pembacaan pin sensor
 status1 = digitalRead(pinSensor);

// jika pin sensor bernilai logic HIGH
 if (status1 == HIGH)
 {
 // hasil hitung tetap
 hitung = hitung;
 kondisi1 = 0;
 }


 // jika pin sensor bernilai LOW dan kondisi1 bernilai = 0
 else if (status1 == LOW && kondisi1 == 0)
 {
 // jumlah barang bertambah 1
 hitung += 1;
 // kondisi1 menjadi bernilai = 1
 kondisi1 = 1;
 }


 // jika pin sensor bernilai LOW dan kondisi bernilai = 1
 else if (status1 == LOW && kondisi1 == 1)
 {
 // hasil hitung tetap
 hitung = hitung;
 // kondisi1 tetap bernilai =1
 kondisi1 = 1;
 }


 // --------- program tombol reset kembali ke = 0 ---------- //

// jika tombol resert ditekan
 // maka pin reset bernilai logic LOW
 if (digitalRead(pinReset) == LOW)
 {
 // jumlah barang kembali menjadi = 0
 hitung = 0;
 }


 // jika tombol reser tidak ditekan
 else
 {
 // jumlah barang tetap
 hitung = hitung;
 }

// ------ program tampilan jumlah barang pada lcd 16x2 ------ //
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("Jumlahng : ");
 lcd.setCursor(0, 1);
 lcd.print(hitung);
 delay(300); // delay update tulisan pada lcd
}


Dari program yang sudah dimasukkan pada software IDE tersebut, lampu indikator sensor infra red akan menyala apabila kondisi 0 atau logic “Low“ dan akan mati ketika kondisi 1 atau logic “High”, Kondisi 0 didapat ketika ada objek yang menghalangi sensor.

Kemudian didalam program ada pengkondisian untuk melakukan perhitungan, yang bekerja dari Low ke High. Kondisi ini dinamakan “Counter Up”, sehingga nilai objek akan bertambah. Untuk mengulang proses program dapat dilakukan dengan menekan tombol reset, tombol reset akan mengalirkan logic “Low”, sehingga nilai hitung kembali lagi ke = 0

E.   Kesimpulan
Sistem ini sangat berguna pada sektor industri karena dapat meningkatkan efisiensi waktu dalam proses perhitungan karena dilakukan secara otomatis, baik barang yang sudah diproduksi kemudian disimpan maupun ketika ingin melakukan pengiriman.

Sumber Resferensi :


Komentar

Postingan populer dari blog ini

Algoritma dan Pemrograman Kasus Teknik Elektro

Perbedaan Kepribadian,Kebudayaan Bangsa Barat dan Timur

Depresiasi dan Pajak Pendapatan