Оглавление:

Взломайте код игры, головоломка на основе Arduino: 4 шага (с изображениями)
Взломайте код игры, головоломка на основе Arduino: 4 шага (с изображениями)

Видео: Взломайте код игры, головоломка на основе Arduino: 4 шага (с изображениями)

Видео: Взломайте код игры, головоломка на основе Arduino: 4 шага (с изображениями)
Видео: НАБРАЛ Секретный Код На Телефоне И ОФИГЕЛ!! БАТАРЕЯ НЕ САДИТСЯ! 2024, Ноябрь
Anonim
Image
Image
Взломайте код игры, головоломка на основе Arduino
Взломайте код игры, головоломка на основе Arduino
Взломайте код игры, головоломка на основе Arduino
Взломайте код игры, головоломка на основе Arduino

Проекты Tinkercad »

В этом руководстве я покажу вам, как создать собственную игру с взломом кода, в которой вы используете поворотный переключатель кодировщика, чтобы угадать случайно сгенерированный код для сейфа. На передней панели сейфа есть 8 светодиодных индикаторов, которые показывают, сколько цифр, по вашему мнению, правильное, и сколько цифр находятся в нужном месте.

Сейф изначально открыт, что позволяет положить что-нибудь во внутренний отсек. Arduino и аккумулятор размещены в отдельном отсеке сзади. Затем вы нажимаете ручку, чтобы заблокировать сейф, что делается с помощью сервопривода на внутренней стороне двери. Затем вам нужно ввести код, поворачивая циферблат для выбора цифр и нажимая на циферблат для подтверждения каждой цифры. После того, как ваша четвертая цифра выбрана, сейф показывает, сколько ваших цифр правильное и сколько из них находится в нужном месте, с помощью красных и зеленых светодиодов на двери.

Красный светодиод указывает на правильную цифру, а зеленый светодиод указывает на то, что он также находится в правильном месте. Итак, вам нужно зажечь все четыре красных и зеленых светодиода, чтобы взломать код и открыть сейф.

Сейф отслеживает, сколько предположений вы сделали, чтобы взломать код, и это отображается, когда вам удалось его взломать. Поначалу это может показаться сложным, но на самом деле это не так уж сложно, вам просто нужно помнить и опираться на свои предыдущие предположения. В большинстве случаев вы сможете взломать код за 5-10 попыток, в зависимости от того, насколько удачливы ваши первоначальные предположения.

Если вам нравится эта инструкция, рассмотрите возможность проголосовать за нее в конкурсе Arduino.

Запасы

Для создания сейфа Crack The Code вам понадобятся:

  • Arduino Uno - Купить здесь
  • I2C OLED-дисплей - Купить здесь
  • Кнопочный кодировщик - Купить здесь
  • Красные светодиоды 4 x 5 мм - Купить здесь
  • Зеленые светодиоды 4 x 5 мм - Купить здесь
  • Резисторы 8 x 220 Ом - Купить здесь
  • Micro Servo - Купить здесь
  • Ленточный кабель - Купить здесь
  • Полосы заголовка - Купить здесь
  • Выключатель питания - Купить здесь
  • Лист МДФ 3мм - Купить здесь

Вам также понадобятся основные инструменты, столярный клей, клеевой пистолет и паяльник.

Детали сейфа нужно вырезать лазером. Если у вас нет доступа к станку для лазерной резки, подумайте об использовании онлайн-сервиса лазерной резки, они стали довольно доступными и будут вырезать и доставлять компоненты к вашей двери.

Это лазерный резак, который я использовал в Instructable - K40 Laser Cutter.

Шаг 1: соберите коробку

Соберите коробку
Соберите коробку
Соберите коробку
Соберите коробку
Соберите коробку
Соберите коробку
Соберите коробку
Соберите коробку

Я разработал сейф в Inkscape, чтобы он был вырезан из МДФ толщиной 3 мм. Вы также можете вырезать детали из 3-миллиметрового акрила или фанеры, если хотите. Если вы используете материал другой толщины, вам необходимо отрегулировать прорези в компонентах коробки так, чтобы они соответствовали друг другу.

Вы можете скачать файлы для лазерной резки здесь.

Снаружи коробки 6 панелей, на задней и передней панели есть вырезы для передней и задней дверей. Панели помечены в файле печати, чтобы вы могли отслеживать их.

Циферблат также изготавливается из вырезанных лазером деталей, которые затем склеиваются.

К верхней и двум сторонам коробки приклеены три декоративные панели, чтобы он больше походил на сейф. Также есть две панели, которые составляют дверцу, и разделительную панель, которая проходит в середину коробки, чтобы отделить безопасный отсек от отсека для электроники.

Кусочки помещаются на цельный кусок МДФ 400 x 500 мм и могут быть разделены на более мелкие части, если ваш лазерный резак не достаточно большой, чтобы разрезать все части сразу.

Я начал сначала приклеивать декоративные панели сверху и по бокам. Убедитесь, что у вас есть детали в правильном порядке, чтобы вы знали, какие из них есть. Есть три разных части: верх и низ одинаковы, стороны одинаковые, а передняя и задняя части одинаковы.

Когда панели высохнут, можно собирать коробку.

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

Петли также вырезаны лазером и просто приклеиваются на место, как только вы выровняете дверь. Убедитесь, что они параллельны двери, иначе вам будет сложно ее открыть. Вам также может потребоваться немного отшлифовать внутренний шарнирный край двери, чтобы он не терся о край коробки при движении мимо.

Приклейте четыре квадрата к углам за задней панелью, чтобы просверлить винты для задней крышки.

Затем вы можете просверлить отверстия для винтов и приступить к установке экрана, Arduino, задней крышки и, наконец, кодировщика.

Шаг 2: Подключите электронику

Подключите электронику
Подключите электронику
Подключите электронику
Подключите электронику
Подключите электронику
Подключите электронику

Я разработал схему на макетной плате в Tinkercad Circuits и впоследствии добавил на OLED-дисплей.

У нас есть 8 светодиодов, подключенных к цифровым контактам ввода-вывода с 6 по 13. Сервопривод блокировки подключен к контакту 5. Энкодер подключен к контактам 2, 3 и 4, а OLED-дисплей подключен к интерфейсу I2C Arduino.

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

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

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

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

Шаг 3: программирование Arduino

Программирование Arduino
Программирование Arduino
Программирование Arduino
Программирование Arduino

Я не собираюсь вдаваться в подробности кода, как обычно, поскольку в нем много всего. Я сделал подробную запись, объясняющую каждую ее часть, которую вы можете найти вместе с кодом, загружаемым по этой ссылке - Crack The Code Game Code.

В итоге; мы начинаем с импорта библиотек для управления OLED-дисплеем и сервоприводом.

Затем мы устанавливаем параметры отображения и создаем все наши переменные. Существует довольно много переменных, предназначенных для отслеживания поворотов энкодера, поскольку они выполняются с помощью прерываний по нарастающему фронту на контактах 2 и 3.

Созданы два массива кода: один для хранения случайно сгенерированного кода, а другой - для хранения текущего предположения пользователя.

В функции настройки мы запускаем дисплей, присоединяем сервопривод, устанавливаем режимы вывода IO и затем отображаем текстовую анимацию Crack The Code на дисплее.

Функции цикла мигают светодиодами и отображают сообщение push to lock safe, которое затем ждет, пока пользователь не нажмет диск, чтобы начать игру. Тот же код запускается в конце игры, который затем отображает количество попыток и ожидает нажатия кнопки набора, чтобы начать новую игру.

На кнопке кодировщика есть некоторый код устранения неполадок, и после нажатия сервопривод блокирует сейф, и генерируется случайный код. Затем код вызывает функцию, чтобы попросить пользователя ввести свое предположение, а затем другую, чтобы проверить предположение, это повторяется до тех пор, пока пользователь не угадает код правильно.

Существует функция обновления отображаемого кода, которая вызывается каждый раз, когда кодировщик поворачивается, и отображаемый код необходимо изменить.

Функция для генерации нового кода просто присваивает случайную цифру каждому из четырех элементов в массиве кода.

Функция ввода предположения кода позволяет пользователю выбирать цифру с помощью кодировщика, а затем подтверждать ввод каждой цифры, нажимая кодировщик вниз.

Затем функция определения кода проверки просматривает предполагаемый код и решает, сколько цифр правильное и сколько цифр находится в нужном месте.

Функция светодиодов обновления включает правильное количество красных и зеленых светодиодов на основе предположений пользователя.

Функция start ani отображает анимацию Crack The Code при запуске.

Наконец, две функции прерывания управляют входом от энкодера: одна увеличивает цифру вверх при повороте по часовой стрелке, а другая вниз при повороте против часовой стрелки.

Шаг 4. Игра «Взломай код»

Игра "Взломай код"
Игра "Взломай код"
Игра "Взломай код"
Игра "Взломай код"
Игра "Взломай код"
Игра "Взломай код"
Игра "Взломай код"
Игра "Взломай код"

Лучший способ научиться играть в игру - это посмотреть видео в начале, есть два примера игры, в которую играют ближе к концу.

Сейф изначально открыт, что позволяет вам что-то положить внутрь.

Затем вы нажимаете диск, чтобы заблокировать сейф и генерировать новый код.

Предполагаемый код вводится с помощью диска для увеличения цифры и нажатия на диск для перехода к следующей цифре или для подтверждения кода после выбора всех четырех цифр.

Затем загораются светодиоды на передней панели, чтобы сообщить нам, что было правильным в нашем предположении.

Затем вы используете эту обратную связь, чтобы сделать следующее предположение, пока не сможете угадать правильный код и снова открыть сейф. После того, как вы введете правильный код, отобразится безопасная разблокировка и количество попыток взлома кода.

Наслаждайтесь созданием собственного сейфа для взлома кода. Если вам понравилось это руководство, рассмотрите возможность голосования за него в конкурсе Arduino.

Конкурс Arduino 2020
Конкурс Arduino 2020
Конкурс Arduino 2020
Конкурс Arduino 2020

Второй приз в конкурсе Arduino Contest 2020

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