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(); }
Etiketler: arduino barkod, barkod okuması, barkod okuyucu, barkod okuyucu devresi
Eklenme Tarihi: 2 Mart 2019
Arduino uno klon ve orijinal R3 kartlarım var ancak aldığım USB Shield ı bi türlü aktif edemedim. Kartlarla yaptığım en ufak projeleri bile USB Shield ile yapamıyorum. Sorun ne olabilir?
5v baglanti noktalarinda lehim varmış. Kartin uzerinde.
hocam ben barkod uygulamasını yaptım ama lcd keypad shield kullanıp ledisz yaptım her şeyi ayarladım ancak okuttuğumda herhangi bişey olmuyor ne yapabilirim acill
Lcd komutlarında hata yapmış olabilirsiniz.
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
Sisteme ürünleri tanıtmanız da hata olabilir veya hafıza sorunu olabilir.
Merhaba,
mail adresi verseniz kodu sizinle paylaşsam kontrol etme şansınız olur mu. Orta okul ödevi olduğundan çok anlamadığımız bir konu. arkadaşıma yardımcı oluyorum.toplam 5 ürün var.
teşekkürler
info@robotdevreleri.com