فهرست مطالب:

نمایشی 4x4 از یک صفحه شطرنج الکترونیکی/ با Arduino Mega + RFID Reader + سنسورهای اثر هال: 7 مرحله
نمایشی 4x4 از یک صفحه شطرنج الکترونیکی/ با Arduino Mega + RFID Reader + سنسورهای اثر هال: 7 مرحله

تصویری: نمایشی 4x4 از یک صفحه شطرنج الکترونیکی/ با Arduino Mega + RFID Reader + سنسورهای اثر هال: 7 مرحله

تصویری: نمایشی 4x4 از یک صفحه شطرنج الکترونیکی/ با Arduino Mega + RFID Reader + سنسورهای اثر هال: 7 مرحله
تصویری: 145 Ultimate Van Tour: Our Mercedes Benz Vanlife Conversion! 2024, دسامبر
Anonim
نسخه نمایشی 4x4 صفحه شطرنج الکترونیکی/ با آردوینو مگا + RFID Reader + سنسورهای اثر هال
نسخه نمایشی 4x4 صفحه شطرنج الکترونیکی/ با آردوینو مگا + RFID Reader + سنسورهای اثر هال

سلام سازندگان ،

من طاهر میریف هستم ، فارغ التحصیل 2018 از دانشگاه فنی خاورمیانه ، آنکارا/ ترکیه. من در رشته ریاضیات کاربردی تحصیل کردم ، اما همیشه ساخت وسایل را دوست داشتم ، به ویژه وقتی که شامل کارهای دستی با الکترونیک ، طراحی و برنامه نویسی بود. با تشکر از یک دوره منحصر به فرد در زمینه نمونه سازی ، که در بخش طراحی صنعتی ما ارائه شد ، من فرصتی پیدا کردم تا چیزی واقعاً جالب بسازم. این پروژه را می توان به عنوان یک پروژه دوره ای در نظر گرفت که به مدت یک ترم کامل (4 ماه) به طول انجامید. وظیفه ای به دانش آموزان اختصاص داده شد تا یک رویکرد خلاقانه برای طراحی محصولات/نسخه های نمایشی موجود پیدا کنند و ایده های خود را با استفاده از میکروکنترلرها و حسگرهای آردوینو پی ببرند. من به شطرنج فکر می کردم ، و پس از انجام تحقیقات در مورد پروژه های موفق ، متوجه شدم که در پروژه های قبلی اساساً سازندگان از موتورهای شطرنج آماده استفاده می کردند (که در آن تمام حرکات هر شکل در هسته برنامه ریزی شده بود) ، به همراه رزبری پای ، برخی MUX کلیدها ، کلیدهای LED و نی. در پروژه خود ، اگرچه ، من تصمیم گرفتم که از نظر موتور شطرنج از شر هرگونه نرم افزار خارجی خلاص شوم و با استفاده از RFID خوان ، حسگرهای اثر هال و آردوینو مگا ، یک راه حل خلاقانه برای مشکل تشخیص تصویر پیدا کنم.

مرحله 1: مشکل تشخیص شکل چیست و چگونه آن را حل کردم

مشکل تشخیص شکل چیست و چگونه آن را حل کردم
مشکل تشخیص شکل چیست و چگونه آن را حل کردم

به بیان ساده تر ، فرض کنید شما یک صفحه شطرنج با "مغز" = میکروکنترلر دارید و باید به هیئت مدیره خود بفهمانید که کدام شکل را در دست خود گرفته اید و کجا آن را قرار داده اید. این مشکل تشخیص شکل است. راه حل این مشکل زمانی بی اهمیت است که شما یک موتور شطرنج داشته باشید و همه مهره ها روی موقعیت اولیه خود روی تخته ایستاده باشند. قبل از توضیح دلیل این امر ، اجازه دهید نکاتی را بیان کنم.

برای کسانی که مشتاق نحوه کار در اینجا هستند ، باید توضیح دهم که چرا به کلیدهای نی نیاز داریم (یا در مورد من ، از سنسورهای اثر هال استفاده کردم): اگر یک آهنربا را در زیر هر قطعه قرار دهید و آن را از یک مربع روی صفحه (با فرض وجود یک سوئیچ نی در زیر هر مربع) به دلیل وجود/عدم وجود میدان مغناطیسی بالای سنسور ، می توانید کنترل کننده خود را بفهمید که آیا قطعه ای روی مربع ایستاده است یا نه به با این حال ، هنوز چیزی به میکروکنترلر نمی گوید که دقیقاً کدام قطعه روی میدان ایستاده است. فقط می گوید که قطعه ای روی مربع وجود دارد/نیست. در این مرحله ، ما با مشکل تشخیص شکل روبرو هستیم که با استفاده از موتور شطرنج می توان آن را حل کرد و همه مهره ها در موقعیت اولیه خود هنگام شروع بازی شطرنج قرار گرفتند. به این ترتیب میکروکنترلر "می داند" که در آن هر قطعه از ابتدا با همه آدرسها در حافظه ثابت است. با این وجود ، این یک محدودیت بزرگ برای ما به ارمغان می آورد: شما نمی توانید ، فرض کنید ، هر تعداد قطعه را انتخاب کرده و آنها را به طور تصادفی در هر نقطه از صفحه قرار دهید و شروع به تجزیه و تحلیل بازی کنید. شما همیشه باید از ابتدا شروع کنید ، همه قطعات باید در ابتدا روی تخته باشند ، زیرا این تنها راهی است که میکروکنترلر هنگامی که یک قطعه را بلند کرده و روی مربع دیگری قرار می دهید ، مکان خود را ردیابی می کند. در اصل ، این مشکلی بود که من متوجه آن شدم و تصمیم گرفتم برای آن تلاش کنم.

راه حل من بسیار ساده بود ، اگرچه خلاقانه بود. من یک خواننده RFID را در قسمت جلویی یک تخته قرار دادم. در همین حال ، من نه تنها یک آهنربا را زیر قطعات بلکه یک برچسب RFID وصل کردم ، که هر قطعه دارای یک شناسه منحصر به فرد است. بنابراین ، قبل از قرار دادن یک شکل روی هر مربع دلخواه ، می توانید ابتدا قطعه را نزدیک خواننده RFID نگه دارید و اجازه دهید تا شناسه را بخواند ، قطعه را شناسایی کرده ، در حافظه ذخیره کند و سپس می توانید آن را در هر کجا که می خواهید قرار دهید. همچنین ، به جای استفاده از کلیدهای نی ، به منظور ساده سازی طراحی مدار ، از سنسورهای جلوه ای استفاده کردم که به طور مشابه کار می کنند ، با تنها تفاوت ارسال 0 یا 1 به یک میکروکنترلر به عنوان یک داده دیجیتالی ، که نشان می دهد "وجود دارد" یا به ترتیب هیچ قطعه ای روی مربع وجود ندارد. چراغ های LED را نیز اضافه کردم (متأسفانه همرنگ نبودند ، نداشتند) ، بنابراین وقتی قطعه را بلند می کنید ، تمام مکان های مربعی ، جایی که قطعه بلند شده می تواند در آن قرار گیرد ، روشن می شود. آن را به عنوان یک تمرین آموزشی برای زبان آموزان شطرنج در نظر بگیرید:)

در نهایت ، می خواهم توجه داشته باشم که علیرغم این واقعیت که از چندین تکنیک استفاده کردم ، پروژه ساده و قابل فهم است ، نه عمیقاً کار شده و نه بیش از حد پیچیده. من زمان کافی برای انجام صفحه شطرنج 8x8 نداشتم (همچنین به دلیل این که 64 سنسور جلوه در سال ترکیه هزینه بر است ، من تمام هزینه های مربوط به پروژه را بر عهده گرفتم) ، به همین دلیل نسخه نمایشی 4x4 را با دو قطعه تست شده انجام دادم: پیاده و ملکه. به جای استفاده از موتور شطرنج ، من یک کد منبع برای آردوینو نوشتم ، که همه چیزهایی را که در فیلم زیر مشاهده می کنید ایجاد می کند.

مرحله 2: چگونه کار می کنند

Image
Image

قبل از اینکه به توضیح گام به گام نحوه انجام پروژه بپردازیم ، فکر می کنم بهتر است یک ویدیوی تصویری تماشا کنید و ایده ای شهودی در مورد آنچه که من صحبت می کنم بدست آورید.

نکته 1: یکی از LED های قرمز (اول در ردیف/ از چپ به راست) سوخته است ، مهم نیست.

توجه شماره 2: اگرچه به طور گسترده مورد استفاده قرار می گیرد ، اما از تجربه خود می توانم بگویم که فناوری RFID بهترین ایده برای استفاده در برنامه های DIY نیست (البته اگر جایگزین دارید). قبل از اینکه همه چیز کار کند ، آزمایشات زیادی را با قرار دادن مهره های شطرنج در نزدیکی خواننده انجام دادم و منتظر ماندم تا شناسنامه به درستی خوانده شود. پورت سریال باید برای آن تنظیم شود زیرا نحوه خواندن شناسه RFID فقط یک سردرد است. شخص باید به تنهایی تلاش کند تا موضوع را درک کند. اگر به کمک بیشتری احتیاج دارید ، لطفاً به من ایمیل بزنید ([email protected]) یا اسکایپ را اضافه کنید (tahir.miriyev9r1) ، به طوری که بتوانیم مکالمه ای را برنامه ریزی کرده و درباره جزئیات مسائل صحبت کنیم ، من همه چیز را به طور کامل توضیح خواهم داد.

مرحله 3: ابزارها و قطعات

ابزارها و اجزاء
ابزارها و اجزاء
ابزارها و اجزاء
ابزارها و اجزاء
ابزارها و اجزاء
ابزارها و اجزاء

در اینجا لیستی از تمام ابزارهایی که برای پروژه استفاده کردم آمده است: قطعات الکترونیکی:

  • تخته نان (x1)
  • سنسورهای اثر هال (x16) A1126LUA-T (IC-1126 SW OMNI 3-SIP ALLEGRO)
  • LED های پایه 5 میلی متری (x16)
  • سیم های بلوز
  • 125 کیلوهرتز RFID Reader و آنتن (x1)
  • آردوینو مگا (x1)
  • برچسب های RFID 3M (x2)

مواد دیگر:

  • پلکسی گلاس
  • کاغذ براق
  • تخته های کوتاه (چوبی)
  • رنگ اکریلیک (سبز تیره و کرم) x2
  • مقوا نازک
  • آهنرباهای گرد 10 میلی متری (x2)
  • قطعات پیاده و ملکه
  • آهن لحیم کاری و مواد لحیم کاری

مرحله 4: شماتیک (تکه تکه شدن)

شماتیک (فریتزینگ)
شماتیک (فریتزینگ)

من می دانم که شماتیک کمی پیچیده است ، اما ایده باید روشن باشد. این اولین بار بود که از Fritzing استفاده می کردم (به هر حال بسیار توصیه می شود) ، احتمالاً می توان اتصالات را با دقت بیشتری ترسیم کرد. به هر حال ، من همه چیز را در شماتیک ها یادداشت کردم. توجه: من نمی توانم مدل دقیق RDIF Reader را در بین اجزای موجود در پایگاه داده Fritzing پیدا کنم. مدلی که من استفاده کردم ماژول RFID 125Khz - UART است. می توانید آموزش هایی در مورد نحوه تنظیم این ماژول با آردوینو پیدا کنید.

مرحله 5: فرآیند

روند
روند

زمان توضیح چگونگی ایجاد امور فرا رسیده است. لطفاً توضیحات گام به گام را دنبال کنید:

1. یک مقوا 21x21 سانتی متری و مقداری مقوا اضافی بردارید و دیوارهای قسمت بالای تخته را ببرید و بچسبانید تا 16 مربع با A B C D 1 2 3 4 برشمرده شود. از آنجا که مقوا نازک است ، می توانید 16 سنسور جلوه سالن را در هر مربع بچسبانید ، هر کدام دارای 3 پایه و 16 LED با 2 پایه است.

2. پس از تنظیم اجزاء ، باید لحیم کاری کنید ، پایه های سنسورهای اثر Hall و LED ها را به سیم های بلوز لحیم کنید. در این مرحله ، من توصیه می کنم سیم های رنگی را به شیوه ای هوشمند انتخاب کنید تا با پاهای + و - LED ها ، همچنین پایه های VCC ، GND و PIN سنسورهای اثر هال اشتباه نگیرید. البته ، ممکن است یک PCB با سنسورها و حتی LED های WS2812 که قبلاً لحیم شده اند چاپ شود ، اما من تصمیم گرفتم پروژه را ساده نگه دارم و کارهای بیشتری انجام دهم. در این مرحله ، تنها کاری که باید انجام دهید این است که طناب ها و حسگرها را آماده کنید ، در مراحل بعد از طرح Fritzing می توانید انتهای هر سیم را به جایی که باید وصل کنید ، ببینید. به زودی ، برخی از آنها مستقیماً به پین های موجود در Arduino Mega می روند (تعداد آنها در آردوینو به اندازه کافی وجود دارد) ، برخی دیگر به تخته نان و همه GND ها را می توان به یک تکه بند ناف لحیم کرد (زمینه مشترک) که بعداً باید روی برد آردوینو به GND متصل شود. یک نکته مهم در اینجا: سنسورهای اثر هال همه کاره هستند ، به این معنی که مهم نیست کدام قطب آهنربا در نزدیکی سنسور نگه داشته می شود ، 0 داده در حالی که میدان مغناطیسی در این نزدیکی وجود دارد و 1 در صورت عدم وجود ، 1 داده ارسال می کند. یعنی ، آهن ربا با سنسور فاصله دارد (بیشتر از حدس 5 سانتیمتر).

3. مقوا مشابه 21x21 سانتی متر تهیه کنید و Arduino Mega و یک تخته نان بلند را روی آن ثابت کنید. همچنین می توانید 4 دیوار با هر ارتفاع دلخواه را دوباره از مقوا ببرید و با آن دو لایه تخته مربع 21x21 سانتی متر آنها را به صورت عمودی بچسبانید. سپس Fritzing Schematics را برای تنظیم امور دنبال کنید. همچنین می توانید پس از اتمام کار با LED ها و حسگرهای اثر Hall ، خواننده RFID را تنظیم کنید.

4. با ارسال سیگنال ها با استفاده از کدهای اساسی ، کار کنید که آیا همه LED ها و سنسورها کار می کنند یا خیر. از این مرحله اجتناب نکنید زیرا به شما این امکان را می دهد تا ببینید آیا همه چیز درست کار می کند یا نه و به ساخت بیشتر تخته منتقل می شود.

5. Pawn و Queen را با دو آهن ربا به شعاع 10 سانتی متر در زیر و همچنین برچسب های RFID گرد آماده کنید. بعداً ، باید شناسه های آن برچسب ها را از Serial Screen در Arduino IDE بخوانید.

6. اگر همه چیز عالی کار می کند ، ممکن است کد اصلی را شروع کرده و موارد را امتحان کنید!

7 (اختیاری) ممکن است کارهای هنری با چوب انجام دهید که نمای طبیعی تری به نمایشی شما می بخشد. این به اراده و تخیل شما بستگی دارد.

مرحله ششم: چند عکس و فیلم از مراحل مختلف

Image
Image
چند عکس و فیلم از مراحل مختلف
چند عکس و فیلم از مراحل مختلف
چند عکس و فیلم از مراحل مختلف
چند عکس و فیلم از مراحل مختلف

مرحله 7: کد منبع

کد منبع
کد منبع

در حال حاضر ، هنگامی که کار ما با یک نمونه اولیه تمام شد ، آماده ایم تا آن را با کد آردوینو زیر زنده کنیم. من سعی کردم تا آنجا که می توانم نظرات خود را بیان کنم تا فرایند تجزیه و تحلیل کد قابل درک باشد. اگر بخواهیم صادق باشیم ، این منطق ممکن است در نگاه اول کمی پیچیده به نظر برسد ، اما اگر در منطق کد عمیق تر وارد شوید ، جامع تر به نظر می رسد.

توجه: مشابه صفحه شطرنج واقعی ، من مربعات را بصورت انتزاعی A1 ، A2 ، A3 ، A4 ، B1 ،… ، C1 ،… ، D1 ،.. ، D4 شمارش کردم. با این حال ، در کد ، استفاده از این نماد عملی نیست. بنابراین من از آرایه ها استفاده کردم و مربع ها را به ترتیب 00 ، 01 ، 02 ، 03 ، 10 ، 11 ، 12 ، 13 ،… ، 32 ، 33 نشان دادم.

با تشکر از توجه شما! همه چیز را آزمایش کنید و در نوشتن نظرات در مورد هر گونه اشتباهاتی که از دست داده ام ، پیشرفت ها ، پیشنهادات و غیره آزاد باشید. منتظر شنیدن نظرات در مورد پروژه باشید. اگر در پروژه به هر نوع کمک نیاز دارید ، به من ایمیل بزنید ([email protected]) یا در اسکایپ (tahir.miriyev9r1) اضافه کنید ، تا بتوانیم مکالمه ای را برنامه ریزی کرده و در مورد جزئیات مسائل صحبت کنیم. بهترین شانس!