সুচিপত্র:
- ধাপ 1: Arduino এবং RFID RC-522 (শারীরিক সংযোগ) সেট আপ করা
- ধাপ 2: Arduino কোড।
- ধাপ 3: মাইএসকিউএল সেট আপ করা
- ধাপ 4: প্রসেসিং আইডিই সেট আপ করা
- ধাপ 5: প্রোগ্রাম চালানো
- ধাপ 6: উপসংহার
ভিডিও: RFID RC-522 এবং Arduino Mega: 6 ধাপ ব্যবহার করে সহজ সুপার মার্কেট অ্যাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:00
আমার আরেকটি টিউটোরিয়ালে আপনাকে আবার এখানে দেখে ভাল লাগল, এখানে আমি আপনাকে সহজ GUI তৈরির জন্য RFID RC-522 এবং Arduino ব্যবহার করে একটি সহজ সুপার মার্কেট অ্যাপ্লিকেশন তৈরি করতে সাহায্য করতে যাচ্ছি।
দ্রষ্টব্য: প্রসেসিং কোড চালানোর সময় Arduino সিরিয়াল মনিটর চালাবেন না কারণ পোর্ট দ্বন্দ্ব ঘটবে কারণ উভয়কে একই পোর্ট ব্যবহার করতে হবে
তোমার দরকার:
- Arduino মেগা বা Arduino Uno (আমি মেগা ব্যবহার করেছি)
- RFID-RC522
- 7 পুরুষ থেকে মহিলা জাম্পার তার
- কিছু আইডি কার্ড (alচ্ছিক)
- আরএফআইডি লাইব্রেরি (অবশ্যই, নীচের লিঙ্ক)
- 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 এর সাথে সংযুক্ত করুন।
Uno/Nano এবং Mega এর জন্য পিন আউট করুন
RC522 মডিউল Uno/Nano MEGASDA 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 এ আপলোড করুন
/*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 লাইব্রেরি অন্তর্ভুক্ত করুন */ #অন্তর্ভুক্ত/ *RFID লাইব্রেরি অন্তর্ভুক্ত করুন */ #অন্তর্ভুক্ত করুন
/* SDA (SS) এবং RST (রিসেট) পিনের জন্য ব্যবহৃত DIO সংজ্ঞায়িত করুন। */
#SDA_DIO 9 নির্ধারণ করুন #RESET_DIO 8 নির্ধারণ করুন
/ * RFID লাইব্রেরির একটি উদাহরণ তৈরি করুন */
RFID RC522 (SDA_DIO, RESET_DIO); int পাঠক = 0;
অকার্যকর সেটআপ()
{Serial.begin (9600); / * SPI ইন্টারফেস সক্ষম করুন */ SPI.begin (); / * আরএফআইডি রিডার শুরু করুন */ RC522.init (); }
অকার্যকর লুপ ()
{ / * অস্থায়ী লুপ কাউন্টার * / বাইট i;
/* একটি কার্ড সনাক্ত করা হয়েছে? */
যদি (RC522.isCard ()) { / * যদি তাই হয় তাহলে তার ক্রমিক নম্বর পান * / RC522.readCardSerial ();
/ * (I = 0; i <= 2; i ++) {Serial.print (RC522.serNum , DEC); // সিরিয়াল.প্রিন্ট (RC522.serNum , হেক্স); } সিরিয়াল.প্রিন্ট (","); সিরিয়াল.প্রিন্ট (পাঠক ++); Serial.println (); } বিলম্ব (1000); }
ধাপ 3: মাইএসকিউএল সেট আপ করা
- মাইএসকিউএল এর জন্য ওয়্যাম্প সার্ভার ইনস্টল করুন এবং ডেটা সংরক্ষণের জন্য এটি কনফিগার করুন (
- Wamp serveropen MySQL কনসোল চালান
- ডাটাবেস নির্বাচন করুন
- তারপর আপনার ডেটার জন্য টেবিল তৈরি করুন
টেবিল rfid তৈরি করুন (ID int (8), টোকেন int (1), নাম varchar (20), পরিমান int (4));
এখন আপনার RFID ট্যাগ ভ্যালু কিভাবে পাবেন তা জানতে এই লিঙ্কটি দেখুন তারপর ডাটা toোকানোর জন্য নিচের কোডটি ব্যবহার করুন।
rfid মান সন্নিবেশ করান (3756178, 1, 'পেন্সিল', 20);
1 হিসাবে টোকেন ভ্যালু ব্যবহার করুন যাতে প্রথমবার ট্যাগ ভ্যালু পড়ার পর এটি স্বয়ংক্রিয়ভাবে 2 তে পরিবর্তিত হয়, টোকেন ভ্যালুর জন্য 0 ব্যবহার করবেন না যখন DB- এ cardোকানো কার্ড পড়ার সময় এটি 0 বরাদ্দ করবে তারপর এটি অজানা কার্ড হিসেবে দেখাবে। ।
ধাপ 4: প্রসেসিং আইডিই সেট আপ করা
- প্রসেসিং IDE 2.2.1 ডাউনলোড এবং ইনস্টল করুন
- মাইডকুমেন্টস/প্রসেসিং/লাইব্রেরিতে উপরের জিপটি এক্সট্রাক্ট করুন
- এখন প্রসেসিং আইডিই খুলুন এবং লাইব্রেরিটি সঠিকভাবে ইনস্টল করা আছে কিনা দেখুন উপরের ছবির মতো নয়
- তারপর প্রক্রিয়াকরণের জন্য নীচের কোডটি অনুলিপি করুন এবং আপনার নিজের নাম দিন
আমদানি de.bezier.data.sql।*; আমদানি প্রক্রিয়াকরণ। সিরিয়াল। // আমদানি java.math. BigInteger;
// fjenett দ্বারা 2005-05-10 তৈরি করা হয়েছে
// আপডেট করা fjenett 20080605
মাইএসকিউএল ডিবি সংযোগ;
স্ট্রিং s = ""; int Wheight = 700; int Wwidth = 1200; দীর্ঘ আইডি; int টোকেন; int পরিমাণ; int মোট = 0;
স্ট্রিং a = {"NULL", "NULL"};
int শেষ = 10; // লাইনফিডের জন্য 10 নম্বরটি ASCII (সিরিয়াল.প্রিন্টলনের শেষ), পরে আমরা পৃথক বার্তা স্ট্রিং সিরিয়াল ভাঙ্গার জন্য এটির সন্ধান করব; // 'সিরিয়াল' নামে একটি নতুন স্ট্রিং ঘোষণা করুন। একটি স্ট্রিং হল অক্ষরের একটি ক্রম (ডেটা টাইপ "চর" নামে পরিচিত) সিরিয়াল পোর্ট; স্ট্রিং কার, প্রি, নাম; PFont f;
অকার্যকর সেটআপ()
{// আকার (Wwidth, Wheight); আকার (700, 500); f = createFont ("Arial", 24, true); // এই উদাহরণটি ধরে নিয়েছে যে আপনি স্থানীয়ভাবে // মাইএসকিউএল সার্ভারটি চালাচ্ছেন ("লোকালহোস্টে")। // // প্রতিস্থাপন-ব্যবহারকারীর নাম-,-পাসওয়ার্ড-আপনার মাইএসকিউএল-অ্যাকাউন্ট দিয়ে। // স্ট্রিং ব্যবহারকারী = "রুট"; স্ট্রিং পাস = ""; // ডাটাবেসের নাম ব্যবহার করতে // স্ট্রিং ডাটাবেস = "IOT_Database"; // টেবিলের নাম যা তৈরি করা হবে স্ট্রিং টেবিল = ""; // সার্ভার "লোকালহোস্ট" dbconnection = নতুন মাইএসকিউএল (এটি, "লোকালহোস্ট", ডাটাবেস, ব্যবহারকারী, পাস) এর ডাটাবেসের সাথে সংযুক্ত করুন; পোর্ট = নতুন সিরিয়াল (এই, Serial.list () [0], 9600); // একটি পোর্ট এবং বড রেট বরাদ্দ করে বস্তুর সূচনা (অবশ্যই Arduino এর সাথে মেলে) port.clear (); // সিরিয়াল লাইব্রেরি থেকে ফাংশন যা প্রথম পড়াটি ফেলে দেয়, যদি আমরা Arduino সিরিয়াল = port.readStringUntil (শেষ) থেকে একটি স্ট্রিং এর মাঝখানে পড়তে শুরু করি; // ফাংশন যা সিরিয়াল পোর্ট থেকে একটি println পর্যন্ত স্ট্রিং পড়ে এবং তারপর আমাদের স্ট্রিং ভেরিয়েবলকে স্ট্রিং বরাদ্দ করে ('সিরিয়াল' বলা হয়) সিরিয়াল = নাল; } অকার্যকর ড্র () {পটভূমি (255); textFont (f, 24); পূরণ (0); পাঠ্য ("মোট পরিমাণ রুপি:", 400, 400); পাঠ্য (মোট, 585, 400); তথ্য (); যখন (port.available ()> 0) {// যতক্ষণ সিরিয়াল পোর্ট থেকে ডেটা আসছে, এটি পড়ুন এবং এটি serial = port.readStringUntil (end); } যদি (সিরিয়াল! = নাল) {prev = curr; curr = a [1]; a = বিভক্ত (সিরিয়াল, ','); // একটি নতুন অ্যারে (যাকে 'a' বলা হয়) যা পৃথক কোষে মান সংরক্ষণ করে (আপনার Arduino প্রোগ্রামে নির্দিষ্ট কমা দ্বারা পৃথক) যদি ((curr).equals (prev)) {//} else {// println ("curr ", curr); // println ("Prev", prev); ফাংশন (); }}}
অকার্যকর ফাংশন ()
{যদি (dbconnection.connect ()) {// এখন এটি আবার পড়ুন // dbconnection.query ("SELECT * from rfid where ID ="+a [0]+""); যখন (dbconnection.next ()) {ID = dbconnection.getInt ("ID"); টোকেন = dbconnection.getInt ("টোকেন"); পরিমাণ = dbconnection.getInt ("পরিমাণ"); } যদি (টোকেন == 0) {println ("Ok"); textFont (f, 54); পূরণ করুন (255, 0, 0, 160); পাঠ্য ("অজানা আইটেম সনাক্ত", 50, 300); বিলম্ব (2000); } অন্যথায় যদি (টোকেন == 1) {মোট = মোট+পরিমাণ; dbconnection.query ("আপডেট rfid সেট টোকেন = 2 যেখানে ID ="+a [0]+""); println ("ঠিক আছে"); textFont (f, 24); পূরণ করুন (255, 0, 0, 160); // টেক্সট ("আইটেম যোগ করা হয়েছে", 10, 30); বিলম্ব (1000); } অন্যথায় যদি (টোকেন == 2) {মোট = মোট-পরিমাণ; dbconnection.query ("আপডেট rfid সেট টোকেন = 1 যেখানে ID ="+a [0]+""); println ("ঠিক আছে"); textFont (f, 24); পূরণ করুন (255, 0, 0, 160); // টেক্সট ("আইটেম সরানো হয়েছে", 10, 30); বিলম্ব (1000); } else {} dbconnection.close (); } অন্যথায় {// সংযোগ ব্যর্থ! }}
অকার্যকর তথ্য ()
{int অবস্থান = 100; যদি (dbconnection.connect ()) {dbconnection.query ("SELECT * from rfid where token = 2"); while (dbconnection.next ()) {Name = dbconnection.getString ("Name"); পরিমাণ = dbconnection.getInt ("পরিমাণ"); textFont (f, 24); পূরণ করুন (0, 0, 255, 160); পাঠ্য (নাম, 10, অবস্থান); পূরণ করুন (0, 0, 0, 160); পাঠ্য (পরিমাণ, 215, অবস্থান); অবস্থান = অবস্থান+30; }} dbconnection.close (); }
ধাপ 5: প্রোগ্রাম চালানো
রান বাটনে ক্লিক করে প্রোগ্রামটি চালান পপআপ উইন্ডো বন্ধ না করলে এক্সিকিউশন বন্ধ হয়ে যাবে এবং মাইএসকিউএল -এ সঞ্চিত ডেটা দেখার জন্য কোয়েরির নিচে…
ধাপ 6: উপসংহার
আমি আমার টিউটোরিয়াল পড়ার জন্য আপনাকে ধন্যবাদ জানাতে চাই। যদি আপনি এটি দরকারী মনে করেন এবং একটি লাইক (প্রিয়) ড্রপ করেন বা আমাকে কিছু জিজ্ঞাসা করেন তবে আমি এই নির্দেশাবলীগুলি করতে অনুপ্রাণিত রাখলে আমি প্রশংসা করব। আপনার যে প্রশ্নগুলি জানা দরকার তা নির্দ্বিধায় জিজ্ঞাসা করুন …
শুভ কোডিং Arduino…
প্রস্তাবিত:
Wemos D1 ESP8266, Arduino IDE এবং Blynk অ্যাপ ব্যবহার করে Wi-Fi নিয়ন্ত্রিত রোবট: 11 টি ধাপ (ছবি সহ)
Wemos D1 ESP8266, Arduino IDE এবং Blynk অ্যাপ ব্যবহার করে Wi-Fi নিয়ন্ত্রিত রোবট: এই টিউটোরিয়ালে আমি আপনাকে দেখাবো কিভাবে Blynk অ্যাপ ব্যবহার করে স্মার্টফোন থেকে একটি Wi-Fi নিয়ন্ত্রিত রোবোটিক ট্যাঙ্ক নিয়ন্ত্রিত করা যায়। এই প্রকল্পে একটি ESP8266 Wemos D1 বোর্ড ব্যবহার করা হয়েছিল, কিন্তু অন্যান্য প্লেট মডেলগুলিও ব্যবহার করা যেতে পারে (NodeMCU, Firebeetle, ইত্যাদি), এবং প্র
কোডিং এবং অ্যান্ড্রয়েড অ্যাপ সহ ইউএনও আর 3, এইচসি -05 এবং এল 293 ডি মোটরশিল্ড ব্যবহার করে আরডুইনো 4 হুইল ড্রাইভ ব্লুটুথ আরসি কার: 8 টি ধাপ
কোডিং এবং অ্যান্ড্রয়েড অ্যাপ দিয়ে UNO R3, HC-05 এবং L293D মোটরশিল্ড ব্যবহার করে Arduino 4 হুইল ড্রাইভ ব্লুটুথ আরসি কার: আজ আমি আপনাকে HC 05, L293 মোটর শিল্ড ব্যবহার করে কিভাবে একটি arduino 4 চাকা ড্রাইভ ব্লুটুথ আরসি কার তৈরি করতে হয় সে সম্পর্কে বলব, 4 ডিসি মোটর, কোডিং এবং অ্যাপের সাথে অ্যান্ড্রয়েড গাড়ি নিয়ন্ত্রণ করার জন্য ব্যবহৃত উপাদান।
ওয়াইফাই এবং আইআর রিমোট এবং অ্যান্ড্রয়েড অ্যাপ ব্যবহার করে নোডএমসিইউ এবং আইআর রিসিভারের সাথে রিলে কন্ট্রোল: 5 টি ধাপ (ছবি সহ)
ওয়াইফাই এবং আইআর রিমোট এবং অ্যান্ড্রয়েড অ্যাপ ব্যবহার করে নোডএমসিইউ এবং আইআর রিসিভারের সাথে 8 রিলে কন্ট্রোল: ওয়াইফাই এবং আইআর রিমোট এবং অ্যান্ড্রয়েড অ্যাপের মাধ্যমে নোডেমকু এবং আইআর রিসিভার ব্যবহার করে 8 রিলে সুইচ নিয়ন্ত্রণ করুন। এখানে
ESP8266 ওয়াইফাই মডিউল এবং Blynk অ্যাপ ব্যবহার করে Arduino Uno নিয়ন্ত্রণ করুন: 6 টি ধাপ
ESP8266 WiFi মডিউল এবং Blynk অ্যাপ ব্যবহার করে Arduino Uno নিয়ন্ত্রণ করুন: এই প্রকল্পটি আপনাকে ESP8266-01 WiFi মডিউল এবং Blynk অ্যাপ ব্যবহার করে Arduino পিন নিয়ন্ত্রণ করতে সক্ষম করে। Blynk অ্যাপটি ব্যবহার করা খুবই সহজ এবং IoT সম্পর্কে শেখার শুরু করার একটি দুর্দান্ত উপায়। এই টিউটোরিয়ালটি উইন্ডোজ পিসির জন্য
DIY MusiLED, সঙ্গীত সিঙ্ক্রোনাইজড LEDs এক-ক্লিক উইন্ডোজ এবং লিনাক্স অ্যাপ্লিকেশন (32-বিট এবং 64-বিট)। পুনরায় তৈরি করা সহজ, ব্যবহার করা সহজ, পোর্টে সহজ।: 3 টি ধাপ
DIY MusiLED, সঙ্গীত সিঙ্ক্রোনাইজড LEDs এক-ক্লিক উইন্ডোজ এবং লিনাক্স অ্যাপ্লিকেশন (32-বিট এবং 64-বিট)। পুনরায় তৈরি করা সহজ, ব্যবহার করা সহজ, পোর্টে সহজ। এই প্রকল্পটি আপনাকে আপনার আরডুইনো বোর্ডে 18 টি LED (6 লাল + 6 নীল + 6 হলুদ) সংযুক্ত করতে এবং আপনার কম্পিউটারের সাউন্ড কার্ডের রিয়েল-টাইম সংকেত বিশ্লেষণ করতে এবং তাদের রিলেতে সহায়তা করবে। বীট প্রভাব (ফাঁদ, উচ্চ টুপি, কিক) অনুযায়ী তাদের আলো জ্বালানোর জন্য LEDs