//Penghitung barang otomatis menggunakan PIR sensor
//kita gunakan attach Interrupt
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
unsigned int barang = 0; //barang akan kembali ke nol saat alat mati atau ditekan reset
byte pinPIR = 12;
void ISR(){
barang++; //jika ada barang lewat maka deteksi akan bernilai 1 dan jumlah barang bertambah dengan menggunakan tanda++;
}
void setup() {
Serial.begin(115200);
Serial.println("Penghitung Barang Otomatis");
attachInterrupt(pinPIR, ISR, RISING);
//init LCD
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("PENGHITUNG ITEM");
delay(250);
lcd.setCursor(0, 1);
lcd.print("OTOMATIS");
delay(2000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("JUMLAH ITEM");
}
void loop() {
boolean deteksi = digitalRead(pinPIR);//deteksi barang yang lewat sensor PIR
Serial.print(deteksi);
Serial.print(" Jumlah barang = ");
Serial.println(barang); //hasil deteksi dimunculkan di serial monitor
lcd.setCursor(0,1);
lcd.print(barang);
delay(100); // delay digunakan untuk membuat jeda antar barang yang akan dihitung
}