Senin, 09 Oktober 2017

Arduino penghitung barang

Membuat Alat Penghitung Barang Otomatis Menggunakan Arduino dan Sensor Jarak Infra Merah

img_20170305_183534-copy

Assalamualaikum.
Salam Sejahtera Untuk Kita Semua Sobat …

Permasalahan di dalam dunia industri atau perdagangan biasanya adalah bagaimana cara memproses suatu alat dengan cepat, yups salah satunya yakni lata penghitung barang. Tidak mungkin bukan kita menyuruh manusia menghitung barang yang jumlahnya sampai ratusan atau ribuan, bahkan jutaan ? Wah bisa memar tu mata orangnya hehehe ๐Ÿ˜€ .
Nah pada tutorial kali ini, NP akan share cara membuat alat penghitung barang otomatis. Yups alat ini akan otomatis menghitung barang yang lewat di depan sensor, yakni sensor jarak infra merah. Dilengkapi juga dengan tombol reset untuk mengulangi lagi perhitungan dari awal. Monggo disimak tutorialnya para makers ๐Ÿ˜€ .




  • 1 buah Arduino (bisa UNO, MINI, NANO, MEGA, dll, bisa didapat Di Sini)
  • 1 buah LCD 16×2 (Bisa didapat Di Sini)
  • 1 buah Potensio 10K
  • 1 buah sensor jarak infra merah (Bisa didapat Di Sini)
  • Breadboard/Projectboard jika diperlukan (Bisa diperoleh Di Sini)
  • Kabel jumper secukupnya (Bisa diperoleh Di Sini)
  • Software Arduino IDE (Jika belum punya, maka download Di Sini)
  • Library LiquidCrystal.h (Jika belum punya, bisa 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





Dan berikut ini adalah skema rangkaiannya :

alat-penghitung-barang_bb

Keterangan Rangkaian :

  • Bisa Menggunakan Segala Jenis Arduino (UNO, NANO, MEGA, MINI, dll), karena penomoran pinnya sama. Tinggal cocokkan Saja nomor Pin-Pin nya.

  • Kaki RS LCD ===> pin 2 Arduino

  • Kaki E LCD ===> pin 3 Arduino

  • Kaki D1 LCD ===> pin 4 Arduino

  • Kaki D2 LCD ===> pin 5 Arduino

  • Kaki D3 LCD ===> pin 6 Arduino

  • Kaki D4 LCD ===> pin 7 Arduino

  • Kaki RW LCD ===> GND (Ground)

  • Kaki VO LCD ===> Output Potensio

  • Kaki Out (data) Sensor ===> pin 11 Arduino

  • Salah satu kaki tombol push button ===> pin 12 Arduino

  • Kaki push button yang lain ===> pin GND

  •  Kaki vcc pada masing-masing komponen hubungkan ke sumber power positif 5v (bisa dari 5v Arduino)

  • Kaki gnd/ground pada masing-masing komponen hubungkan ke sumber negatif power (dihubungkan ke pin gnd Arduino)


img_20170305_183825-copy







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 = 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);
 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, 10); // ==> 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
}








Dan berikut ini adalah video demonstrasinya di channel Youtube saya :







Penjelasan singkat dari program di atas yakni :

Sensor yang saya gunakan mempunyai sifat yakni jika ada objek terdeteksi, maka lampu sensor menyala dan data out yang keluar berupa logic LOW, sedangkan jika tidak ada objek, maka lampu sensor akan mati dan data out bernilai logic HIGH. Dan range jarak sensor atau tingkat sensitifitas sensor dapat diatur melalui potensio sebagai berikut ini :
img_20170305_193509

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 julah terjadi. Nah untuk setting maksimal jumlah barang yang dapat dihitung, di sini saya setting sampai 10 saja. Untuk menggantinya, silahkan ubah di bagian sini :
// setting range pembacaan jumlah barang
 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 12. Nah saat tombol reset ditekan, maka nilai variabel hitung kembali lagi ke = 0 .





Yups, alat seperti ini cocok diaplikasikan pada indutri seperti konveyor, penghitung barang, penyortir barang, dan lain sebagainya. Tergantung tingkat kreatifitas para “Makers” seperti kalian sob ๐Ÿ˜€ .
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.

Tidak ada komentar:

Posting Komentar