Arduino Barkod Okuyucu Projesi

Tüm ayrıntılarını youtube kanalımda anlattığım projemin gerekli dokumanlarını buradan sizlerle paylaşıyorum.Kolay gelsin.

 

#include <HID.h>
#include <hid.h>
#include <hiduniversal.h>
#include <LiquidCrystal.h>
#include <avr/pgmspace.h>

#include <Usb.h>
#include <usbhub.h>
#include <hidboot.h>


int sil;
float  toplam = 0;
int i = 0;

float pkalem    = 4.70;
float ple       = 0.65;
float pkahve    = 3.10;
float pmakarna  = 1.95;
float pmendil   = 6.25;
float ptuz      = 0.80;
float paspirin  = 4.45;
float pyumus    = 8.45;
float pkolonya  = 4.95;
float pcamasir  = 4.75;
float ppersil   = 29.90;
float pcif      = 3.25;
float pkibrit   = 0.25;
float pmefendi  = 4.25;
float purun     = 4.25;
float pnut      = 9.60;



char harfler[13] = {'0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0'};
char kalem[13]   = {'4', '0', '0', '4', '7', '6', '4', '9', '1', '4', '4', '6', '3'};
char le[13]      = {'8', '6', '9', '5', '0', '7', '7', '0', '0', '6', '0', '9', '7'};
char kahve[13]   = {'8', '6', '9', '5', '0', '7', '7', '5', '0', '2', '0', '3', '2'};
char makarna[13] = {'8', '6', '9', '5', '0', '7', '7', '0', '5', '2', '7', '1', '1'};
char mendil[13]  = {'8', '6', '9', '5', '0', '7', '7', '0', '4', '6', '7', '6', '5'};
char tuz[13]     = {'8', '6', '9', '5', '0', '7', '7', '0', '5', '4', '1', '6', '6'};
char aspirin[13] = {'8', '6', '9', '7', '7', '1', '3', '8', '2', '8', '8', '0', '3'};
char yumus[13]   = {'8', '6', '9', '5', '0', '7', '7', '0', '1', '8', '0', '3', '8'};
char kolonya[13] = {'8', '6', '9', '5', '0', '7', '7', '0', '7', '4', '2', '4', '9'};
char camasir[13] = {'8', '6', '9', '5', '0', '7', '7', '0', '4', '3', '3', '8', '2'};
char persil[13]  = {'9', '0', '0', '0', '1', '0', '0', '7', '9', '4', '5', '8', '9'};
char cif[13]     = {'8', '6', '9', '0', '6', '3', '7', '0', '1', '6', '9', '6', '7'};
char kibrit[13]  = {'8', '6', '9', '0', '5', '2', '8', '1', '0', '1', '7', '0', '3'};
char mefendi[13] = {'8', '6', '9', '0', '6', '2', '7', '0', '2', '3', '4', '0', '1'};
char urun[13]    = {'8', '6', '9', '9', '3', '7', '5', '8', '2', '1', '2', '3', '9'};
char nut[13]     = {'3', '0', '1', '7', '6', '2', '0', '4', '2', '8', '2', '5', '8'};

LiquidCrystal lcd(7 , 6, 5 , 4 , 3 , 2);


int led = A0;
const byte sil_pini = A1;


USB Usb;
USBHub Hub(&Usb);
HIDUniversal Hid(&Usb);

class KbdRptParser : public KeyboardReportParser
{
    void PrintKey(uint8_t mod, uint8_t key);
  protected:
    virtual void OnKeyDown (uint8_t mod, uint8_t key);
    virtual void OnKeyPressed(uint8_t key);
};

void KbdRptParser::OnKeyDown(uint8_t mod, uint8_t key)
{
  uint8_t c = OemToAscii(mod, key);

  if (c)
    OnKeyPressed(c);
}

void KbdRptParser::OnKeyPressed(uint8_t key)
{
  static uint32_t next_time = 0;
  if ( millis() > next_time ) {
    i = 0;
    delay( 5 );
  }

  next_time = millis() + 200;


  Serial.print( (char)key );

  harfler[i] = (char)key;

  Serial.print("i = "); Serial.println(i);
  Serial.print("bs harfler = "); Serial.print(harfler[0]); Serial.print("."); Serial.print(harfler[1]); Serial.print("."); Serial.print(harfler[2]); Serial.print("."); Serial.println(harfler[3]);



  i++;


  if (harfler[7] == kalem[7])
  { if (harfler[8] == kalem[8])
    { if (harfler[9] == kalem[9])
      { if (harfler[10] == kalem[10])
        { if (harfler[11] == kalem[11])
          { if (harfler[12] == kalem[12])
            {
              if (i == 13)
              {
                toplam = pkalem + toplam;
              }

              digitalWrite (led, 1);
              lcd.setCursor( 0, 0);
              lcd.print("KALEM.   4.70 TL");
              lcd.setCursor( 0, 1);
              lcd.print("TOPLAM           ");
              lcd.setCursor( 7, 1);
              lcd.print(toplam);
              lcd.setCursor( 14, 1);
              lcd.print("TL");
            }
          }
        }
      }
    }
  }

  else if (harfler[7] == urun[7])
  { if (harfler[8] == urun[8])
    { if (harfler[9] == urun[9])
      { if (harfler[10] == urun[10])
        { if (harfler[11] == urun[11])
          { if (harfler[12] == urun[12])
            {

              lcd.setCursor( 0, 0);
              lcd.print("*ROBOT  MUTFAGI*");
              lcd.setCursor( 0, 1);
              lcd.print("  KATKILARIYLA  ");
            }
          }
        }
      }
    }
  }

 else if (harfler[7] == nut[7])
  { if (harfler[8] == nut[8])
    { if (harfler[9] == nut[9])
      { if (harfler[10] == nut[10])
        { if (harfler[11] == nut[11])
          { if (harfler[12] == nut[12])
            {
              if (i == 13)
              {
                toplam = pnut + toplam;
              }


              lcd.setCursor( 0, 0);
              lcd.print("NUTELLA  9.60 TL");

              lcd.setCursor( 0, 1);
              lcd.print("TOPLAM           ");
              lcd.setCursor( 7, 1);
              lcd.print(toplam);
              lcd.setCursor( 14, 1);
              lcd.print("TL");

            }
          }
        }
      }
    }
  }
  else if (harfler[7] == mefendi[7])
  { if (harfler[8] == mefendi[8])
    { if (harfler[9] == mefendi[9])
      { if (harfler[10] == mefendi[10])
        { if (harfler[11] == mefendi[11])
          { if (harfler[12] == mefendi[12])
            {
              if (i == 13)
              {
                toplam = pmefendi + toplam;
              }


              lcd.setCursor( 0, 0);
              lcd.print("M.EFENDI 4.25 TL");

              lcd.setCursor( 0, 1);
              lcd.print("TOPLAM           ");
              lcd.setCursor( 7, 1);
              lcd.print(toplam);
              lcd.setCursor( 14, 1);
              lcd.print("TL");

            }
          }
        }
      }
    }
  }
  else if (harfler[7] == kibrit[7])
  { if (harfler[8] == kibrit[8])
    { if (harfler[9] == kibrit[9])
      { if (harfler[10] == kibrit[10])
        { if (harfler[11] == kibrit[11])
          { if (harfler[12] == kibrit[12])
            {
              if (i == 13)
              {
                toplam = pkibrit + toplam;
               
              }


              lcd.setCursor( 0, 0);
              lcd.print("KAV.KIB  0.25 TL");

              lcd.setCursor( 0, 1);
              lcd.print("TOPLAM           ");
              lcd.setCursor( 7, 1);
              lcd.print(toplam);
              lcd.setCursor( 14, 1);
              lcd.print("TL");

            }
          }
        }
      }
    }
  }



  else if (harfler[7] == cif[7])
  { if (harfler[8] == cif[8])
    { if (harfler[9] == cif[9])
      { if (harfler[10] == cif[10])
        { if (harfler[11] == cif[11])
          { if (harfler[12] == cif[12])
            {
              if (i == 13)
              {
                toplam = pcif + toplam;
              }


              lcd.setCursor( 0, 0);
              lcd.print(" CIF     3.25 TL");

              lcd.setCursor( 0, 1);
              lcd.print("TOPLAM           ");
              lcd.setCursor( 7, 1);
              lcd.print(toplam);
              lcd.setCursor( 14, 1);
              lcd.print("TL");

            }
          }
        }
      }
    }
  }
  else if (harfler[7] == persil[7])
  { if (harfler[8] == persil[8])
    { if (harfler[9] == persil[9])
      { if (harfler[10] == persil[10])
        { if (harfler[11] == persil[11])
          { if (harfler[12] == persil[12])
            {
              if (i == 13)
              {
                toplam = ppersil + toplam;
              }


              lcd.setCursor( 0, 0);
              lcd.print("PERSIL  29.90 TL");

              lcd.setCursor( 0, 1);
              lcd.print("TOPLAM           ");
              lcd.setCursor( 7, 1);
              lcd.print(toplam);
              lcd.setCursor( 14, 1);
              lcd.print("TL");

            }
          }
        }
      }
    }
  }
  else if (harfler[7] == camasir[7])
  { if (harfler[8] == camasir[8])
    { if (harfler[9] == camasir[9])
      { if (harfler[10] == camasir[10])
        { if (harfler[11] == camasir[11])
          { if (harfler[12] == camasir[12])
            {
              if (i == 13)
              {
                toplam = pcamasir + toplam;
              }


              lcd.setCursor( 0, 0);
              lcd.print("CAM.SUYU 4.75 TL");

              lcd.setCursor( 0, 1);
              lcd.print("TOPLAM           ");
              lcd.setCursor( 7, 1);
              lcd.print(toplam);
              lcd.setCursor( 14, 1);
              lcd.print("TL");

            }
          }
        }
      }
    }
  }
  else if (harfler[7] == kolonya[7])
  { if (harfler[8] == kolonya[8])
    { if (harfler[9] == kolonya[9])
      { if (harfler[10] == kolonya[10])
        { if (harfler[11] == kolonya[11])
          { if (harfler[12] == kolonya[12])
            {
              if (i == 13)
              {
                toplam = pkolonya + toplam;
              }


              lcd.setCursor( 0, 0);
              lcd.print("KOLONYA  4.95 TL");

              lcd.setCursor( 0, 1);
              lcd.print("TOPLAM           ");
              lcd.setCursor( 7, 1);
              lcd.print(toplam);
              lcd.setCursor( 14, 1);
              lcd.print("TL");

            }
          }
        }
      }
    }
  }
  else if (harfler[7] == yumus[7])
  { if (harfler[8] == yumus[8])
    { if (harfler[9] == yumus[9])
      { if (harfler[10] == yumus[10])
        { if (harfler[11] == yumus[11])
          { if (harfler[12] == yumus[12])
            {
              if (i == 13)
              {
                toplam = pyumus + toplam;
              }


              lcd.setCursor( 0, 0);
              lcd.print("YUMUSATI.8.45 TL");

              lcd.setCursor( 0, 1);
              lcd.print("TOPLAM           ");
              lcd.setCursor( 7, 1);
              lcd.print(toplam);
              lcd.setCursor( 14, 1);
              lcd.print("TL");

            }
          }
        }
      }
    }
  }
  else if (harfler[7] == aspirin[7])
  { if (harfler[8] == aspirin[8])
    { if (harfler[9] == aspirin[9])
      { if (harfler[10] == aspirin[10])
        { if (harfler[11] == aspirin[11])
          { if (harfler[12] == aspirin[12])
            {
              if (i == 13)
              {
                toplam = paspirin + toplam;
              }


              lcd.setCursor( 0, 0);
              lcd.print("ASPRIN    4.45 TL");

              lcd.setCursor( 0, 1);
              lcd.print("TOPLAM           ");
              lcd.setCursor( 7, 1);
              lcd.print(toplam);
              lcd.setCursor( 14, 1);
              lcd.print("TL");

            }
          }
        }
      }
    }
  }
  else if (harfler[7] == tuz[7])
  { if (harfler[8] == tuz[8])
    { if (harfler[9] == tuz[9])
      { if (harfler[10] == tuz[10])
        { if (harfler[11] == tuz[11])
          { if (harfler[12] == tuz[12])
            {
              if (i == 13)
              {
                toplam = ptuz + toplam;
              }


              lcd.setCursor( 0, 0);
              lcd.print("TUZ IYOT 0.80 TL");

              lcd.setCursor( 0, 1);
              lcd.print("TOPLAM           ");
              lcd.setCursor( 7, 1);
              lcd.print(toplam);
              lcd.setCursor( 14, 1);
              lcd.print("TL");

            }
          }
        }
      }
    }
  }
  else if (harfler[7] == makarna[7])
  { if (harfler[8] == makarna[8])
    { if (harfler[9] == makarna[9])
      { if (harfler[10] == makarna[10])
        { if (harfler[11] == makarna[11])
          { if (harfler[12] == makarna[12])
            {
              if (i == 13)
              {
                toplam = pmakarna + toplam;
              }


              lcd.setCursor( 0, 0);
              lcd.print("MAKARNA  1.95 TL");

              lcd.setCursor( 0, 1);
              lcd.print("TOPLAM           ");
              lcd.setCursor( 7, 1);
              lcd.print(toplam);
              lcd.setCursor( 14, 1);
              lcd.print("TL");

            }
          }
        }
      }
    }
  }
  else if (harfler[7] == kahve[7])
  { if (harfler[8] == kahve[8])
    { if (harfler[9] == kahve[9])
      { if (harfler[10] == kahve[10])
        { if (harfler[11] == kahve[11])
          { if (harfler[12] == kahve[12])
            {
              if (i == 13)
              {
                toplam = pkahve + toplam;
              }


              lcd.setCursor( 0, 0);
              lcd.print("KahveTURK 3.10TL");

              lcd.setCursor( 0, 1);
              lcd.print("TOPLAM           ");
              lcd.setCursor( 7, 1);
              lcd.print(toplam);
              lcd.setCursor( 14, 1);
              lcd.print("TL");

            }
          }
        }
      }
    }
  }
  else if (harfler[7] == le[7])
  { if (harfler[8] == le[8])
    { if (harfler[9] == le[9])
      { if (harfler[10] == le[10])
        { if (harfler[11] == le[11])
          { if (harfler[12] == le[12])
            {
              if (i == 13)
              {
                toplam = ple + toplam;
              }


              lcd.setCursor( 0, 0);
              lcd.print("LE'PORT. 0.65 TL");

              lcd.setCursor( 0, 1);
              lcd.print("TOPLAM           ");
              lcd.setCursor( 7, 1);
              lcd.print(toplam);
              lcd.setCursor( 14, 1);
              lcd.print("TL");

            }
          }
        }
      }
    }
  }
  else if (harfler[7] == mendil[7])
  { if (harfler[8] == mendil[8])
    { if (harfler[9] == mendil[9])
      { if (harfler[10] == mendil[10])
        { if (harfler[11] == mendil[11])
          { if (harfler[12] == mendil[12])
            {
              if (i == 13)
              {
                toplam = pmendil + toplam;
              }


              lcd.setCursor( 0, 0);
              lcd.print("FAMILY   6.25 TL");

              lcd.setCursor( 0, 1);
              lcd.print("TOPLAM           ");
              lcd.setCursor( 7, 1);
              lcd.print(toplam);
              lcd.setCursor( 14, 1);
              lcd.print("TL");

            }
          }
        }
      }
    }
  }


else
  {
    if (i == 13)
    {
      
      Serial.print("yabanci");

     

lcd.setCursor( 0, 0);
    lcd.print(" TANIMSIZ  URUN ");
    lcd.setCursor( 0, 1);
    lcd.print(harfler[0]);
    lcd.print(harfler[1]);
    lcd.print(harfler[2]);
    lcd.print(harfler[3]);
    lcd.print(harfler[4]);
    lcd.print(harfler[5]);
    lcd.print(harfler[6]);
    lcd.print(harfler[7]);
    lcd.print(harfler[8]);
    lcd.print(harfler[9]);
    lcd.print(harfler[10]);
    lcd.print(harfler[11]);
    lcd.print(harfler[12]);
    lcd.print("                  ");


    }
  }

   Serial.print(harfler[0]);
      Serial.print(harfler[1]);
      Serial.print(harfler[2]);
      Serial.print(harfler[3]);
      Serial.print(harfler[4]);
      Serial.print(harfler[5]);
      Serial.print(harfler[6]);
      Serial.print(harfler[7]);
      Serial.print(harfler[8]);
      Serial.print(harfler[9]);
      Serial.print(harfler[10]);
      Serial.print(harfler[11]);
      Serial.println(harfler[12]); 
}


KbdRptParser Prs;

void setup()
{
  Serial.begin( 115200 );

  pinMode (led, OUTPUT);
  Serial.println("Start");

  if (Usb.Init() == -1) {
    Serial.println("OSC Başlatılamadı.");
  }

  //  delay( 200 );

  Hid.SetReportParser(0, (HIDReportParser*)&Prs);
  lcd.begin(16, 2);
  lcd.clear();
  lcd.noAutoscroll();




  lcd.setCursor( 0, 0);
  lcd.print("ALINAN URUNLERIN");

  lcd.setCursor( 0, 1);
  lcd.print("TOPLAMI 00.00 TL");
  delay(2000);
}

void loop()
{
  sil = analogRead (sil_pini);



  if (sil > 500)
  {
    toplam = 0;


    digitalWrite (led, 1);
    lcd.setCursor( 0, 0);
    lcd.print("ALINAN URUNLERIN");
        lcd.setCursor( 0, 1);
        lcd.print("TOPLAM           ");
        lcd.setCursor( 7, 1);
        lcd.print(toplam);
        lcd.setCursor( 14, 1);
        lcd.print("TL");
  }

  digitalWrite (led, 0);
  Usb.Task();

}

Sosyal Medyada Paylaş Facebook Twitter Google+

Etiketler: , , ,
Eklenme Tarihi: 2 Mart 2019

Konu hakkında yorumunuzu yazın

Arduino Barkod Okuyucu Projesi (4 Yorum)

  1. Merhaba Barkod Okuyucu Uygulamasını yaptım 5 tane ürün kayıt etmeme rağmen 3 taneden sonra sistem tanımsız ürün diyor. Ödev için yardımcı olabilirmisiniz.
    Teşekkürler

HOŞ GELDİNİZ

Youtube kanalıma Abone Olabilirsiniz.