
.
Assalamualaikum.
Semoga kabarnya selalu baik sobat … ![😀]()
.
Terkadang kita pernah dihadapkan dengan persoalan bagaimana caranya menghitung benda atau barang secara cepat dan akurat. Namun yang namanya manusia, terkadang repot juga kalau harus menghitung ratusan hingga ribuan barang. Apalagi kalau tiba-tiba saat menghitung kita lupa sudah sampai hitungan yang keberapa. Wah bisa-bisa berabe kalau harus menghitung mulai dari awal lagi .
Nah oleh karena itu, NP kali ini mempunyai ide untuk membuat alat penghitung benda secra otomatis. Bermodalkan Arduino dan sensor infrared, kita dapat menghitung benda yang melewati sensor secara otomatis. Jadi tidak perlu susah-susah menghitung secara manual sob :D. Monggo disimak ttorialnya ya sobat .
.
.
.
Berikut ini komponen yang perlu dipersiapkan :
- 1 buah Arduino UNO atau Arduino Tipe Lain (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
- 1 buah Sensor Infrared/Sensor Jarak Inframerah (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
- 1 buah LCD 16×2 (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
- 1 buah Pin Header Male untuk disolder pada LCD (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
- 1 buah Potensio 10k (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
- 1 buah Tombol Push Button (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
- 1 buah Breadboard, bebas mau pakai yang Mini/Half Size/Ukuran Besar. Tergantung keutuhan saja (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
- Kabel jumper secukupnya, usahakan menyiapkan semua jenis Kabel Jumper yakni Male-Male, Female-Female, dan Male-Female (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
.
.
Berikut ini komponen opsional/tidak wajib :
- 1 buah PCB polos sebagai alas pembuatan project jika diperlukan (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
- Multitester (AVO) jika diperlukan untuk mengecek rangkaian (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
- Solder dan pegangan solder jika diperlukan (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
- Timah Solder jika diperlukan (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop)
.
.
Berikut ini Software yang perlu dipersiapkan :
- Software Arduino IDE (Jika belum punya, maka download Di Sini)
- Library SoftwareSerial.h (Jika belum punya, maka download Di Sini)
- Dan cara menambah library Arduino bisa dibaca Di Sini
- Dan jika ingin belajar bagaimana cara menggunakan Arduino bagi pemula, silahkan download Ebook nya Di Sini
.
“Jangan Lupa Untuk Selalu Membeli Komponen Elektronika-Robotika di Nofgi Piston Shop (Tokopedia/Bukalapak)….
Dijamin amanah, terpercaya, dan harga murah meriah…
Juga Sebagai Support Bagi Kami Agar Terus Dapat Berbagi Tutorial Kepada Para Sobat… “
.
.
.
Dan berikut ini adalah skema rangkaiannya :

.
.
LCD 16x2 <=======> Arduino RS ------------------------ pin 2 E ------------------------- pin 3 D4 ------------------------ pin 4 D5 ------------------------ pin 5 D6 ------------------------ pin 6 D7 ------------------------ pin 7 RW ------------------------- GND VSS ------------------------ GND VDD ------------------------ 5V A -------------------------- 5V K -------------------------- GND VO ------------------- Output Potensio 10k
Potensio 10K Pin Kanan ===> 5V Pin Tengah ===> VO LCD 16x2 Pin Kiri ===> GND *** Pin Kanan-Kiri Potensio Boleh Dibolak-balik
Infrared Sensor Pin VCC ===> 5V Arduino Pin In (Digital Output) ===> Pin 8 Arduino Pin GND ===> GND Arduino
Push Button
Salah Satu Pin Push Button ===> Pin 9 Arduino
Pin lainnya ===> GND
.
.
.
Setelah itu, silahkan upload program seperti di bawah ini pada software Arduino IDE milik sobat, dan tata cara upload program ke Arduino bisa sobat baca Di Sini
// -------- Project Alat Penghitung Barang Otomatis --------- //
// ------ Berbasis Arduino dan Sensor Jarak Infra Merah ----- //
// ------------- Dibuat oleh : M. Nofgi Y.P.U. -------------- //
// ------------- www.nofgipiston.wordpress.com -------------- //
// memanggil library lcd
#include <LiquidCrystal.h>
// inialisasi pin lcd
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
// inialisasi masing2 pin
const int pinSensor = 8;
const int pinReset = 9;
// inialisasi masing2 variabel
int hitung = 0;
int kondisi1 = 0;
int status1;
// --------- program default/setting awal ---------- //
void setup()
{
// inialisasi status pin reset
pinMode(pinReset, INPUT);
digitalWrite(pinReset, HIGH);
pinMode(pinSensor, INPUT);
// inialisasi jumlah baris-kolom lcd
lcd.begin(16, 2);
// tulisan awal pada lcd
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Alat Penghitung");
lcd.setCursor(0, 1);
lcd.print("Jumlah Barang ...");
delay(1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Ready ... ");
delay(1000);
}
// ------ program utama looping/berulang terus-menerus ------ //
void loop()
{
// -------------- program penghitung barang --------------- //
// setting range pembacaan jumlah barang
// ganti nilai 50 dengan jumlah maksimal perhitungan yg diinginkan
hitung = constrain(hitung, 0, 50); // ==> 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 reset ditekan
// maka pin reset bernilai logic LOW
if (digitalRead(pinReset) == LOW)
{
// jumlah barang kembali menjadi = 0
hitung = 0;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("RESET Aktif ...");
delay(1000);
}
// ------ program tampilan jumlah barang pada lcd 16x2 ------ //
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Jumlah Barang : ");
lcd.setCursor(0, 1);
lcd.print(hitung);
delay(300); // delay update tulisan pada lcd
}
.
.
.
Dan berikut ini adalah video demonstrasinya di channel Youtube saya , Jangan lupa untuk klik “Like” pada video dan “Subscribe” channel saya ya sobat, sebagai dukungan agar dapat terus berkarya ![😀]()
.
.
.

.
.
.
Berikut ini penjelasan singkat dari program di atas :
Sensor yang saya gunakan mempunyai sifat “Active LOW” yakni jika ada objek terdeteksi, maka lampu sensor menyala dan data out yang keluar berupa logic LOW atau “0”, sedangkan jika tidak ada objek, maka lampu sensor akan mati dan data out bernilai logic HIGH atau “1”. Jarak yang mampu dibaca oleh sensor jenis ini adalah berkisar1-3 cm dan range jarak sensor atau tingkat sensitifitas sensor dapat diatur melalui potensio sebagai berikut ini :

Jika ingin pembacaan sensor yang lebih jauh, maka silahkan mengganti sensor ini dengan sensor Proximity E18 D80NK (bisa diperoleh di Tokopedia/Bukalapak Nofgi Piston Shop, klik tautan berikut ini : Sensor Proximity E18 D80NK). Sensor ini dapat mendeteksi objek dengan jarak hingga 80 cm (sesuai datasheet). Program tetap saja, tinggal menyesuaikan jalur kabel saja. Jalur kabel tetap 3 yakni VCC, GND, dan Digital Output.
Nah di dalam program ada pengkondisian dimana barang jumlah barang baru bertambah saat kondisi logic yang terbaca berubah dari LOW ke HIGH, nah disaat kondisi tersebut maka “Counter Up” atau penambahan jumlah terjadi. Nah untuk setting maksimal jumlah barang yang dapat dihitung, di sini saya setting sampai 50 saja. SIlahkan ubah jumlah maksimal barang dengan jumlah sesuka hati kalian. Untuk menggantinya, silahkan ubah di bagian sini :
// setting maksimal pembacaan jumlah barang // ganti jumlah sesuai kebutuhan hitung = constrain(hitung, 0, 10); // ==> jumlah maks barang
Sedangkan untuk tombol reset bersifat “Aktif LOW”. Artinya dia ketika ditekan akan mengalirkan logic LOW kepada pin 9. Nah saat tombol reset ditekan, maka nilai variabel hitung kembali lagi ke = 0 . Seperti yang dijelaskan pada program di bawah ini.
// --------- program tombol reset kembali ke = 0 ---------- // // jika tombol reset ditekan // maka pin reset bernilai logic LOW if (digitalRead(pinReset) == LOW) { // jumlah barang kembali menjadi = 0 hitung = 0; // menuliskan pada lcd lcd.clear(); lcd.setCursor(0, 0); lcd.print("RESET Aktif ..."); delay(1000); }
.
.
.
Yups begitulah sedikit tutorial yang bisa NP bagikan buat sobat sekalian. Ke depannya alat ini dapat dikembangkan dengan berbagai fitur tambahan seperti monitoring jumlah dari HP android/laptop dengan koneksi bluetooth atau Wifi, menambah alarm, menambahkan fitur IOT, dan lain sebagainya.
Jangan bosan-bosan belajar dan berlatih dengan Arduino ya sob … Karena banyak sekali alat-alat serta kreatifitas yang dapat kita buat dengan board microcontroller serba bisa ini .
“Barang siapa yang menempuh suatu jalan untuk menuntut ilmu, Allah akan memudahkan baginya jalan ke surga (HR Muslim)”
Semoga bermanfaat .
Salam Teknologi … Salam Arduino … .
Wassalamualaikum.
*
*
*
*
*
********************
#Maaf jika ada kesalahan, ambil sisi positifnya saja.
#Barangkali anda mempunyai kabar/berita seputar otomotif/mekatronika/robotika/elektronika atau ingin mengiklankan suatu produk di blog ini, silahkan kontak saya.
Jual Arduino, Sensor, Modul, SHIELD, dan Berbagai Komponen Module Elektronika/Robotika murah meriah … Best Quality Product … Tersedia Toko Online di Tokopedia dan Bukalapak (Klik di sini)
Menerima jasa pembuatan Project atau alat berbasis Arduino, Elektronika, Robotika, Mekatronika, dan sejenisnya …
Bisa untuk keperluan hobi, edukasi kuliah/sekolah, project industri/rumahan, dan sebagainya …
Silahkan kontak saya atau KLIK DI SINI
Facebook : Nofgi Yugo Prasetyo Fans Page on Facebook : Nofgi Piston Blog E-Mail : Nofgimotor@gmail.com Instagram : nofgi_piston Youtube : Nofgi Piston Tokopedia : Nofgi Piston Shop Bukalapak : Nofgi Piston Shop No. HP/WA : 088217082017