विषयसूची:

RFID RC-522 और Arduino मेगा का उपयोग करके सरल सुपरमार्केट ऐप: 6 चरण
RFID RC-522 और Arduino मेगा का उपयोग करके सरल सुपरमार्केट ऐप: 6 चरण

वीडियो: RFID RC-522 और Arduino मेगा का उपयोग करके सरल सुपरमार्केट ऐप: 6 चरण

वीडियो: RFID RC-522 और Arduino मेगा का उपयोग करके सरल सुपरमार्केट ऐप: 6 चरण
वीडियो: DIY Smart Auto Billing Shopping Trolley Using Arduino Automated Shopping Cart 2024, सितंबर
Anonim
RFID RC-522 और Arduino मेगा का उपयोग करके सरल सुपरमार्केट ऐप
RFID RC-522 और Arduino मेगा का उपयोग करके सरल सुपरमार्केट ऐप

आप लोगों को यहां मेरे एक और ट्यूटोरियल पर फिर से देखना अच्छा है, यहां मैं सरल जीयूआई बनाने के लिए प्रसंस्करण के साथ आरएफआईडी आरसी -522 और अरुडिनो का उपयोग करके एक साधारण सुपरमार्केट एप्लिकेशन बनाने में आपकी सहायता करने जा रहा हूं।

नोट: प्रोसेसिंग कोड चलाते समय Arduino सीरियल मॉनिटर न चलाएं क्योंकि पोर्ट संघर्ष होगा क्योंकि दोनों को एक ही पोर्ट का उपयोग करना होगा

आप की जरूरत है:

  1. Arduino मेगा या Arduino Uno (मैंने मेगा का इस्तेमाल किया)
  2. आरएफआईडी-आरसी५२२
  3. 7 नर से मादा जम्पर तार
  4. कुछ आईडी कार्ड (वैकल्पिक)
  5. आरएफआईडी पुस्तकालय (जरूरी है, नीचे लिंक करें)
  6. वैंप सर्वर
  7. प्रसंस्करण आईडीई 2.2.1 (इससे अधिक का उपयोग न करें)
  8. प्रसंस्करण के लिए BezierSQLib-0.2.0 पुस्तकालय (नीचे लिंक डाउनलोड करें)

फिर नीचे दी गई RFID लाइब्रेरी को डाउनलोड करें और स्केच-> लाइब्रेरी शामिल करें-> फ़ाइल मेनू में. Zip लाइब्रेरी जोड़ें पर क्लिक करके इसे अपने Arduino IDE में जोड़ें।

चरण 1: Arduino और RFID RC-522 (भौतिक कनेक्शन) की स्थापना

Arduino और RFID RC-522 (भौतिक कनेक्शन) की स्थापना
Arduino और RFID RC-522 (भौतिक कनेक्शन) की स्थापना

जैसा कि ऊपर की छवि में दिखाया गया है, बस Arduino को RFID-RC522 से कनेक्ट करें। चेतावनी: केवल 3.3V की आपूर्ति करें अन्यथा मॉड्यूल जल जाएगा

Uno/Nano और Mega. के लिए पिन आउट करें

RC522 मॉड्यूल Uno/नैनो मेगास्डा D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/A N/A GND GND GND RST D9 D8 3.3V 3.3V 3.3V

चरण 2: Arduino कोड।,

नीचे दिए गए कोड को कॉपी करें और फिर इसे अपने Arduino पर अपलोड करें

/*पिनआउट: RC522 मॉड्यूल Uno/नैनो MEGA SDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/AN/A GND GND GND RST D9 D8 3.3V 3.3V 3.3V *//* मानक Arduino SPI लाइब्रेरी शामिल करें */ #शामिल /* RFID पुस्तकालय शामिल करें */ #शामिल करें

/* एसडीए (एसएस) और आरएसटी (रीसेट) पिन के लिए प्रयुक्त डीआईओ को परिभाषित करें। */

#SDA_DIO 9 परिभाषित करें #RESET_DIO 8 परिभाषित करें

/* RFID पुस्तकालय का एक उदाहरण बनाएँ */

आरएफआईडी RC522 (SDA_DIO, RESET_DIO); इंट रीडर = 0;

व्यर्थ व्यवस्था()

{ सीरियल.बेगिन (९६००); /* SPI इंटरफ़ेस सक्षम करें */ SPI.begin(); /* RFID रीडर इनिशियलाइज़ करें */ RC522.init (); }

शून्य लूप ()

{/* अस्थायी लूप काउंटर */ बाइट i;

/* क्या कार्ड का पता चला है? */

अगर (RC522.isCard ()) {/* यदि ऐसा है तो उसका क्रमांक प्राप्त करें */ RC522.readCardSerial();

/* सीरियल नंबर को UART में आउटपुट करें */ for(i = 0; i <= 2; i++) { Serial.print(RC522.serNum, DEC); // सीरियल.प्रिंट (RC522.serNum , HEX); } सीरियल.प्रिंट ("", "); सीरियल.प्रिंट (रीडर++); सीरियल.प्रिंट्लन (); } देरी (1000); }

चरण 3: MySQL सेट करना

MySQL की स्थापना
MySQL की स्थापना
  1. MySQL के लिए वैंप सर्वर स्थापित करें और इसे डेटा स्टोर करने के लिए कॉन्फ़िगर करें (
  2. Wamp सर्वर चलाएँ MySQL कंसोल खोलें
  3. डेटाबेस का चयन करें
  4. फिर अपने डेटा के लिए टेबल बनाएं

तालिका बनाएं आरएफआईडी (आईडी इंट (8), टोकन इंट (1), नाम वर्कर (20), राशि इंट (4));

अपना RFID टैग मान कैसे प्राप्त करें, यह जानने के लिए अब इस लिंक को देखें, फिर डेटा डालने के लिए नीचे दिए गए कोड का उपयोग करें। ID मान को अपने RFID टैग मान से बदलना न भूलें

आरएफआईडी मूल्यों में डालें (3756178, 1, 'पेंसिल', 20);

1 के रूप में टोकन मान का उपयोग करें ताकि पहली बार टैग मान को पढ़ने के बाद यह स्वचालित रूप से 2 में बदल जाए, टोकन मान के लिए 0 का उपयोग न करें जब कार्ड पढ़ते समय डीबी में डाला नहीं गया है तो यह 0 असाइन करेगा फिर इसे अज्ञात कार्ड के रूप में प्रदर्शित करेगा।.

चरण 4: प्रोसेसिंग आईडीई सेट करना

प्रोसेसिंग आईडीई सेट करना
प्रोसेसिंग आईडीई सेट करना
  1. प्रोसेसिंग आईडीई 2.2.1 डाउनलोड और इंस्टॉल करें
  2. ऊपर दिए गए ज़िप को MyDocuments/Processing/Library में निकालें
  3. अब प्रोसेसिंग आईडीई खोलें और जांचें कि पुस्तकालय सही ढंग से स्थापित है या नहीं जैसा कि ऊपर की छवि में है
  4. फिर प्रसंस्करण के लिए नीचे दिए गए कोड को कॉपी करें और इसे अपना नाम दें

आयात de.bezier.data.sql.*;import processing.serial.*; // आयात java.math. BigInteger;

// fjenett. द्वारा 2005-05-10 को बनाया गया

// अपडेट किया गया fjenett 20080605

MySQL डीबीकनेक्शन;

स्ट्रिंग एस = ""; इंट वेट = 700; इंट चौड़ाई = 1200; लंबी आईडी; इंट टोकन; इंट राशि; इंट कुल = 0;

स्ट्रिंग ए = {"नल", "न्यूल"};

इंट एंड = 10; // नंबर 10 लाइनफीड के लिए ASCII है (सीरियल का अंत। प्रिंट्लन), बाद में हम अलग-अलग संदेशों को तोड़ने के लिए इसकी तलाश करेंगे स्ट्रिंग सीरियल; // 'सीरियल' नामक एक नई स्ट्रिंग घोषित करें। एक स्ट्रिंग वर्णों का एक क्रम है (डेटा प्रकार "चार" के रूप में जाना जाता है) सीरियल पोर्ट; स्ट्रिंग कर्व, पिछला, नाम; पीफॉन्ट एफ;

व्यर्थ व्यवस्था()

{// आकार (चौड़ाई, वजन); आकार (700, 500); f = createFont ("एरियल", 24, सत्य); // यह उदाहरण मानता है कि आप स्थानीय रूप से // mysql सर्वर ("लोकलहोस्ट" पर) चला रहे हैं। // // अपने mysql-account के साथ --username--, --password-- को बदलें। // स्ट्रिंग उपयोगकर्ता = "रूट"; स्ट्रिंग पास = ""; // उपयोग करने के लिए डेटाबेस का नाम // स्ट्रिंग डेटाबेस = "IOT_Database"; // तालिका का नाम जो बनाया जाएगा स्ट्रिंग तालिका = ""; // सर्वर "लोकलहोस्ट" के डेटाबेस से कनेक्ट करें dbconnection = नया MySQL (यह, "लोकलहोस्ट", डेटाबेस, उपयोगकर्ता, पास); पोर्ट = नया सीरियल (यह, सीरियल.लिस्ट () [0], 9600); // एक पोर्ट और बॉड दर निर्दिष्ट करके ऑब्जेक्ट को प्रारंभ करना (Arduino से मेल खाना चाहिए) port.clear(); // सीरियल लाइब्रेरी से फ़ंक्शन जो पहली रीडिंग को फेंक देता है, अगर हमने Arduino से एक स्ट्रिंग के बीच में पढ़ना शुरू किया सीरियल = port.readStringUntil(end); // फ़ंक्शन जो सीरियल पोर्ट से एक प्रिंटलाइन तक स्ट्रिंग को पढ़ता है और फिर हमारे स्ट्रिंग वेरिएबल (जिसे 'सीरियल' कहा जाता है) को स्ट्रिंग असाइन करता है सीरियल = नल; } शून्य ड्रा () {पृष्ठभूमि (२५५); टेक्स्टफॉन्ट (एफ, 24); भरें (0); टेक्स्ट ("कुल राशि रु:", 400, 400); पाठ (कुल, ५८५, ४००); आंकड़े(); जबकि (पोर्ट.उपलब्ध ()> 0) {// जब तक सीरियल पोर्ट से डेटा आ रहा है, इसे पढ़ें और इसे सीरियल = port.readStringUntil(end) स्टोर करें; } अगर (धारावाहिक! = शून्य) {पिछला = curr; कुर = ए [1]; ए = विभाजन (धारावाहिक, ','); // एक नया सरणी (जिसे 'ए' कहा जाता है) जो अलग-अलग कोशिकाओं में मूल्यों को संग्रहीत करता है (आपके Arduino प्रोग्राम में निर्दिष्ट अल्पविराम से अलग) अगर ((curr).equals(prev)) {//} और {//println("curr ", कुर); // println ("पिछला", पिछला); समारोह(); } } }

शून्य समारोह ()

{ अगर (dbconnection.connect ()) {// अब इसे वापस पढ़ें // dbconnection.query("Rfid से चुनें * जहां ID="+a[0]+""); जबकि (dbconnection.next ()) {ID = dbconnection.getInt("ID"); टोकन = dbconnection.getInt ("टोकन"); राशि = dbconnection.getInt ("राशि"); } अगर (टोकन == 0) {println ("ठीक है"); टेक्स्टफॉन्ट (एफ, 54); भरें (255, 0, 0, 160); पाठ ("अज्ञात आइटम का पता चला", 50, 300); देरी (2000); } और अगर (टोकन == 1) {कुल = कुल + राशि; dbconnection.query ("आरएफआईडी सेट टोकन अपडेट करें = 2 जहां आईडी = "+ ए [0] +""); प्रिंट्लन ("ओके"); टेक्स्टफॉन्ट (एफ, 24); भरें (255, 0, 0, 160); // पाठ ("आइटम जोड़ा गया", 10, 30); देरी (1000); } और अगर (टोकन == 2) {कुल = कुल-राशि; dbconnection.query ("आरएफआईडी सेट टोकन = 1 अपडेट करें जहां आईडी = "+ ए [0] +""); प्रिंट्लन ("ओके"); टेक्स्टफॉन्ट (एफ, 24); भरें (255, 0, 0, 160); // पाठ ("आइटम हटा दिया गया", 10, 30); देरी (1000); } और { } dbconnection.close (); } और {// कनेक्शन विफल! } }

शून्य डेटा ()

{इंट पोजीशन = १००; अगर (dbconnection.connect ()) { dbconnection.query ("आरएफआईडी से चुनें * जहां टोकन = 2"); जबकि (dbconnection.next ()) {नाम = dbconnection.getString ("नाम"); राशि = dbconnection.getInt ("राशि"); टेक्स्टफॉन्ट (एफ, 24); भरें (0, 0, 255, 160); पाठ (नाम, 10, स्थिति); भरें (0, 0, 0, 160); पाठ (राशि, २१५, स्थिति); स्थिति = स्थिति + 30; } } डीबीकनेक्शन.क्लोज़ (); }

चरण 5: कार्यक्रम को क्रियान्वित करना

कार्यक्रम का संचालन
कार्यक्रम का संचालन
कार्यक्रम का संचालन
कार्यक्रम का संचालन
कार्यक्रम का संचालन
कार्यक्रम का संचालन
कार्यक्रम का संचालन
कार्यक्रम का संचालन

रन बटन पर क्लिक करके प्रोग्राम चलाएं पॉपअप विंडो बंद न करें निष्पादन बंद हो जाएगा और क्वेरी के नीचे MySQL में संग्रहीत डेटा देखने के लिए …

चरण 6: निष्कर्ष

मेरे ट्यूटोरियल को पढ़ने के लिए मैं आपको धन्यवाद देना चाहता हूं। यदि आप इसे उपयोगी पाते हैं और एक पसंद (पसंदीदा) छोड़ते हैं या मुझसे कुछ भी पूछते हैं तो मैं इसकी सराहना करता हूं क्योंकि यह मुझे इन निर्देशों को करने के लिए प्रेरित करता है। कोई भी प्रश्न पूछने के लिए स्वतंत्र महसूस करें जो आपको जानना आवश्यक है …

हैप्पी कोडिंग Arduino…

सिफारिश की: