Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Лабиринт в мраморном лабиринте Arduino

Компоненты и расходные материалы

Arduino UNO
× 1
Микро-серводвигатель SG90
× 2
Макет (общий)
× 1
Джойстик Modulo
× 1
Перемычки (общие)
× 1

Необходимые инструменты и машины

Пистолет для горячего клея (общий)
Нож с острым лезвием

Приложения и онлайн-сервисы

IDE Arduino

Об этом проекте

Я покажу вам, как сделать настольную игру Marble Maze Labyrinth, управляемую Arduino, которую очень легко и весело делать. И самое приятное то, что он сделан из картона.

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

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

Идея

Мне стало скучно от электронных игр, и я решил заняться поиском игр на физические навыки, поэтому я нашел Лабиринт, и он мне понравился.

Что такое Лабиринт ?

Лабиринт это игра на физическое мастерство, состоящая из коробки с лабиринтом наверху с отверстиями и стального шарика. Цель игры - попытаться наклонить игровое поле, чтобы направить шарик в конец лабиринта, не позволяя ему упасть в отверстия. В некоторых версиях игры есть подвесная поверхность лабиринта, которая вращается по двум осям, каждая из которых управляется ручкой. Продаются маленькие портативные версии игры, при этом коробка полностью закрывается прозрачной крышкой сверху. Игра была разработана BRIO в Швеции и впервые выпущена там в 1946 году.

Дизайн

Я начал проектировать свой собственный лабиринт с помощью sketch up pro, чтобы представить, как будет выглядеть эта игра. И я постарался придать ему подходящий размер и упростить его, потому что дети тоже могут начать строить свой собственный лабиринт.

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

Инструменты и материалы

· Картон 3 мм

· Горячий клей

· Нож с острым лезвием

· Линейка

· Карандаш

Компоненты

Arduino (любой тип платы)

Мини-макетная доска

Провода перемычки

Серводвигатель 2X 9g

Модуль джойстика

2 винта и гайки 12 мм на 3 мм

Вырежьте фигуру

Распечатайте прикрепленный файл и вырежьте из картона следующие инструкции:

1. Вырежьте квадрат размером 20 на 20 см для основания лабиринта.

2. Вырежьте две равнобедренные трапеции 14 на 16 см по бокам лабиринта.

3. Сделайте прямоугольное отверстие в одной из этих двух частей для серводвигателя (ось X).

4. Просверлите отверстие диаметром 3 мм в другой детали точно посередине, чтобы оно располагалось напротив вала сервопривода на другой стороне (ось X).

5. Затем вам нужно будет вырезать четыре прямоугольника 14 см на 4 см для поддержки внутри лабиринта.

6. Просверлите отверстие диаметром 3 мм в другой детали точно посередине, чтобы оно располагалось напротив вала сервопривода на другой стороне (ось Y).

7. Сделайте прямоугольное отверстие посередине, как показано на одной из этих четырех частей для серводвигателя (ось Y).

8. Выберите собственный лабиринт из прикрепленных файлов к статье, затем вырежьте квадрат 12 см на 12 см для лабиринта.

9. Совет. Приклейте бумажный лабиринт в качестве ориентира.

10. Вам нужно будет вырезать не менее восьми прямоугольников размером 1,5 на 12 см для стен в лабиринте. Затем вам нужно будет обрезать их, чтобы они были подходящего размера и поместились в вашем лабиринте.

11. Следуйте направляющим линиям, затем приклейте детали на их место, чтобы они стали стеной лабиринта.

12. Приклейте серводвигатели на их место, как показано.

13. Приклейте рог серводвигателя к прямоугольным частям.

Электропроводка

Подключите провода от сервоприводов и джойстика, как показано

Контакт 8 Arduino к желтому проводу сервопривода 1 (ось X)

Контакт 9 Arduino к желтому проводу сервопривода 1 (ось Y)

Красный и коричневый провода к макету.

Вывод A0 Arduino на вывод VRx джойстика

Вывод A1 Arduino на вывод VRy джойстика

Джойстик VCC и GND на макетную плату.

Arduino 5V и заземление на макетную плату.

Код

Подключил плату Arduino к ПК с помощью USB-кабеля.

Откройте Arduino IED

Скопируйте код и вставьте его в новый эскиз

Убедитесь в названии последовательного порта, щелкнув меню "Инструменты"> "Плата"> выберите активный последовательный порт

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

Как только вы получите сообщение, вы готовы к работе.

Код

  • управлять лабиринтом с помощью джойстика
Управляйте лабиринтом с помощью джойстика Arduino
 #include  Серво myServoX; // определяем серводвигатель для оси X Servo myServoY; // определяем серводвигатель для оси Y int ServoXPin =8; // определение пина по оси X ServoYPin =9; // определение пина по оси Y ServoXHomePos =90; // установка исходного положения сервопривода ServoYHomePos =90; int ServoXPos =103; int ServoYPos =135; int XAxlePin =A0; // определение управления выводом оси X для джойстика A0int YAxlePin =A1; // определяем управление выводом оси Y для джойстика A1int XAxleValue =0; // устанавливаем начальное значение для джойстика int YAxleValue =0; int Direction =0; int range =12; // вывести диапазон движения по X или Yint center =range / 2; // значение положения покоя int threshold =range / 4; // порог покояvoid setup () {myServoX.attach (ServoXPin); // подключаем серво X myServoY.attach (ServoYPin); // подключение сервопривода YServoXPos =ServoXHomePos; // обновить ServoXPos с исходной позицией как startupServoYPos =ServoYHomePos; // обновить ServoYPos с исходной позицией как startupmyServoX.write (ServoXPos); myServoY.write (ServoYPos); Serial.begin (9600);} void loop () {XAxleValue =readAxis (XAxlePin); YAxleValue =readAxis (YAxial); .print (XAxleValue, DEC); Serial.print ("-"); Serial.println (YAxleValue, DEC); // проверяем значения джойстика и плавно перемещаем сервоприводы с задержкой 100 миллисекундif (XAxleValue> 0) {ServoXPos ++; myServoX.write (ServoXPos); задержка (100 * (7-XAxleValue)); } если (XAxleValue <0) {ServoXPos--; myServoX.write (ServoXPos); задержка (100 * (7 + XAxleValue)); } если (YAxleValue> 0) {ServoYPos ++; myServoY.write (ServoYPos); задержка (100 * (7-YAxleValue)); } если (YAxleValue <0) {ServoYPos--; myServoY.write (ServoYPos); задержка (100 * (7 + YAxleValue)); } если (ServoXPos> ServoXHomePos + 20) {ServoXPos =ServoXHomePos + 20; } если (ServoXPos  ServoYHomePos + 20) {ServoYPos =ServoYHomePos + 20; } если (ServoYPos  

Изготовленные на заказ детали и корпуса

Схема


Производственный процесс

  1. Детектор языка TinyML на основе Edge Impulse и Arduino
  2. Игра с гироскопом Arduino с MPU-6050
  3. Цифровые игральные кости Arduino
  4. Железный человек
  5. Найди меня
  6. Управление увлажнителем Arduino
  7. Сонар с использованием Arduino и отображение при обработке IDE
  8. MobBob:самостоятельный робот Arduino, управляемый смартфоном Android
  9. Реактивный настольный светильник для звука Arduino
  10. NeoMatrix Arduino Pong