چطور یک شطرنج الکترونیکی متصل به تلویزیون بسازم

1 روز قبل
11 بازدید

0

می خواهم یک شطرنج الکترونیکی بسازم که با حرکت هر مهره داخل تلویزیون هم نشان بدهد . به نظرم باید هر خانه شطرنج و هر مهره یک کد احتصاصی داشته باشد . لطفا راهنمایی کنید با چه مداری اینکار رو بکنم

 

1 روز قبل
محمد علی بحرینی
1

افزودن دیدگاه

1 پاسخ ثبت شده است
0

با سلام

با توجه به چیزی اطلاع دارم نیازی نیست که شما زیر هر مهره چیزی قرار بدهید.

کافی است یک صفحه ای ایجاد بکنید که در زیر آن به ازای هر خانه یک عدد سنسور نزدیکی یا کلید وجود داشته باشد.

برای این کار میتوانید از ماژول سنسور ردیاب مادون قرمز TCRT5000 برای پوشیده شدن خانه مربوطه از طریق مهره استفاده کرد.

پیشنهاد بنده ساخت یک PCB به ابعاد مورد نظر و قرار دادن سنسور نوری فرستنده گیرنده مادون قرمز TCRT5000 در محل های مورد نظر (64 عدد) و برای زیبایی کار میتوانید از LED های  WS2812 نیز در کنارش استفاده بکنید. تا از قابلیت رنگی شدن این سنسور نور برای تشخیص استفاده بکنید.

برای افزایش زیبایی میتوانید از سنسور های اثر هال و قرار دادن آهنروبا در زیر مهره ها نیز استفاده بکنید که زیبایی 2 چندان به دستگاه شما میدهد و همچنین خطا را کمتر میکند و برد شما باریک‌تر میشود.

در نهایت به دلیل اینکه نیاز است از 64 عدد سنسور استفاده بشود و همه این سنسور ها خروجی آنالوگ میدهند و امکان اندازه گیری تمام این سنسور ها از طریق یک برد آردوینو میسر نیست از یکی از روش های زیر باید استفاده بکنید.

  1. تبدیل سیگنال آنالوگ به دیجیتال
    برای این کار باید به این صورت عمل بکنید. هر کدام از سنسور ها را به یک IC opamp وصل بکنید و با استفاده از پتانسیومتری که در کنارش تعبیه کرده اید تنظیم میکنید در چه حدی خروجی آنالوگ به دیجیتال تبدیل بشود.
    Analogue to Digital Converter توضیحات تکمیلی را میتوانید از این لینک بدست آورید و IC پیشنهادی برای این موضوع  LM324 می باشد و هر کدام از این IC ها میتواند 4 عدد از این سنسور ها پشتیبانی بکند و پایه IN+ را مشترک بگیرید و به یک پتانسیومتر برای تنظیم حساسیت وصل بکنید - (پتانسیومتر 10k اهم SMD - پتانسیومتر 2k اهم خوابیده) در نهایت خروجی را به یک شیفت رجیستر وصل بکنید (مانند  74HC595 - آموزش) و از داده خروجی دیتا را دریافت و مورد بررسی قرار بدهید
  2. استفاده از IC ADC 
    در این روش به دلیل کم بودن تعداد پایه های ADC روی میکروکنترلر از ADC های جانبی استفاده میشود مانند ماژول مبدل ADC آنالوگ به دیجیتال 12 بیتی ADS1015 که هر کدام از این برد ها 4 عدد ورودی را گرفته و بر روی لاین I2C به شما به صورت دیجیتال میدهد. و حداکثر میتوانید 4 عدد از این ماژول ها را همزمان به هم وصل بکنید و برای اینکار نیاز است پایه ADDR را به یکی از پایه های VCC.GND,SDA,SCL وصل بکنید و در نهایت به شما 4x4=16 لاین خواندن دیتا میدهد که باز هم کم می باشد و در ادامه این ماژول ها را به یک برد توسعه 8 کاناله I2C TCA9548A وصل میکنید که میشود 16x8=128 که شما کافی است از 4 کانال این ماژول استفاده بکنید تا به حداکثر تعداد 64 خانه مربوطه برسید.

 

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

برای نمونه میتوانید در اینترنت در این باره سرچ بکنید و چندین ویدیو مشاهده بکنید.

نمونه ای از این ویدیو ها را برای شما قرار میدهم.

https://blog.arduino.cc/2017/04/17/this-maker-built-a-game-board-that-lights-up-correct-moves/

https://www.youtube.com/watch?v=D84sVPR6g7o

این کتابخانه را نیز پیدا کردم ولی نمیدانم به کار شما می آید یا خیر Arduino code of sense-chess

20 ساعت قبل
محمد دمیرچی
4360

افزودن دیدگاه


انجمن کافه‌ربات © 1400