विषयसूची:

एक इलेक्ट्रॉनिक शतरंज की बिसात का 4x4 डेमो / Arduino मेगा + RFID रीडर + हॉल-इफेक्ट सेंसर के साथ: 7 कदम
एक इलेक्ट्रॉनिक शतरंज की बिसात का 4x4 डेमो / Arduino मेगा + RFID रीडर + हॉल-इफेक्ट सेंसर के साथ: 7 कदम

वीडियो: एक इलेक्ट्रॉनिक शतरंज की बिसात का 4x4 डेमो / Arduino मेगा + RFID रीडर + हॉल-इफेक्ट सेंसर के साथ: 7 कदम

वीडियो: एक इलेक्ट्रॉनिक शतरंज की बिसात का 4x4 डेमो / Arduino मेगा + RFID रीडर + हॉल-इफेक्ट सेंसर के साथ: 7 कदम
वीडियो: RFID based Smart Locker System Using Arduino Micrcontroller 2024, जुलाई
Anonim
एक इलेक्ट्रॉनिक शतरंज की बिसात का 4x4 डेमो / Arduino मेगा + RFID रीडर + हॉल-इफेक्ट सेंसर के साथ
एक इलेक्ट्रॉनिक शतरंज की बिसात का 4x4 डेमो / Arduino मेगा + RFID रीडर + हॉल-इफेक्ट सेंसर के साथ

हाय निर्माताओं, मैं ताहिर मिरियाव, 2018 मध्य पूर्व तकनीकी विश्वविद्यालय, अंकारा/तुर्की से स्नातक हूं। मैंने अनुप्रयुक्त गणित में पढ़ाई की, लेकिन मुझे हमेशा सामान बनाना पसंद था, खासकर जब इसमें इलेक्ट्रॉनिक्स, डिजाइन और प्रोग्रामिंग के साथ कुछ हस्तशिल्प शामिल थे। हमारे औद्योगिक डिजाइन विभाग में पेश किए गए प्रोटोटाइप पर एक अद्वितीय पाठ्यक्रम के लिए धन्यवाद, मुझे वास्तव में कुछ दिलचस्प बनाने का मौका मिला। परियोजना को एक सावधि परियोजना के रूप में माना जा सकता है, जो पूरे सेमेस्टर (4 महीने) की अवधि तक चलती है। छात्रों को पहले से मौजूद उत्पादों / डेमो को डिजाइन करने और Arduino माइक्रोकंट्रोलर और सेंसर का उपयोग करके अपने विचारों को महसूस करने के लिए एक रचनात्मक दृष्टिकोण खोजने के लिए एक कार्य सौंपा गया था। मैं शतरंज के बारे में सोच रहा था, और सफल परियोजनाओं पर कुछ शोध करने के बाद, मैंने देखा कि पिछली परियोजनाओं में निर्माताओं ने मूल रूप से रेडी-सेट शतरंज इंजन (जहां प्रत्येक आकृति की सभी चालों को कोर में प्रोग्राम किया गया था) का उपयोग किया था, रास्पबेरी पाई के साथ, कुछ MUX 'एस, एलईडी और रीड स्विच। अपनी परियोजना में, हालांकि, मैंने शतरंज इंजन के संदर्भ में किसी भी बाहरी सॉफ़्टवेयर से छुटकारा पाने और RFID रीडर, हॉल-इफ़ेक्ट सेंसर और Arduino मेगा का उपयोग करके चित्र पहचान समस्या के लिए एक रचनात्मक समाधान खोजने का निर्णय लिया।

चरण 1: एक आकृति पहचान समस्या क्या है और मैंने इसे कैसे हल किया?

एक आकृति पहचान समस्या क्या है और मैंने इसे कैसे हल किया?
एक आकृति पहचान समस्या क्या है और मैंने इसे कैसे हल किया?

सीधे शब्दों में कहें तो, मान लीजिए कि आपके पास "ब्रेन" = माइक्रोकंट्रोलर के साथ एक शतरंज की बिसात है, और आपको अपने बोर्ड को यह समझाना होगा कि आपने अपने हाथ में कौन सी आकृति पकड़ी है और आपने उसे कहाँ रखा है। यह चित्र पहचान की समस्या है। इस समस्या का समाधान तुच्छ है जब आपके पास एक शतरंज इंजन होता है जिसमें सभी टुकड़े बोर्ड पर अपनी प्रारंभिक स्थिति में खड़े होते हैं। इससे पहले कि मैं समझाऊं कि ऐसा क्यों है, मैं कुछ टिप्पणी करना चाहता हूं।

उन लोगों के लिए जो यहां काम करने के बारे में उत्साहित हैं, मुझे इस बारे में स्पष्टीकरण देना होगा कि हमें रीड स्विच की आवश्यकता क्यों है (या मेरे मामले में, मैंने हॉल-इफेक्ट सेंसर का उपयोग किया है): यदि आप प्रत्येक टुकड़े के नीचे एक चुंबक रखते हैं और इसे उठाते हैं बोर्ड पर एक वर्ग (यह मानते हुए कि प्रत्येक वर्ग के नीचे एक रीड स्विच है) सेंसर के ऊपर चुंबकीय क्षेत्र के अस्तित्व/अस्तित्व के कारण, आप अपने नियंत्रक को समझ सकते हैं कि वर्ग पर कोई टुकड़ा खड़ा है या नहीं. हालाँकि, यह अभी भी माइक्रोकंट्रोलर को कुछ भी नहीं बताता है कि वास्तव में कौन सा टुकड़ा वर्ग पर खड़ा है। यह केवल यह बताता है कि एक वर्ग पर एक टुकड़ा है/नहीं है। इस बिंदु पर, हम एक आकृति पहचान समस्या के साथ आमने-सामने हैं, जिसे शतरंज इंजन का उपयोग करके हल किया जा सकता है, जब शतरंज का खेल शुरू होता है, तो सभी टुकड़ों को उनकी प्रारंभिक स्थिति पर रखा जाता है। इस तरह माइक्रोकंट्रोलर "जानता है" जहां हर टुकड़ा शुरुआत से ही सही है, मेमोरी में सभी पते तय किए गए हैं। फिर भी, यह हमारे लिए एक बड़ी सीमा लाता है: आप किसी भी संख्या में टुकड़ों का चयन नहीं कर सकते हैं और उन्हें बोर्ड पर कहीं भी बेतरतीब ढंग से रख सकते हैं और खेल का विश्लेषण शुरू कर सकते हैं। आपको हमेशा शुरुआत से शुरू करना होगा, सभी टुकड़े मूल रूप से बोर्ड पर होने चाहिए, क्योंकि माइक्रोकंट्रोलर के पास एक टुकड़ा उठाने और किसी अन्य वर्ग पर रखने के बाद उनके स्थानों को ट्रैक करने का यही एकमात्र तरीका है। संक्षेप में, यही वह समस्या थी जिस पर मैंने गौर किया और इस पर काम करने का फैसला किया।

मेरा समाधान काफी सरल था, हालांकि रचनात्मक। मैंने एक बोर्ड के सामने की तरफ एक RFID रीडर लगाया। इस बीच, मैंने न केवल टुकड़ों के नीचे एक चुंबक लगाया, बल्कि एक RFID टैग भी लगाया, जिसमें प्रत्येक टुकड़े की एक विशिष्ट आईडी थी। इसलिए, किसी भी वांछित वर्ग पर एक आकृति रखने से पहले, आप पहले आरएफआईडी रीडर के पास टुकड़ा पकड़ सकते हैं और इसे आईडी पढ़ने, टुकड़े की पहचान करने, इसे स्मृति में सहेजने के लिए, और फिर आप इसे जहां चाहें वहां रख सकते हैं। इसके अलावा, रीड स्विच का उपयोग करने के बजाय, सर्किट डिजाइन को सरल बनाने के लिए, मैंने हॉल-इफेक्ट सेंसर का उपयोग किया, जो समान रूप से काम करते हैं, केवल 0 या 1 को माइक्रोकंट्रोलर को डिजिटल डेटा के रूप में भेजने के अंतर के साथ, जो दर्शाता है कि "वहां है" या "वहाँ नहीं है" क्रमशः वर्ग पर कोई टुकड़ा। मैंने एलईडी को भी जोड़ा (दुर्भाग्य से एक ही रंग का नहीं, एक नहीं था), ताकि जब आप टुकड़ा उठाएं, तो सभी वर्ग स्थान, जहां एक उठा हुआ टुकड़ा रखा जा सकता है, पर प्रकाश होगा। इसे शतरंज सीखने वालों के लिए एक शैक्षिक अभ्यास के रूप में सोचें:)

अंत में, मैं यह नोट करना चाहूंगा कि इस तथ्य के बावजूद कि मैंने कई तकनीकों का उपयोग किया है, परियोजना सरल और समझने योग्य है, न कि गहराई से काम करने या अधिक जटिल होने के कारण। मेरे पास 8x8 शतरंज की बिसात के साथ आगे बढ़ने के लिए पर्याप्त समय नहीं था (यह भी कि 64 हॉल-इफेक्ट सेंसर तुर्की में महंगे हैं, मैंने प्रोजेक्ट से संबंधित सभी खर्चों को कवर किया), इसलिए मैंने 4x4 डेमो संस्करण केवल दो टुकड़ों के परीक्षण के साथ किया: प्यादा और रानी। एक शतरंज इंजन का उपयोग करने के बजाय, मैंने Arduino के लिए एक स्रोत कोड लिखा, जो नीचे दिए गए वीडियो में आप जो कुछ भी देखेंगे उसे उत्पन्न करता है।

चरण 2: चीजें कैसे काम करती हैं

Image
Image

इससे पहले कि हम इस परियोजना की चरण-दर-चरण व्याख्या करें, मुझे लगता है कि एक उदाहरणात्मक वीडियो देखना बेहतर होगा और मैं जिस बारे में बात कर रहा हूं उस पर कुछ सहज विचार प्राप्त करें।

नोट # 1: लाल एलईडी में से एक (पंक्ति में पहली / बाएं से दाएं) जल गया, कोई बात नहीं।

नोट # 2: हालांकि व्यापक रूप से उपयोग किया जाता है, मेरे अनुभव से मैं कह सकता हूं कि आरएफआईडी प्रौद्योगिकी DIY अनुप्रयोगों में उपयोग करने का सबसे अच्छा विचार नहीं है (बेशक यदि आपके पास विकल्प हैं)। सब कुछ काम करने से पहले, मैंने शतरंज के टुकड़ों को पाठक के पास रखने और आईडी को सही ढंग से पढ़ने तक प्रतीक्षा करने के साथ कई परीक्षण किए। उसके लिए सीरियल पोर्ट स्थापित किया जाना चाहिए क्योंकि आरएफआईडी रीडर जिस तरह से आईडी पढ़ता है वह सिर्फ एक सिरदर्द है। समस्या को समझने के लिए व्यक्ति को स्वयं प्रयास करना चाहिए। यदि आपको अधिक सहायता की आवश्यकता है, तो कृपया मुझे मेल करें ([email protected]) या स्काइप पर जोड़ें (tahir.miriyev9r1), ताकि हम बातचीत को शेड्यूल कर सकें और चीजों पर विस्तार से चर्चा कर सकें, मैं सब कुछ अच्छी तरह से समझाऊंगा।

चरण 3: उपकरण और घटक

उपकरण और घटक
उपकरण और घटक
उपकरण और घटक
उपकरण और घटक
उपकरण और घटक
उपकरण और घटक

परियोजना के लिए मेरे द्वारा उपयोग किए जाने वाले सभी उपकरणों की सूची यहां दी गई है: इलेक्ट्रॉनिक घटक:

  • ब्रेडबोर्ड (X1)
  • सर्वदिशात्मक A1126LUA-T (IC-1126 SW OMNI 3-SIP ALLEGRO) हॉल इफेक्ट सेंसर (x16)
  • बुनियादी 5 मिमी एलईडी (x16)
  • जम्पर तार
  • 125 kHz RFID रीडर और एंटीना (X1)
  • अरुडिनो मेगा (x1)
  • आरएफआईडी 3M टैग (x2)

अन्य सामग्री:

  • प्लेक्सीग्लस
  • ग्लॉसी पेपर
  • लघु तख्त (लकड़ी)
  • एक्रिलिक पेंट (गहरा हरा और क्रीम) x2
  • पतला कार्डबोर्ड
  • 10 मिमी गोल चुम्बक (x2)
  • प्यादा और रानी के टुकड़े
  • सोल्डरिंग आयरन और सोल्डरिंग सामग्री

चरण 4: स्कैमैटिक्स (फ्रिट्ज़िंग)

स्कीमैटिक्स (फ्रिट्ज़िंग)
स्कीमैटिक्स (फ्रिट्ज़िंग)

स्कीमैटिक्स थोड़ा जटिल हैं, मुझे पता है, लेकिन विचार स्पष्ट होना चाहिए। यह पहली बार था जब मैंने फ्रिट्ज़िंग (जिस तरह से अत्यधिक अनुशंसित) का उपयोग किया था, शायद कनेक्शन अधिक सटीक रूप से खींचे जा सकते थे। वैसे भी, मैंने स्कीमैटिक्स के अंदर सब कुछ नोट कर लिया है। नोट: मुझे फ्रिट्ज़िंग के डेटाबेस में घटकों के बीच आरडीआईएफ रीडर का सटीक मॉडल नहीं मिला। मैंने जो मॉडल इस्तेमाल किया वह 125Khz RFID मॉड्यूल - UART है। आप इस मॉड्यूल को Arduino के साथ सेट करने के तरीके के बारे में Youtube पर ट्यूटोरियल पा सकते हैं।

चरण 5: प्रक्रिया

प्रक्रिया
प्रक्रिया

चीजों को कैसे बनाया गया, यह समझाने का समय। कृपया चरण-दर-चरण विवरण का पालन करें:

1. बोर्ड के ऊपरी हिस्से की दीवारों को काटने और गोंद करने के लिए 21x21 सेमी कार्डबोर्ड, साथ ही कुछ अतिरिक्त कार्डबोर्ड लें, ताकि ए बी सी डी 1 2 3 4 के साथ 16 वर्ग बना सकें। चूंकि कार्डबोर्ड पतला है, आप प्रत्येक वर्ग में 16 हॉल-इफेक्ट सेंसर चिपका सकते हैं, प्रत्येक में 3 पैर और प्रत्येक में 2 पैर वाले 16 एलईडी हैं।

2. घटकों को सेट करने के बाद, आपको कुछ सोल्डरिंग करने की आवश्यकता होगी, हॉल-इफेक्ट सेंसर के सोल्डर लेग और एलईडी से जम्पर तारों तक। इस बिंदु पर, मैं स्मार्ट तरीके से रंगीन तारों का चयन करने की सलाह दूंगा, ताकि आप एलईडी के + और - पैरों के साथ भ्रमित न हों, साथ ही हॉल-इफेक्ट सेंसर के वीसीसी, जीएनडी और पिन लेग। बेशक, कोई सेंसर के साथ एक पीसीबी प्रिंट कर सकता है और यहां तक कि WS2812 प्रकार के एलईडी पहले से ही सोल्डर किए गए हैं, लेकिन मैंने परियोजना को सरल रखने और कुछ और "हैंडवर्क" करने का फैसला किया। इस बिंदु पर, आपको केवल डोरियों और सेंसरों को तैयार करना है, बाद के चरणों में फ्रिट्ज़िंग योजना के बाद आप देख सकते हैं कि आपको प्रत्येक तार के अंत को कहाँ संलग्न करना चाहिए। शीघ्र ही, उनमें से कुछ सीधे Arduino मेगा पर पिन पर जाएंगे (उनमें से कुछ Arduino पर पर्याप्त है), अन्य ब्रेडबोर्ड पर और सभी GND को कॉर्ड के एक टुकड़े (सामान्य जमीन बनाने) में मिलाया जा सकता है, जो बाद में Arduino बोर्ड पर GND से जुड़ा होना चाहिए। यहां एक महत्वपूर्ण नोट: हॉल इफेक्ट सेंसर OMNIDIRECTIONAL हैं, जिसका अर्थ है कि इससे कोई फर्क नहीं पड़ता कि सेंसर के पास चुंबक का कौन सा ध्रुव रखा जाएगा, यह 0 डेटा भेजेगा, जबकि पास में कुछ चुंबकीय क्षेत्र है और 1 जब नहीं है, अर्थात्, चुंबक सेंसर से दूर है (मान लीजिए 5 sm से आगे)।

3. इसी तरह का 21x21 सेमी कार्डबोर्ड तैयार करें और उस पर Arduino Mega और एक लंबा ब्रेडबोर्ड लगाएं। आप कार्डबोर्ड से किसी भी वांछित ऊंचाई की 4 दीवारों को फिर से काट सकते हैं, और उन्हें 21x21 सेमी वर्ग बोर्डों की उन दो परतों के साथ लंबवत चिपका सकते हैं। फिर चीजों को सेट करने के लिए फ्रिटिंग स्कीमैटिक्स का पालन करें। एलईडी और हॉल-इफेक्ट सेंसर के साथ काम करने के बाद आप आरएफआईडी रीडर भी सेट कर सकते हैं।

4. बुनियादी कोड का उपयोग करके सिग्नल भेजकर जांचें कि क्या सभी एल ई डी और सेंसर काम करते हैं। इस कदम से बचें क्योंकि यह आपको परीक्षण करने देगा कि क्या सब कुछ ठीक से काम करता है और बोर्ड के आगे के निर्माण के लिए पास हो जाएगा।

5. नीचे संलग्न 10 सेमी त्रिज्या के दो चुम्बकों के साथ-साथ गोल RFID टैग के साथ प्यादा और रानी तैयार करें। बाद में, आपको Arduino IDE पर सीरियल स्क्रीन से उन टैग्स की आईडी पढ़नी होगी।

6. अगर सब कुछ बढ़िया काम करता है, तो आप मुख्य कोड शुरू कर सकते हैं और चीजों को आजमा सकते हैं!

7 (वैकल्पिक)। आप लकड़ी के साथ कुछ कलात्मक काम कर सकते हैं जो आपके डेमो को और अधिक प्राकृतिक दृश्य देगा। यह आपकी इच्छा और कल्पना पर निर्भर है।

चरण 6: विभिन्न चरणों से कुछ तस्वीरें और वीडियो

Image
Image
विभिन्न चरणों से कुछ तस्वीरें और वीडियो
विभिन्न चरणों से कुछ तस्वीरें और वीडियो
विभिन्न चरणों से कुछ तस्वीरें और वीडियो
विभिन्न चरणों से कुछ तस्वीरें और वीडियो

चरण 7: स्रोत कोड

सोर्स कोड
सोर्स कोड

अब, जब हम एक प्रोटोटाइप के साथ कर रहे हैं, हम इसे नीचे Arduino कोड के साथ जीवन में लाने के लिए तैयार हैं। मैंने कोड विश्लेषण की प्रक्रिया को समझने योग्य बनाने के लिए जितनी हो सके उतनी टिप्पणियाँ छोड़ने की कोशिश की। ईमानदार होने के लिए, तर्क पहली नजर से थोड़ा जटिल लग सकता है, लेकिन यदि आप कोड के तर्क में गहराई से उतरते हैं, तो यह अधिक व्यापक दिखाई देगा।

नोट: वास्तविक शतरंज की बिसात के समान, मैंने वर्गों को संक्षेप में A1, A2, A3, A4, B1,…, C1,…, D1,.., D4 के रूप में गिना। हालाँकि, कोड में, इस संकेतन का उपयोग करना व्यावहारिक नहीं है। इसलिए मैंने सरणियों का उपयोग किया और वर्गों को क्रमशः 00, 01, 02, 03, 10, 11, 12, 13,…, 32, 33 के रूप में दर्शाया।

ध्यान देने के लिए आपका धन्यवाद! हर चीज का परीक्षण करें और टिप्पणियों में किसी भी प्रकार की गलतियों, सुधारों, सुझावों आदि के बारे में लिखने के लिए स्वतंत्र रहें। परियोजना के बारे में कुछ राय सुनने के लिए उत्सुक हैं। यदि आपको परियोजना के साथ किसी भी प्रकार की सहायता की आवश्यकता है, तो मुझे मेल करें (miriyevt@gmail).com) या स्काइप पर जोड़ें (tahir.miriyev9r1), ताकि हम बातचीत को शेड्यूल कर सकें और चीजों पर विस्तार से चर्चा कर सकें। शुभकामनाएं!