সুচিপত্র:

Arduino RFID ডোর লক: 5 টি ধাপ (ছবি সহ)
Arduino RFID ডোর লক: 5 টি ধাপ (ছবি সহ)

ভিডিও: Arduino RFID ডোর লক: 5 টি ধাপ (ছবি সহ)

ভিডিও: Arduino RFID ডোর লক: 5 টি ধাপ (ছবি সহ)
ভিডিও: RFID Door lock 🔐 || Door lock using Arduino Uno #diy 2024, জুলাই
Anonim
Arduino RFID ডোর লক
Arduino RFID ডোর লক
Arduino RFID ডোর লক
Arduino RFID ডোর লক
Arduino RFID ডোর লক
Arduino RFID ডোর লক
Arduino RFID ডোর লক
Arduino RFID ডোর লক

*** 8/9/2010 আপডেট করা হয়েছে *** আমি আমার গ্যারেজে প্রবেশের একটি সহজ এবং নিরাপদ উপায় করতে চেয়েছিলাম। আরএফআইডি ছিল আমার দরজা আনলক করার সেরা উপায়, এমনকি আমার হাত ভরা দিয়েও আমি দরজা খুলে খুলে দিতে পারি! আমি একটি ইলেকট্রনিক দরজা লক নিয়ন্ত্রণ করার জন্য একটি মৌলিক ATMega 168 arduino চিপ এবং একটি ID-20 RFID রিডার দিয়ে একটি সহজ সার্কিট তৈরি করেছি। সার্কিটটিতে 3 টি পৃথক অংশ, আরএফআইডি ট্যাগ পড়ার জন্য একটি রিডার, পাঠকের কাছ থেকে ডেটা গ্রহণের জন্য একটি নিয়ামক এবং আরজিবি এলইডি এবং বৈদ্যুতিক দরজার লক আউটপুট নিয়ন্ত্রণ করে। ডোর লকটি প্রথমে একটি দরজায় ইনস্টল করা হয় এবং সঠিক ইনস্টলেশন নিশ্চিত করতে 9v ব্যাটারি দিয়ে পরীক্ষা করা হয়। বেশিরভাগ ক্ষেত্রে আপনি দরজার লকে একটি স্বাভাবিকভাবে খোলা সার্কিট চান, অথবা ব্যর্থ নিরাপদ। এর মানে হল দরজা যখন কোন কারেন্ট এর মধ্য দিয়ে যায় না তখন লক থাকে। যখন 12vDC দরজার লকে ইলেক্ট্রোম্যাগনেটের মধ্য দিয়ে যায়, তখন লকের মধ্যে একটি প্লেট পথ দেয় এবং দরজাটি অবাধে খোলা হতে দেয়। পাঠককে দরজার বাইরে রাখা হয়েছে এবং ভেতরের নিয়ন্ত্রক থেকে আলাদা যাতে কেউ রিডার ভেঙে এবং পাঠককে শর্ট সার্কিট করার চেষ্টা করে নিরাপত্তা বিঘ্নিত করতে না পারে। নিয়ামক পাঠক থেকে সিরিয়াল ডেটা গ্রহণ করে এবং RGB নেতৃত্বাধীন এবং ডোর লক নিয়ন্ত্রণ করে। এই ক্ষেত্রে আমি উভয় পরীক্ষার জন্য আলাদা রুটি বোর্ডে রেখেছি। এখানে কর্মে সিস্টেমের একটি ভিডিও ওভারভিউ দেখুন কিভাবে আপনার নিজের জন্য একটি তৈরি করতে দেখুন! ** আপডেট ** সমস্ত কোড, স্কিম্যাটিক্স এবং পিসিবি ডিজাইনগুলি পরীক্ষা এবং পরিমার্জিত হয়েছে। তারা সব 8/9/2010 হিসাবে এখানে পোস্ট করা হয়েছে চূড়ান্ত সিস্টেম ইনস্টল এবং কাজ করার আপডেট ভিডিও।

ধাপ 1: যন্ত্রাংশ প্রয়োজন

যন্ত্রাংশ প্রয়োজন
যন্ত্রাংশ প্রয়োজন

এখানে স্পার্কফুন ডটকমের অংশ এবং লিঙ্কগুলির একটি তালিকা রয়েছে যেখানে আমি সেগুলি কিনেছি। আরডুইনোতে আরএফআইডি ট্যাগ পড়ার জন্য আপনার তৈরি করা অংশ এবং আর্ডুইনো এবং একটি সার্কিটের মৌলিক সেট এটি। আমি ধরে নিচ্ছি আপনার ইতিমধ্যে একটি রুটিবোর্ড, বিদ্যুৎ সরবরাহ এবং হুকআপের তার রয়েছে।

আরডুইনো স্টাফ

ATmega168 Arduino বুটলোডারের সাথে $ 4.95

ক্রিস্টাল 16MHz $ 1.50

ক্যাপাসিটর সিরামিক 22pF $ 0.25 (x2)

প্রতিরোধক 10k ওহম 1/6 ওয়াট PTH $ 0.25

মিনি পুশ বাটন সুইচ $ 0.35

ট্রিপল আউটপুট এলইডি আরজিবি - বিভক্ত $ 1.95

RFID স্টাফ

এইগুলির মধ্যে একটি, 20 টির আরও ভাল পরিসর, 12 টি ছোট RFID রিডার আইডি -12 $ 29.95 আরএফআইডি রিডার আইডি -20 $ 34.95

RFID রিডার ব্রেকআউট $ 0.95

ব্রেক অ্যাওয়ে হেডার - সোজা $ 2.50

RFID ট্যাগ - 125kHz $ 1.95

অন্যান্য

TIP31A ট্রানজিস্টার (রেডিও শ্যাক/স্থানীয় ইলেকট্রনিক্স স্টোর $ 1.50)

ডোর লক ইবে থেকে। ডোর ফেইল নিরাপদ অ্যাক্সেস কন্ট্রোল ইলেকট্রিক স্ট্রাইক v5 NO $ 17.50 (কাওয়ামল, বে)

ধাপ 2: Arduino কন্ট্রোলার তৈরি করুন

Arduino কন্ট্রোলার তৈরি করুন
Arduino কন্ট্রোলার তৈরি করুন
Arduino কন্ট্রোলার তৈরি করুন
Arduino কন্ট্রোলার তৈরি করুন
Arduino কন্ট্রোলার তৈরি করুন
Arduino কন্ট্রোলার তৈরি করুন

একটি মৌলিক Arduino সঙ্গে একটি RFID দরজা লক নির্মাণের প্রথম পদক্ষেপ একটি মৌলিক কাজ arduino আউট রুটি বোর্ড। বেশিরভাগ Arduino প্রি-ফ্ল্যাশ ATMega 168 চিপস ডিফল্ট ব্লিংক প্রোগ্রাম আগে ইনস্টল করা আছে। একটি LED কে ডিজিটাল আউটপুট 13 এর সাথে সংযুক্ত করুন এবং যাচাই করুন যে সবকিছু কাজ করছে।

এই আরএফআইডি রিডারের হার্ডওয়্যার অংশটি খুব সহজ হবে যদি আমরা ইউএসবি প্রোগ্রামার -এ নির্মিত একটি নিয়মিত আরডুইনো ব্যবহার করি। যেহেতু আমি এটিকে প্রাচীরের মধ্যে puttingুকানোর পরিকল্পনা করেছি এবং এটিকে আবার স্পর্শ না করার জন্য আমি একটি বড় $ 30 আরডুইনো বোর্ড ব্যবহার করতে চাই না যখন আমি $ 5 ATMega 168 কিনতে পারি এবং অনেক ছোট কাস্টম PCB তৈরি করতে পারি।

কারণ আমি নিজেই একটি বেসিক আরডুইনো সার্কিট তৈরি করতে বেছে নিয়েছি আমার একটি বাহ্যিক USB-> সিরিয়াল FDIT প্রোগ্রামার দরকার। আমি 7805 ভোল্টেজ নিয়ন্ত্রক থেকে নির্মিত বিদ্যুৎ সরবরাহ সহ নিয়ন্ত্রকের leগল স্কিম্যাটিক্স অন্তর্ভুক্ত করেছি। পরীক্ষায় আমি একটি রুটি বোর্ড পাওয়ার সাপ্লাই ব্যবহার করেছি।

একটি arduino পেতে এবং আপনার যা প্রয়োজন তা চালানোর জন্য এটি ATMega168 এর সাথে arduino সফটওয়্যার, 2x 22pF ক্যাপাসিটার, 16mhz স্ফটিক, 10k ওহম প্রতিরোধক, পুশ বোতাম এবং একটি ব্রেডবোর্ড রয়েছে। এই জন্য hookup সুপরিচিত কিন্তু আমি সার্কিট জন্য সম্পূর্ণ পরিকল্পিত অন্তর্ভুক্ত করেছি।

Arduino 4 টি আউটপুট ট্রিগার করতে চলেছে, লাল/সবুজ/নীল LEDs এর জন্য 1 টি, এবং 1 টিআইপি 31 এ ট্রিগার করতে দরজা লকে 12vDC পাঠাতে যাচ্ছে। Arduino ID-20 RFID রিডার থেকে তার Rx লাইনে সিরিয়াল ডেটা পায়।

ধাপ 3: আরএফআইডি রিডার তৈরি করুন

আরএফআইডি রিডার তৈরি করুন
আরএফআইডি রিডার তৈরি করুন
আরএফআইডি রিডার তৈরি করুন
আরএফআইডি রিডার তৈরি করুন
আরএফআইডি রিডার তৈরি করুন
আরএফআইডি রিডার তৈরি করুন

এখন যেহেতু আপনার আরডুইনো রুটি বোর্ডে আছে এবং কাজ করছে আপনি সার্কিটের RFID রিডার অংশটি একত্রিত করতে পারেন যাতে সার্কিটের অবস্থা নির্দেশ করতে ID-10 বা ID-20 এবং RGB LED থাকবে। মনে রাখবেন পাঠক বাইরে থাকবে এবং কন্ট্রোলার থেকে আলাদা হবে যাতে কেউ সহজে ভিতরে প্রবেশ করতে না পারে।

এটি তৈরির জন্য, আমরা প্রাথমিক রুটি বোর্ড থেকে 5v/গ্রাউন্ড ওভার পাঠাতে যাচ্ছি সেকেন্ডারি রুটি বোর্ডে আমরা রিডার তৈরি করছি। আরজিবি এলইডি নিয়ন্ত্রণের জন্য আরডুইনো আউটপুট পিনের 3 টি থেকে 3 টিরও বেশি তারের পাঠান, প্রতিটি রঙের জন্য একটি। আরডিনোর Rx সিরিয়াল ইনপুটের সাথে কথা বলার জন্য আইডি -২০ এর জন্য আরও একটি তারের, ব্রাউন, একটি সিরিয়াল সংযোগ হবে। এটি সংযোগের জন্য একটি খুব সহজ সার্কিট। LED এর রেসিস্টর পান এবং ID-20 এর কয়েকটি পয়েন্ট সঠিক স্থিতি নির্ধারণের জন্য মাটিতে/5v এর সাথে আবদ্ধ থাকে।

আইডি -10/আইডি -২0 স্পার্কফুন ব্রেডবোর্ডকে সহজ করার জন্য স্প্রেকফুন একটি ব্রেকআউট বোর্ড বিক্রি করে যা আপনাকে রুটি বোর্ডে মাপসই করার জন্য লম্বা পিন হেডার সংযুক্ত করতে দেয়। এই অংশ এবং পিনহেডার এবং অংশ তালিকায় তালিকাভুক্ত।

পরিকল্পিত সামনের দিকে এবং অনুসরণ করা সহজ হওয়া উচিত।

ধাপ 4: প্রোগ্রাম

আপনার arduino প্রোগ্রাম করার সময়। এটি একটি মৌলিক আরডুইনো ব্যবহার করে কিছুটা জটিল হতে পারে, আপলোডের প্রথম অংশের আগে এবং সময়কালে আপনাকে রিসেট বোতামটি একাধিকবার টিপতে হতে পারে। মনে রাখার জন্য একটি খুব গুরুত্বপূর্ণ বিষয়, আপনি যদি আপলোড ত্রুটি পাবেন যদি আপনি অস্থায়ীভাবে আইডি -২০ সিরিয়াল লাইনটি আরডুইনো এর আরএক্স লাইনে সংযোগ বিচ্ছিন্ন না করেন। ATMega168 এর শুধুমাত্র 1 Rx ইনপুট আছে এবং এটি প্রোগ্রামার এর সাথে কথা বলতে কোড আপলোড করতে ব্যবহার করে। প্রোগ্রামিং করার সময় ID-20 সংযোগ বিচ্ছিন্ন করুন তারপর আপনার কাজ শেষ হলে আবার প্লাগ ইন করুন। আমি একটি FTDI প্রোগ্রামার ব্যবহার করেছি যা আপনাকে শুধুমাত্র 4 টি তারের মাধ্যমে USB এর মাধ্যমে arduino প্রোগ্রাম করতে দেয়। কন্ট্রোলার স্কিম্যাটিক একটি পিন হেডার সংযোগ দেখায় যাতে আপনি সরাসরি একটি প্লাগ করতে পারেন। স্পার্কফুনও এই অংশটি বিক্রি করে কিন্তু অনেকেরই এটি ইতিমধ্যেই থাকতে পারে।

আপনি সহজেই আপনার কোডটি আপনার আরডুইনোতে আপলোড করতে পারেন এবং কখনই পিছনে ফিরে তাকান না তবে এতে মজা কী? এটি কীভাবে কাজ করে তার মূল ধারণাটি ব্যাখ্যা করি।

প্রথমত, আমি কোন বাহ্যিক বোতাম/সুইচ/ইত্যাদি চাইনি এবং আমি যখনই একটি নতুন কার্ড যোগ করতে চেয়েছিলাম তখন আরডুইনোকে পুনরায় প্রোগ্রাম করতে চাইনি। অতএব আমি সার্কিটের অপারেশন নিয়ন্ত্রণের পাশাপাশি দরজার লক নিয়ন্ত্রণের জন্য শুধুমাত্র RFID ব্যবহার করতে চেয়েছিলাম।

প্রোগ্রামটি একটি নতুন কার্ড পড়ার জন্য প্রস্তুত তা নির্দেশ করার জন্য নীল LED চালু করে। যখন কার্ডটি পড়া হয় তখন এটি বৈধ কার্ড কিনা তা নির্ধারণ করে যা এটি বৈধ কার্ডের তালিকার সাথে যা পড়ে তা তুলনা করে। যদি ব্যবহারকারী বৈধ হয়, arduino নীল LED বন্ধ করে এবং 5 সেকেন্ডের জন্য সবুজ LED চালু করে। এটি 5 সেকেন্ডের জন্য উচ্চ আউটপুট চালু করে। এই আউটপুট টিআইপি 31 এ ট্রানজিস্টরের সাথে সংযুক্ত এবং ক্ষুদ্র আরডুইনোকে ক্ষতিগ্রস্ত না করে অনেক বড় 12v 300mA দরজার লক নিয়ন্ত্রণ করতে দেয়। 5 সেকেন্ড পরে দরজা লক পুনরায় লক হয় এবং LED আবার নীল হয়ে যায় অন্য কার্ড পড়ার জন্য অপেক্ষা করতে। যদি কার্ডটি অবৈধ হয় তবে LED কয়েক সেকেন্ডের জন্য RED তে পরিবর্তিত হয় এবং অন্য কার্ডের জন্য অপেক্ষা করতে নীল হয়ে যায়।

এটা গুরুত্বপূর্ণ যে দরজা লক এখনও কাজ করে এমনকি যদি arduino রাতারাতি শক্তি হারায় বা পুনরায় সেট করা হয়। অতএব সমস্ত বৈধ কার্ড আইডি EEPROM মেমরিতে সংরক্ষণ করা হয়। ATMega168 এর EEPROM মেমরির 512 বাইট রয়েছে। প্রতিটি RFID কার্ডের একটি 5 হেক্স বাইট সিরিয়াল নম্বর এবং 1 হেক্স বাইট চেক যোগফল যা আমরা যাচাই করতে ব্যবহার করতে পারি যে ID-20 এবং arduino এর মধ্যে সংক্রমণে কোন ত্রুটি ছিল না।

কাউন্টার হিসাবে প্রথম বাইট ব্যবহার করে বৈধ কার্ডগুলি EEPROM এ সংরক্ষণ করা হয়। উদাহরণস্বরূপ, যদি EEPROM- এ প্রথম বাইট সংরক্ষিত valid টি বৈধ কার্ড থাকে 3.. EEPROM.read (0); = 3. এটা জেনে, এবং প্রতিটি আইডি 5 বাইট দীর্ঘ এই সত্য যে আমরা জানি যে 1-5 কার্ড এক, 6-10 কার্ড 2 এবং 11-15 হল কার্ড 3. আমরা একটি লুপ তৈরি করতে পারি যা EEPROM এর মাধ্যমে দেখায় একটি সময়ে 5 বাইট এবং পাঠক দ্বারা পড়া কার্ড খুঁজে বের করার চেষ্টা করে।

কিন্তু সার্কিট ইন্সটল হওয়ার পর আমরা কিভাবে EEPROM এ নতুন কার্ড যোগ করতে পারি ?? আমি আমার কাছে থাকা RFID কার্ডগুলির মধ্যে একটি পড়েছি এবং এটিকে মাস্টার RFID কার্ড হিসাবে কঠিন কোডেড করেছি। তাই পুরো EEPROM মুছে গেলেও মাস্টার কার্ড কাজ করবে। যখনই একটি কার্ড পড়া হয়, এটি প্রথমে পরীক্ষা করে দেখে যে এটি মাস্টার কার্ড কিনা, যদি না হয়, তাহলে এটি দেখতে থাকে যে এটি একটি বৈধ কার্ড কিনা। যদি কার্ডটি মাস্টার কার্ড হয় তবে আমাদের আরডুইনো একটি "প্রোগ্রামিং মোডে" যায় যেখানে এটি আরজিবি ফ্ল্যাশ করে এবং অন্য একটি বৈধ ট্যাগ পড়ার জন্য অপেক্ষা করে। EEPROM- এর পরবর্তী বিনামূল্যে স্পটে পরের ট্যাগটি যোগ করা হয় এবং EEPROM মেমরিতে কার্ডটি আগে থেকেই না থাকলে কাউন্টার বৃদ্ধি করা হয় 1। পাঠক তারপর স্বাভাবিক মোডে ফিরে আসে এবং একটি নতুন কার্ড পড়ার জন্য অপেক্ষা করে।

বর্তমানে আমি কার্ড মুছে ফেলার কোন উপায় প্রোগ্রাম করিনি কারণ একটি কার্ড মুছে ফেলার কারণগুলি সম্ভবত এটি হারিয়ে যাওয়া বা চুরি হয়ে যাওয়া। যেহেতু এটি সম্ভবত 1-10 জন লোকের সাথে ব্যবহার করা হবে সবচেয়ে সহজ কাজটি হবে একটি মাস্টার ইরেজ কার্ড হার্ড প্রোগ্রাম যা EEPROM থেকে সমস্ত কার্ড মুছবে এবং সেগুলি আবার যোগ করবে, যা মাত্র কয়েক সেকেন্ড সময় নেয়। আমি EEPROM মুছতে কোড যোগ করেছি কিন্তু আমি এখনও এই বৈশিষ্ট্যটি বাস্তবায়ন করিনি। ।

কোড একটি টেক্সট ফাইলের সাথে অংশের তালিকার একটি অনুলিপি সংযুক্ত করা হয়েছে।

ধাপ 5: প্রসারিত করুন

এটি আরএফআইডি দিয়ে আপনি করতে পারেন এমন কিছু দুর্দান্ত জিনিস। আপনি একটি এলসিডি আউটপুট, কে প্রবেশ করে এবং কখন, নেটওয়ার্ক/টুইটার সংযোগ ইত্যাদি লগিং করে আরও বিস্তৃত করতে পারে। আমি এই সার্কিটের একটি সমাপ্ত PCB সংস্করণ তৈরির পরিকল্পনা করছি আমি আগে কখনো পিসিবি তৈরি করিনি তাই আমি এখনও যন্ত্রাংশের নকশা এবং বিন্যাস নিয়ে কাজ করছি। একবার আমি তাদের সম্পূর্ণ হলে আমি তাদের পাশাপাশি পোস্ট করব। আমি যে কাউকে আমার লেখা কোডটি নিতে এবং আরও সুন্দর কাজ করার জন্য এটি সংশোধন করতে উত্সাহিত করি!

Arduino প্রতিযোগিতার চূড়ান্ত প্রতিযোগী

প্রস্তাবিত: