Menghitung Barang Atau Buah

Menghitung Barang Atau Buah

Alat dan Bahan

  • Arduino (bisa UNO, MINI, NANO, MEGA, dll, bisa didapat Di Sini)
  • LCD 16×2
  • Potensio 10K
  • sensor jarak infra merah
  • Breadboard/Projectboard jika diperlukan
  • Kabel jumper secukupnya
  • 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

Coding:

// ——– 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

// 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(“Alat Penghitung”);
lcd.setCursor(0, 1);
lcd.print(“Jumlah Barang …”);
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 16×2 —— //
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(“Jumlah Barang : “);
lcd.setCursor(0, 1);
lcd.print(hitung);
delay(300); // delay update tulisan pada lcd
}

jika ada kendala bisa diskusi di : 085369237896 (mas fajar)