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
Posting Komentar