#include <Keypad.h>//Keypad kütüphanesi eklendi...
int sayac, motor = 13, mz80 = 5, adet;
const byte SATIR = 4;//4 satır için sabit tanımlanıyor...
const byte SUTUN = 3;//3 sütun için sabit tanımlanıyor...
char tuslar[SATIR][SUTUN] = {
{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'},
{'*', '0', '#'},
};//4X3 lük matris oluşturuldu...
byte rowPins[SATIR] = { 9, 8, 7, 6 };//Satır pinlerinin dijital girişleri ayarlanıyor...
byte colPins[SUTUN] = { 12, 11, 10 };//Sütun pinlerinin dijital girişleri ayarlanıyor...
Keypad kpd = Keypad( makeKeymap(tuslar), rowPins, colPins, SATIR, SUTUN );//Satır ve sütun için tuş haritası oluşturuluyor...
void setup() {
Serial.begin(9600);//Seri monitör başlatılıyor...
pinMode(mz80, INPUT);//Sensör giriş olarak tanımlanıyor...
pinMode(motor, OUTPUT);//Motorun bağlı olacağı röleyi çıkış olarak ayarlıyoruz...
digitalWrite(motor, LOW);
}
void loop() {
int tus = kpd.getKey();//Basılan tuş okunuyor ve tus isimli değişkene atılıyor...
adet=tus;
if (tus)
{
Serial.print(tus);
Serial.println(" Adet urun gececek...");
}
if (tus == '*')
{
digitalWrite(motor, LOW);
Serial.println("Bant Durdu");
}
else if (tus == '#')
{
digitalWrite(motor, HIGH);
Serial.println("Bant Basladi");
}
if (digitalRead(mz80) == 0) //Sensör ürünü gördü mü?
{
delay(20);//Bekleme...
if (digitalRead(mz80) == 1) //Ürün sensörün önünden geçtiyse;
{
sayac++;//Her ürün geçtiğinde sayı 1 arttırılacak...
Serial.print("Adet:");
Serial.println(sayac);//Sayacı ekrana yazdırıyoruz...
if (sayac == adet) //Eğer sayaç değişkeni girilen adet sayısana eşitse;
{
digitalWrite(motor, LOW);//Motor dursun...ß
Serial.println("Bitti");//Bitti yazsın...
sayac = 0;//Sayaç sıfırlansın...
}
}
}
}