Оглавление:

Шахматные часы Arduino: 6 шагов
Шахматные часы Arduino: 6 шагов

Видео: Шахматные часы Arduino: 6 шагов

Видео: Шахматные часы Arduino: 6 шагов
Видео: Шахматные часы LEAP PQ 9907S | AliExpress | Обзор 2024, Ноябрь
Anonim
Шахматные часы Arduino
Шахматные часы Arduino

Я не смог найти инструкции к хорошим шахматным часам Arduino, поэтому вместо этого я построил свои собственные, которые я опишу здесь.

Шаг 1: Список деталей

Список деталей
Список деталей

Вот то, что вам понадобится: Arduino nano (или любой другой тип Arduino UNO), паяльник, припой печатной платы или платы vero 2 двойных держателя батареек AA 3 резистора на 10 кОм, держатель предохранителя 2 заземляющих контакта от 2 британских вилок 2 x 4 цифра 7-сегментный дисплей зуммер 1 тумблер 1 маленькая кнопка (нажмите, чтобы набрать) Кабель USB 1 (или что-то еще, что подходит к вашей Arduino), фитинги для микрофонов и гайки, болты. Для этого я сделал ставку и выиграл набор meccano на ebay и использовал то, что я нашел, макетную плату корпуса (необязательно) и соединительные кабели (необязательно, но рекомендуется сначала создать прототип), много времени! Я прикрепил изображение, но оно было из моих запчастей после сборки, поэтому некоторые компоненты отсутствуют, как отмечалось.

Шаг 2: прототипирование

Прототипирование
Прототипирование
Прототипирование
Прототипирование

Весь проект можно разделить на следующие части: 1. Правильная схема 2. Программа 3. Физическая компоновка Этот шаг не является обязательным, так как я дам вам принципиальную схему, но я настоятельно рекомендую вам попробовать сначала макет, так как он подтвердит (или нет), что у вас есть все необходимые детали, и позволит вам подумать о физическом расположении всех частей для корпуса или основания. Я приложил сюда изображение моего прототипа на макетной плате, а также принципиальную схему. Некоторые примечания к схеме: 1. В верхнем левом углу принципиальной схемы показан вывод на дисплее, который подключен к сегменту (катоды) или цифре (аноды). 2. Вы заметите, что для каждого дисплея сегменты (катоды) подключены к соответствующему сегменту на другом дисплее. Это связано с тем, что дисплей мультиплексирован для отображения правильных цифр 3. Переключатель сброса и кулисный переключатель соединены с понижающими резисторами, чтобы поддерживать низкий уровень входного сигнала, когда соответствующая кнопка не нажата. см. https://www.arduino.cc/en/tutorial/button для получения более подробной информации об этом. 4. Цепь питания полностью отдельная, но простая. Это 4 батарейки АА последовательно с переключателем, припаянными к красному и черному выводам или к отрезанному USB-кабелю. Затем USB-кабель входит в Arduino.

Шаг 3: Программа

Программа
Программа
Программа
Программа

Когда он у вас на макетной плате, вам нужно написать контроллер. К счастью для вас, я прикрепил сюда свой код, но я бы посоветовал вам попробовать или настроить этот код. Если вы собираетесь написать это с нуля, вы сначала решаете, какие контакты установить для того, чтобы сделать все 10 цифр, затем я закодировал еще 2 шаблона, один для того, когда время истекло, и один для представления 10 в одном цифра (см. изображение). Следующим шагом является мультиплексирование цифр, чтобы вы могли отображать разные числа или шаблоны на каждой из 8 цифр. Я настраивал скорость мультиплексирования до тех пор, пока он не выглядел правильно, слишком быстро, и числа сливались между соседними цифрами, и слишком медленно, и невооруженным глазом можно было заметить мультиплексирование. Следующим шагом будет обратный отсчет чисел как 2 набора по 4 числа, представляющих 2 отсчета времени. Я решил использовать первую цифру для минут, следующие 2 для секунд и последнюю для десятых долей секунды, но вы могли выбрать 2 для минут и 2 для секунд. Обратный отсчет можно откалибровать с помощью простого цикла for, который ничего не делает, так что «секунда» на дисплее фактически является реальной секундой. Я получил свой довольно близко, но я подумал, что для неформальной шахматной игры не имеет большого значения, если в каждой игре будет одинаковое количество юнитов. Я думаю, вы можете сделать его более точным, если хотите использовать свои шахматные часы для турнира или даже для измерения времени яйца! При включении часы загружаются в режим сброса. Затем он ожидает удара по рокерам с обеих сторон и ведет обратный отсчет от (по умолчанию) 5 минут. Код прослушивает кнопку сброса, когда качелька уравновешена. при ударе часы снова перейдут в режим сброса. На этом этапе можно использовать кнопку сброса для переключения желаемых минут для каждого воспроизведения от 1 до 10. Когда отображается желаемое время, можно снова нажать на переключатель, чтобы запустить часы. наконец, вам нужно сделать что-то, чтобы указать, что время истекло, в моем случае он отображает все тире (-) и воспроизводит серию звуковых сигналов, затем он показывает одну сторону как 0000 (проигравший), а другую сторону как любое время не использовался победителем.

Шаг 4: физическая сборка

Физическое телосложение
Физическое телосложение

Следующий этап - физическая сборка. Кулисный переключатель Первая часть - это кулисный переключатель. Этот переключатель должен закрывать одно из двух соединений, но никогда оба. Также он должен иметь возможность балансировать посередине, где он не закрывает ни одно соединение. Это приостанавливает часы. Здесь я использовал небольшой кусок дерева и прикрутил британский заземляющий штифт к каждому концу. Затем в середине строится ось, чтобы поднять качельку с доски. Опять же, для этого я активно использовал свой конструктор ebay. Когда коромысло установлено на плате, контакты заземления должны войти в зажимы держателя предохранителя, чтобы замкнуть соединение. Чтобы это было гладко, я подпилил края заземляющих контактов, чтобы вход в держатель предохранителя легко перемещался (см. Изображение). Макет Сначала я установил пустые печатные платы на лист из плексигласа с зазором для оси качания. выключатель. Затем я снял его и припаял компоненты и провода с таким же зазором. Если вы этого не сделаете, вы можете столкнуться с трудностями при прикручивании полученных плит обратно к плексигласовой основе. Сначала нарисуйте схему на бумаге и помните: - насколько высока верхняя сторона каждого рычага для корпуса - некоторые компоненты, такие как держатели батарей и USB-порт Arduino, должны быть доступны после завершения - Если переключатели должны быть в положении быть установленными на крышке корпуса, а затем соединить их провода с разъемами, чтобы крышка могла быть полностью снята. (у меня есть только шарнир, но я все равно это сделал) - я наклонил 7-сегментные дисплеи, выдвинув контакты с одной стороны с помощью плавкого провода, который позволяет этой стороне располагаться выше над платой Корпус Я планировал построить нестандартный корпус, но В конце концов, у меня не хватило времени, и плексигласа трудно разрезать, поэтому я купил коробку, размер которой был аналогичен тому, что мне было нужно, и немного изменил ее. Я думаю, что хорошо иметь прозрачный корпус, чтобы можно было видеть работу, но убедитесь, что батареи и порт USB остаются доступными для настройки программы. Удачи и удачи!

Шаг 5. Другие варианты…

Возможные улучшения или варианты: - проигрывать разную последовательность сигналов в зависимости от того, какая из сторон выигрывает - проигрывать мелодию по завершении. Я считаю, что это возможно с аналоговыми контактами и соответствующим зуммером. - различные официальные схемы хронометража в шахматах (например, добавление времени для каждого сыгранного хода) - используйте сегмент 7, чтобы 2 цифры для минут и 2 для секунд

Шаг 6: Обновление 2019

Обновление 2019!
Обновление 2019!
Обновление 2019!
Обновление 2019!
Обновление 2019!
Обновление 2019!

так что я вернулся к своему первому Instructable и снова сделал эти шахматные часы!

Я выполнил те же шаги более или менее, но со следующими улучшениями:

Физическая комплектация

  • Вся конструкция более компактная и на деревянной основе (см. Фото).
  • Переключен на одну батарею 9 В, подключенную напрямую к VIN и GND с помощью переключателя
  • Кулисный переключатель выполнен в технике, где каждая сторона удерживается нажатой сверхсильными магнитами.

Код

Я также улучшил код, который прилагается здесь. улучшения:

  • Убрал отображение десятых секунды и сдвинул цифры вправо
  • Добавлены приращения. Добавлены 5 минут плюс 5 секунд на ход и 10 минут плюс 5 секунд на ход в качестве параметров.

Добавлена пара линий для переключения дисплеев (L R), если после сборки вы обнаружите, что тумблер не запускает правильные часы

Схема

Рекомендуемые: