Membuat Alat Penghitung Barang Otomatis Menggunakan Arduino dan Sensor Jarak Infra Merah
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 :
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)
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 :
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.
#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