جدول المحتويات:
- الخطوة 1: إعداد Arduino و RFID RC-522 (الاتصال المادي)
- الخطوة 2: كود اردوينو.،
- الخطوة الثالثة: إعداد MySQL
- الخطوة 4: إعداد معالجة IDE
- الخطوة الخامسة: تنفيذ البرنامج
- الخطوة السادسة: الخاتمة
فيديو: تطبيق سوبر ماركت بسيط باستخدام RFID RC-522 و Arduino Mega: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:39
من الجيد رؤيتكم مرة أخرى هنا في تعليمي الآخر ، هنا سأساعدك في إنشاء تطبيق سوبر ماركت بسيط باستخدام RFID RC-522 و Arduino مع المعالجة لإنشاء واجهة مستخدم رسومية بسيطة.
ملاحظة: لا تقم بتشغيل شاشة Arduino التسلسلية أثناء تشغيل رمز المعالجة لأن تعارض المنفذ سيحدث حيث يتعين على كليهما استخدام نفس المنفذ
انت تحتاج:
- Arduino Mega أو Arduino Uno (كنت أستخدم Mega)
- RFID-RC522
- 7 أسلاك توصيل من الذكور إلى الإناث
- بعض بطاقات الهوية (اختياري)
- مكتبة RFID (يجب ، الرابط أدناه)
- خادم Wamp
- IDE 2.2.1 المعالجة (لا تستخدم أكثر من ذلك)
- مكتبة BezierSQLib-0.2.0 للمعالجة (رابط التنزيل أدناه)
ثم قم بتنزيل مكتبة RFID أدناه وأضفها إلى Arduino IDE الخاص بك عن طريق النقر فوق Sketch-> Include Library-> Add. Zip Library في قائمة الملفات
الخطوة 1: إعداد Arduino و RFID RC-522 (الاتصال المادي)
ما عليك سوى توصيل اردوينو بـ RFID-RC522 كما هو موضح في الصورة أعلاه تحذير: قم بتزويد 3.3 فولت فقط وإلا ستحترق الوحدة
Pin Out لـ Uno / Nano و Mega
RC522 MODULE Uno / Nano MEGASDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ غير متوفر غير متوفر GND GND RST D9 D8 3.3 فولت 3.3 فولت 3.3 فولت
الخطوة 2: كود اردوينو.،
انسخ الكود أدناه ثم قم بتحميله على Arduino الخاص بك
/ * PINOUT: RC522 MODULE Uno / Nano MEGA SDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N / AN / A GND GND RST D9 D8 3.3V 3.3V 3.3V * / / * تضمين مكتبة Arduino SPI القياسية * / #include / * تضمين مكتبة RFID * / #include
/ * حدد DIO المستخدم لدبابيس SDA (SS) و RST (إعادة التعيين). * /
#define SDA_DIO 9 # تعريف RESET_DIO 8
/ * إنشاء مثيل لمكتبة RFID * /
RFID RC522 (SDA_DIO ، RESET_DIO) ؛ القارئ int = 0 ؛
الإعداد باطل()
{Serial.begin (9600) ، / * تمكين واجهة SPI * / SPI.begin () ؛ / * تهيئة قارئ RFID * / RC522.init () ؛ }
حلقة فارغة()
{/ * عداد الحلقة المؤقتة * / بايت i ؛
/ * هل تم الكشف عن بطاقة؟ * /
if (RC522.isCard ()) {/ * إذا كان الأمر كذلك ، فاحصل على الرقم التسلسلي * / RC522.readCardSerial () ؛
/ * إخراج الرقم التسلسلي إلى UART * / لـ (i = 0 ؛ i <= 2 ؛ i ++) {Serial.print (RC522.serNum ، DEC) ؛ //Serial.print(RC522.serNum ، HEX) ؛ } Serial.print ("،")؛ Serial.print (قارئ ++) ؛ Serial.println () ، } تأخير (1000)؛ }
الخطوة الثالثة: إعداد MySQL
- قم بتثبيت خادم Wamp لـ MySQL وتهيئته لتخزين البيانات (
- قم بتشغيل وحدة تحكم MySQL للخادم wamp
- حدد قاعدة البيانات
- ثم قم بإنشاء جدول لبياناتك
إنشاء جدول rfid (ID int (8) ، token int (1) ، Name varchar (20) ، Amount int (4)) ؛
اعرض الآن هذا الرابط لمعرفة كيفية الحصول على قيمة علامة RFID الخاصة بك ، ثم استخدم الكود أدناه لإدخال البيانات. لا تنسَ استبدال قيمة المعرف بقيمة علامة RFID الخاصة بك
إدراج في قيم rfid (3756178 ، 1 ، "Pencil" ، 20) ؛
استخدم قيمة الرمز المميز كـ 1 بحيث بعد قراءة قيمة العلامة لأول مرة ستتغير تلقائيًا إلى 2 ، لا تستخدم 0 لقيمة الرمز المميز عند قراءة البطاقة التي لم يتم إدراجها في قاعدة البيانات ، فستقوم بتعيين 0 ثم عرضها كبطاقة غير معروفة..
الخطوة 4: إعداد معالجة IDE
- قم بتنزيل وتثبيت معالجة IDE 2.2.1
- قم باستخراج ملف ZIP الوارد أعلاه إلى MyDocuments / Processing / Libraries
- افتح الآن IDE للمعالجة وتحقق من تثبيت المكتبة بشكل صحيح أم لا كما في الصورة أعلاه
- ثم انسخ الكود أدناه للمعالجة وقم بتسميته بنفسك
استيراد de.bezier.data.sql. * ؛ معالجة الاستيراد. تسلسل. * ؛ // استيراد java.math. BigInteger ؛
// تم إنشاؤه 2005-05-10 بواسطة fjenett
// محدث fjenett 20080605
MySQL dbconnection ؛
سلسلة s = "" ؛ int Wheight = 700 ؛ int Wwidth = 1200 ؛ معرف طويل رمز int المبلغ إجمالي عدد صحيح = 0 ؛
String a = {"NULL"، "NULL"} ؛
نهاية int = 10 ؛ // الرقم 10 هو ASCII لتغذية الأسطر (نهاية serial.println) ، سنبحث لاحقًا عن هذا لتفكيك الرسائل الفردية String serial ؛ // أعلن عن سلسلة جديدة تسمى 'serial'. السلسلة عبارة عن سلسلة من الأحرف (نوع البيانات يعرف باسم "char") المنفذ التسلسلي ؛ سلسلة الحالية ، السابقة ، الاسم ؛ PFont و ؛
الإعداد باطل()
{// الحجم (العرض ، الوزن) ؛ الحجم (700 ، 500) ؛ f = createFont ("Arial"، 24، true) ؛ // يفترض هذا المثال أنك تقوم بتشغيل // mysql server محليًا (على "localhost"). // // استبدل - اسم المستخدم - ، - كلمة المرور - بحساب mysql الخاص بك. // String user = "root" ؛ تمرير السلسلة = "" ؛ // اسم قاعدة البيانات لاستخدام // String database = "IOT_Database" ؛ // اسم الجدول الذي سيتم إنشاؤه String table = ""؛ // الاتصال بقاعدة بيانات الخادم "المضيف المحلي" dbconnection = MySQL جديد (هذا ، "المضيف المحلي" ، قاعدة البيانات ، المستخدم ، تمرير) ؛ المنفذ = مسلسل جديد (this، Serial.list () [0]، 9600)؛ // تهيئة الكائن عن طريق تعيين منفذ ومعدل باود (يجب أن يتطابق مع منفذ Arduino) port.clear () ؛ // وظيفة من مكتبة تسلسلية تطرح القراءة الأولى ، في حال بدأنا القراءة في منتصف سلسلة من Arduino serial = port.readStringUntil (end) ؛ // دالة تقرأ السلسلة من المنفذ التسلسلي حتى println ثم تعين سلسلة إلى متغير السلسلة (يسمى 'serial') serial = null ؛ } رسم باطل () {خلفية (255)؛ textFont (ص ، 24) ؛ ملء (0) ؛ نص ("المبلغ الإجمالي روبية:" ، 400 ، 400) ؛ نص (المجموع ، 585 ، 400) ؛ البيانات()؛ while (port.available ()> 0) {// طالما أن هناك بيانات قادمة من المنفذ التسلسلي ، اقرأها واحفظها بشكل تسلسلي = port.readStringUntil (end) ؛ } if (serial! = null) {prev = current؛ تيار = [1] ؛ أ = انقسام (مسلسل ، '،') ؛ // مصفوفة جديدة (تسمى 'a') تخزن القيم في خلايا منفصلة (مفصولة بفواصل محددة في برنامج Arduino الخاص بك) إذا ((current).equals (prev)) {//} else {// println ("cur "، تيار) ؛ // println ("السابق" ، السابق) ؛ وظيفة()؛ }}}
دالة باطلة ()
{if (dbconnection.connect ()) {// الآن اقرأها مرة أخرى // dbconnection.query ("SELECT * from rfid حيث ID =" + a [0] + "") ؛ while (dbconnection.next ()) {ID = dbconnection.getInt ("ID") ؛ الرمز المميز = dbconnection.getInt ("الرمز المميز") ؛ Amount = dbconnection.getInt ("المبلغ") ؛ } if (token == 0) {println ("Ok")؛ textFont (ص ، 54) ؛ ملء (255 ، 0 ، 0 ، 160) ؛ نص ("تم اكتشاف عنصر غير معروف" ، 50 ، 300) ؛ تأخير (2000) ؛ } else if (الرمز المميز == 1) {الإجمالي = الإجمالي + المبلغ ؛ dbconnection.query ("تحديث rfid set token = 2 حيث المعرف =" + a [0] + "") ؛ println ("موافق") ؛ textFont (ص ، 24) ؛ ملء (255 ، 0 ، 0 ، 160) ؛ // نص ("عنصر مضاف" ، 10 ، 30) ؛ تأخير (1000) ؛ } else if (الرمز المميز == 2) {Total = Total-Amount؛ dbconnection.query ("تحديث rfid set token = 1 حيث ID =" + a [0] + "") ؛ println ("موافق") ؛ textFont (ص ، 24) ؛ ملء (255 ، 0 ، 0 ، 160) ؛ // text ("تمت إزالة العنصر" ، 10 ، 30) ؛ تأخير (1000) ؛ } else {} dbconnection.close () ؛ } آخر {// فشل الاتصال! }}
بيانات باطلة ()
{موضع int = 100 ؛ if (dbconnection.connect ()) {dbconnection.query ("SELECT * from rfid where token = 2") ؛ while (dbconnection.next ()) {Name = dbconnection.getString ("الاسم") ؛ Amount = dbconnection.getInt ("المبلغ") ؛ textFont (ص ، 24) ؛ ملء (0 ، 0 ، 255 ، 160) ؛ نص (الاسم ، 10 ، المنصب) ؛ ملء (0 ، 0 ، 0 ، 160) ؛ نص (المبلغ ، 215 ، الموضع) ؛ الموقف = الموقف + 30 ؛ }} dbconnection.close () ؛ }
الخطوة الخامسة: تنفيذ البرنامج
قم بتشغيل البرنامج بالنقر فوق زر التشغيل ، لا تغلق النافذة المنبثقة ، سيؤدي إغلاق النافذة المنبثقة إلى إيقاف التنفيذ والاستعلام أدناه لعرض البيانات المخزنة في MySQL …
الخطوة السادسة: الخاتمة
أود أن أشكرك على قراءة البرنامج التعليمي الخاص بي. سأكون ممتنًا إذا وجدت ذلك مفيدًا وأسقطت إعجابًا (مفضلًا) أو سألتني عن أي شيء لأنه يجعلني متحمسًا للقيام بهذه التعليمات. لا تتردد في طرح أي أسئلة تحتاج إلى معرفتها …
اردوينو ترميز سعيد …
موصى به:
سوبر ماريو باستخدام الجرس: 3 خطوات
سوبر ماريو باستخدام الجرس: الاستماع للموسيقى يريح أذهاننا وروحنا. لنضيف بعض الموسيقى إلى مشاريع اردوينو الخاصة بك باستخدام مكون واحد ، الجرس ، لقد وجدت هذا المشروع الرائع باستخدام Buzzer الذي يقوم بتشغيل أغنية سوبر ماريو التي كتبها Dipto Pratyaksa على تعليمات. بالإضافة
كيفية عمل IOT بسيط باستخدام تطبيق Telegram: 5 خطوات
كيف تصنع IOT بسيطًا باستخدام تطبيق Telegram: في الجيل الحالي ، الإنترنت هو كل شيء. يلعب إنترنت الأشياء دورًا رئيسيًا في العالم الحالي. دون إضاعة الكثير من الوقت ، يمكننا الانتقال إلى العمل العملي لـ IOT. هنا سوف نتحكم في المصباح وكذلك
تطبيق ANDROID يتحكم فيه بسيط RGB LED مصباح مكتبي: 5 خطوات
تطبيق ANDROID يتم التحكم فيه عن طريق التحكم في مصباح سطح المكتب RGB LED البسيط: لذلك في هذا البرنامج التعليمي ، سأوضح لك كيفية التحكم في rgb led باستخدام هاتف Android الذكي. تعمل مصابيح RGB LED على المفهوم الأساسي لمزيج الألوان الأساسية لأي ظل ، أي الأحمر والأخضر والأزرق. تحتوي جميع الألوان على هذه الألوان الأساسية المكونة
قم بإنشاء تطبيق بسيط لهاتفك الذكي (لا حاجة إلى تشفير): 10 خطوات
أنشئ تطبيقًا بسيطًا لهاتفك الذكي (لا حاجة إلى ترميز): التحديث: هذه التقنية قديمة ، وهناك الآن العديد من الطرق الأخرى لإنشاء تطبيق .. قد لا يعمل هذا بعد الآن. أول تطبيق منشور لي متاح للتنزيل على تطبيق Android سوق هنا. فيما يلي برنامج تعليمي سريع حول كيفية إجراء أي
شخصية سوبر ماريو؟ منع باستخدام GIMP: 3 خطوات
شخصية سوبر ماريو؟ Block With GIMP: ألعاب Super Mario رائعة. إذا كنت لا توافق ، فأنت بذيء. إذا كنت لا تعرف ما هو Super Mario ، فتسلق من الكهف الذي تعيش فيه واشتر N64- أو Wii أو DS أو GBA- سيطر Mario على Nintendo. عند ؟ ب