विषयसूची:
- चरण 1: Arduino और RFID RC-522 (भौतिक कनेक्शन) की स्थापना
- चरण 2: Arduino कोड।,
- चरण 3: MySQL सेट करना
- चरण 4: प्रोसेसिंग आईडीई सेट करना
- चरण 5: कार्यक्रम को क्रियान्वित करना
- चरण 6: निष्कर्ष
वीडियो: RFID RC-522 और Arduino मेगा का उपयोग करके सरल सुपरमार्केट ऐप: 6 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:21
आप लोगों को यहां मेरे एक और ट्यूटोरियल पर फिर से देखना अच्छा है, यहां मैं सरल जीयूआई बनाने के लिए प्रसंस्करण के साथ आरएफआईडी आरसी -522 और अरुडिनो का उपयोग करके एक साधारण सुपरमार्केट एप्लिकेशन बनाने में आपकी सहायता करने जा रहा हूं।
नोट: प्रोसेसिंग कोड चलाते समय Arduino सीरियल मॉनिटर न चलाएं क्योंकि पोर्ट संघर्ष होगा क्योंकि दोनों को एक ही पोर्ट का उपयोग करना होगा
आप की जरूरत है:
- Arduino मेगा या Arduino Uno (मैंने मेगा का इस्तेमाल किया)
- आरएफआईडी-आरसी५२२
- 7 नर से मादा जम्पर तार
- कुछ आईडी कार्ड (वैकल्पिक)
- आरएफआईडी पुस्तकालय (जरूरी है, नीचे लिंक करें)
- वैंप सर्वर
- प्रसंस्करण आईडीई 2.2.1 (इससे अधिक का उपयोग न करें)
- प्रसंस्करण के लिए BezierSQLib-0.2.0 पुस्तकालय (नीचे लिंक डाउनलोड करें)
फिर नीचे दी गई RFID लाइब्रेरी को डाउनलोड करें और स्केच-> लाइब्रेरी शामिल करें-> फ़ाइल मेनू में. Zip लाइब्रेरी जोड़ें पर क्लिक करके इसे अपने Arduino IDE में जोड़ें।
चरण 1: 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 के लिए वैंप सर्वर स्थापित करें और इसे डेटा स्टोर करने के लिए कॉन्फ़िगर करें (
- Wamp सर्वर चलाएँ MySQL कंसोल खोलें
- डेटाबेस का चयन करें
- फिर अपने डेटा के लिए टेबल बनाएं
तालिका बनाएं आरएफआईडी (आईडी इंट (8), टोकन इंट (1), नाम वर्कर (20), राशि इंट (4));
अपना RFID टैग मान कैसे प्राप्त करें, यह जानने के लिए अब इस लिंक को देखें, फिर डेटा डालने के लिए नीचे दिए गए कोड का उपयोग करें। ID मान को अपने RFID टैग मान से बदलना न भूलें
आरएफआईडी मूल्यों में डालें (3756178, 1, 'पेंसिल', 20);
1 के रूप में टोकन मान का उपयोग करें ताकि पहली बार टैग मान को पढ़ने के बाद यह स्वचालित रूप से 2 में बदल जाए, टोकन मान के लिए 0 का उपयोग न करें जब कार्ड पढ़ते समय डीबी में डाला नहीं गया है तो यह 0 असाइन करेगा फिर इसे अज्ञात कार्ड के रूप में प्रदर्शित करेगा।.
चरण 4: प्रोसेसिंग आईडीई सेट करना
- प्रोसेसिंग आईडीई 2.2.1 डाउनलोड और इंस्टॉल करें
- ऊपर दिए गए ज़िप को MyDocuments/Processing/Library में निकालें
- अब प्रोसेसिंग आईडीई खोलें और जांचें कि पुस्तकालय सही ढंग से स्थापित है या नहीं जैसा कि ऊपर की छवि में है
- फिर प्रसंस्करण के लिए नीचे दिए गए कोड को कॉपी करें और इसे अपना नाम दें
आयात 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…
सिफारिश की:
DIY -- कैसे एक स्पाइडर रोबोट बनाने के लिए जिसे Arduino Uno का उपयोग करके स्मार्टफ़ोन का उपयोग करके नियंत्रित किया जा सकता है: 6 चरण
DIY || कैसे एक स्पाइडर रोबोट बनाने के लिए जिसे Arduino Uno का उपयोग करके स्मार्टफ़ोन का उपयोग करके नियंत्रित किया जा सकता है: स्पाइडर रोबोट बनाते समय, रोबोटिक्स के बारे में बहुत सी बातें सीख सकते हैं। जैसे रोबोट बनाना मनोरंजक होने के साथ-साथ चुनौतीपूर्ण भी है। इस वीडियो में हम आपको स्पाइडर रोबोट बनाने का तरीका दिखाने जा रहे हैं, जिसे हम अपने स्मार्टफोन (Androi
मेगा रासपी - सेगा मेगा ड्राइव में रास्पबेरी पाई / उत्पत्ति: 13 कदम (चित्रों के साथ)
मेगा रास्पी - सेगा मेगा ड्राइव / उत्पत्ति में एक रास्पबेरी पाई: यह मार्गदर्शिका आपको रास्पबेरी पाई का उपयोग करके एक पुराने सेगा मेगा ड्राइव को रेट्रो गेमिंग कंसोल में बदलने के माध्यम से ले जाती है। मैंने अपने बचपन के अनगिनत घंटे वीडियो गेम खेलने में बिताए हैं मेरी सेगा मेगा ड्राइव। मेरे अधिकांश दोस्तों के पास भी एक था, इसलिए हम
Neopixel Ws2812 M5stick-C के साथ इंद्रधनुष एलईडी चमक - Arduino IDE का उपयोग करके M5stack M5stick C का उपयोग करके Neopixel Ws2812 पर इंद्रधनुष चलाना: 5 चरण
Neopixel Ws2812 M5stick-C के साथ इंद्रधनुष एलईडी चमक | Arduino IDE का उपयोग करके M5stack M5stick C का उपयोग करके Neopixel Ws2812 पर इंद्रधनुष चलाना: हाय दोस्तों इस निर्देश में हम सीखेंगे कि कैसे Arduino IDE के साथ m5stack m5stick-C डेवलपमेंट बोर्ड के साथ neopixel ws2812 LED या एलईडी स्ट्रिप या एलईडी मैट्रिक्स या एलईडी रिंग का उपयोग करना है और हम करेंगे इसके साथ एक इंद्रधनुष पैटर्न
Arduino और TFT डिस्प्ले का उपयोग करके रीयलटाइम घड़ी कैसे बनाएं - 3.5 इंच TFT डिस्प्ले के साथ Arduino मेगा RTC: 4 कदम
Arduino और TFT डिस्प्ले का उपयोग करके रीयलटाइम क्लॉक कैसे बनाएं | 3.5 इंच TFT डिस्प्ले के साथ Arduino मेगा RTC: मेरे Youtube चैनल पर जाएँ। परिचय: - इस पोस्ट में मैं 3.5 इंच TFT टच LCD, Arduino Mega का उपयोग करके "रियल टाइम क्लॉक" बनाने जा रहा हूँ 2560 और DS3231 RTC मॉड्यूल….शुरू करने से पहले…मेरे YouTube चैनल से वीडियो देखें..नोट:- यदि आप Arduin का उपयोग कर रहे हैं
Arduino मेगा 2560 और IoT का उपयोग करके होस्टिंग एप्लिकेशन के लिए मोटर प्रबंधन प्रणाली: 8 चरण (चित्रों के साथ)
अरुडिनो मेगा 2560 और आईओटी का उपयोग करते हुए उत्थापन अनुप्रयोग के लिए मोटर प्रबंधन प्रणाली: आजकल औद्योगिक अनुप्रयोगों में आईओटी आधारित माइक्रोकंट्रोलर का व्यापक रूप से उपयोग किया जाता है। आर्थिक रूप से इनका उपयोग कंप्यूटर के बजाय किया जाता है। परियोजना का उद्देश्य हमें पूरी तरह से डिजिटल नियंत्रण, डेटा लकड़हारा और 3 चरण इंडक्शन मोटर की निगरानी करना है