Я работаю над проектом Android ADK. Я ищу способ определения местоположения шахматных фигур на доске (8х8). Я смотрел на такие вещи, как NFC, но это выглядит слишком дорого. Есть ли другая технология, которую я должен рассмотреть. Мне нужно что-то, чтобы мир мог прочитать полное состояние доски в любое время. Например, некоторые части могут быть опрокинуты, и как только они будут восстановлены, мне нужны места. Чтобы объяснить это далее, в шахматной игре на тот момент, если фигуры будут перемещены в неправильное место, и ни один из игроков не заметит, игра будет продолжена. Поэтому мне нужно записать игру, даже если позиция невозможна в соответствии с правилами игры.
Я просто хочу указать общее направление, на какую технологию смотреть.
Ответы:
Первая идея : RFID. Одна бирка (очень дешевая) под каждой частью. Каждый тег должен идентифицировать, какой это тип фигуры (из {6 белых} + {6 черных} = 12 различных типов). Одна схема приемопередатчика и мультиплексор от 1 до 64 для всей платы. Кроме того, 64 маленькие антенны, каждая под каждой позицией платы. Приемопередатчик работает на очень низкой радиочастотной мощности (вы должны найти оптимальный, экспериментально). Изменяя соединения мультиплексора, вы сканируете все 64 позиции и считываете идентификаторы тегов (если таковые имеются), присутствующих на каждом из них.
Я никогда не использовал микросхемы, о которых идет речь, но этот документ может помочь вам реализовать мультиплексор RFID (который будет самой сложной частью, вместе с его тщательной компоновкой).
Вторая идея : отличить каждый тип изделия по его уникальной магнитной проницаемости. К каждой части вы добавите определенную массу внизу. Эта дополнительная масса будет одинаковой для всех 32 штук (чтобы пользователи чувствовали себя с ними комфортно). Каждая дополнительная масса будет суммой двух масс: «магнитная» масса плюс «компенсационная» (немагнитная) масса. Единственная цель компенсационной массы состоит в том, чтобы сделать общую дополнительную массу равной для всех типов деталей. Вам нужно выделить 12 различных типов предметов. Каждый тип изделия должен иметь магнитную массу с уникальной магнитной проницаемостью . Вы, вероятно, выберете материалы с высоким , но есть множество материалов, из которых вы можете выбрать, каждый с разными (см. Одну таблицуμ μμ μ μ здесь )
Под каждым положением доски вам нужно будет намотать несколько витков проволоки (чтобы диаметр был почти со стороны квадрата). У вас будет 64 катушки. Опять же, используйте мультиплексор от 1 до 64, чтобы подключить только один из них к измерителю индуктивности. Разница теперь в том, что мультиплексору не нужно иметь дело с RF. Вы можете связать один узел всех катушек вместе и использовать 64 аналоговых переключателя (очень дешево), чтобы направить, как я сказал, одну катушку к измерителю индуктивности. Схема должна будет в кратчайшие сроки определить, какова собственная индуктивность, измеренная на каждой из 64 катушек. Это не нуждается в большой точности. Просто нужно определить 13 различных возможных значений для L (то есть менее 4 бит!). Вы можете экспериментировать с методами во временной области (например, приложением постоянного напряжения и измерением наклона тока), или в частотной области (например, пытаясь быстро найти резонансную частоту с определенным добавленным конденсатором). Чтобы получить эти 12 разных значений для L, вы можете играть с разными проницаемостями и разными размерами для магнитного материала.
Поскольку вам необходимо сканировать 64 позиции (измерить 64 собственных индуктивности) за разумное время, я бы, вероятно, выбрал подходы во временной области. Например, если вы даете себе 1 секунду, чтобы прочитать все состояние платы, у вас есть 15,6 мс на каждое измерение индуктивности. Сложно, но выполнимо.
Если скорость действительно становится узким местом, вы могли бы сделать вашу систему в 8 раз быстрее, если бы вы включили 8 аналоговых интерфейсов вместо одного. Каждый интерфейс будет посвящен каждому ряду на доске. Таким образом, вы можете измерить 8 собственных индуктивностей одновременно (давая вам 125 мс для каждого измерения, и вы все равно получите полное состояние платы за 1 секунду). Я уверен, что одного MCU, даже с одним АЦП (с 8 каналами), будет достаточно.
Это может быть (без подробностей) схема для каждого внешнего интерфейса (которая может быть одна для всей платы или одна для каждой строки, как уже упоминалось) и способ быстрой оценки собственной индуктивности от до (N = 8 или 64). Общий узел для катушек будет верхним, а управляющие сигналы для аналоговых переключателей не показаны для простоты. TS будет постоянным, а VX, выбранный в TS, будет использоваться для вычисления собственной индуктивности. TG будет чуть длиннее, чем TS.L NL1 LN
Преимущество этой второй идеи: без участия РФ. Тем не менее, вам нужно создать свои собственные «теги», с различной проницаемостью.
источник
Я видел много электронных шахматных досок, в которых просверлено отверстие в центре каждого из 64 квадратов, с простым фотоприемником под каждым отверстием, которое дает только 1 бит - «ничего здесь» или «кусок какого-то покрытие детектора ". Это требует (а) некоторой памяти и кода, чтобы запомнить старую конфигурацию доски и отследить, какая фигура переместилась куда, и (б) что-то особенное для обработки пешечного продвижения. Это может определить, какие квадраты заняты и какие квадраты открыты в любое время, но не полное состояние доски.
источник
GlyphChess решает эту проблему с помощью прозрачной шахматной доски. Сканер внизу считывает уникальный штрих-код, прикрепленный к нижней части каждой части, чтобы выяснить, какая часть находится где. «Секретный код PARC» Slashdot: сыграйте в шахматы GNU на своем сканере. Это может перечитать полное состояние доски в любое время. Поскольку на шахматной доске меньше 18 уникальных фигур, возможно, было бы лучше использовать легко узнаваемые опознавательные знаки, такие как маркеры касания, а не штрих-коды высокого разрешения, способные различать миллионы объектов.
источник
Я бы сделал это, сделав цветовой сенсор для каждого квадрата, и поместил бы различную цветную метку внизу части.
Датчик цвета должен быть выполнен с использованием трех светодиодов (возможно, красного, зеленого и синего) и фототранзистора, чувствительного ко всему видимому свету. Последовательно включите светодиоды и измерьте, как фототранзистор измеряет отражение от шахматной фигуры.
Вы можете сделать это в обратном порядке, когда у вас есть белый светодиод и три разных фототранзистора, чувствительных к разным цветам. Но это сложнее сделать. Большинство фототранзисторов не являются селективными по цвету. Вы можете использовать фильтры, но проще использовать светодиоды разных цветов.
Если светодиоды горят достаточно долго, вы не увидите их «слишком много». Кроме того, светодиоды могут быть использованы для других целей, таких как маркировка доски или проведение крутых маленьких световых шоу, когда игра выиграна.
В этом есть небольшая хитрость, которая упрощает подключение и сборку. Avago имеет некоторый рассеянный свет для микросхем I2C, который может облегчить процесс. У других компаний есть подобные вещи.
Следующий трюк - сделать достаточно разноцветных ярлыков, чтобы у вас был уникальный цвет для каждой части. Это просто потребует проб и ошибок, поскольку мы не знаем точного спектра различных пигментов чернил / тонера для принтера. Тем не менее, это не должно быть слишком сложно при условии, что вы можете получить разрешение 6 бит от датчика освещенности. (6 битов дадут вам достаточный запас шума.)
источник
не нужно определять цвет, только оттенки серого. Каждая часть имеет оттенок серого на дне, и простая пара ИК-излучатель / детектор, установленная на плате, считывает аналоговое значение.
источник
Однажды компания под названием «Zowie» выпустила несколько игровых наборов, в том числе «Зачарованный сад Элли», которые подключались к компьютеру и могли определять положение нескольких жетонов на игровой поверхности. Каждый жетон состоял из конденсатора и катушки с проводом, а игровая поверхность имела сетку из проводов; Пропускание тока через горизонтальный провод на частоте, совпадающей с частотой LC сборки катушки с крышкой, приведет к появлению этой частоты на вертикальных проводах. Сетка проводов составляла около шести проводов / дюйм в обоих направлениях, и кажущееся разрешение позиционирования составляло, вероятно, около 0,05 дюйма, но к плате ЦП подключалось только около 16 проводов; я думаю, что провода были расположены по схеме, так что каждый токен будет реагировать на два или более горизонтальных провода и стимулировать по меньшей мере два вертикальных провода; отметив, какая комбинация проводов будет реагировать на раздражители, процессор сможет выяснить, где находится токен. Я не помню, что утверждал Zowie в их патенте или какой уровень техники он цитировал, но вполне возможно, что уровень техники включал бы уже общедоступный подход, который подойдет для ваших целей.
источник