Оглавление:

Цветная головоломка: 6 шагов
Цветная головоломка: 6 шагов

Видео: Цветная головоломка: 6 шагов

Видео: Цветная головоломка: 6 шагов
Видео: Головоломка Соедини одинаковые цифры 2024, Июль
Anonim
Цветная головоломка
Цветная головоломка
Цветная головоломка
Цветная головоломка

Привет!

Для школьного проекта «If This Then That» мне пришлось создать интерактивный объект с помощью Arduino. Я решил собрать пазл на основе цвета с простой системой обратной связи.

Что он делает (вкратце):

  1. Он определяет цвет объекта над датчиком цвета.
  2. Он проверяет, соответствует ли этот цвет правильному решению.
  3. Он либо поднимает знак «вы умерли», либо нет, в зависимости от погоды, была решена головоломка или нет.

Вы можете подумать, что эту головоломку легко решить?

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

Как я (хотел бы) использовать:

Я хотел бы использовать эту головоломку как интерактивную часть моей кампании D&D.

Шаг 1: материалы

Материалы
Материалы
Материалы
Материалы

Прежде чем вы сможете приступить к сборке, вам понадобятся следующие вещи:

В основном:

(Творческий) мозг, чтобы придумать головоломку

Материал Arduino:

  • Ардуино Уно
  • Макетная плата
  • Серводвигатель
  • (TCS3200) Датчик цвета
  • 7x папа - мама перемычки (желательно разного цвета, настоятельно рекомендуется)
  • 11x папа - папа перемычки
  • powerbank (на случай, если вы хотите, чтобы он работал без компьютера / ноутбука)

Корпус:

  • Ящик (обувной) с крышкой (для сборки пазла)
  • пара кусочков картона (чтобы сделать стены, столб посередине и знак смерти)
  • Деревянные блоки, (как минимум) одна сторона должна быть больше, чем датчик цвета.
  • краска: черный, красный, синий и зеленый (и любые дополнительные цвета, если хотите *)
  • Лист белой бумаги формата А4
  • Ножницы
  • Черный маркер
  • Двухсторонний скотч прочный
  • Карандаш
  • Моментальный клей
  • Нож для очистки овощей или нож Стэнли

* небольшое примечание о цветах: изначально я также использовал фиолетовый, но датчик не мог различать красный и фиолетовый, поэтому я не использовал его. Имейте в виду, что другие цвета тоже могут не получиться так хорошо (но могут, я не пробовал). Мой датчик был дешевым, более точный датчик, вероятно, может различать больше цветов.

Шаг 2: Загадка

Головоломка
Головоломка

Самая важная часть этого проекта - собрать хорошую головоломку.

Как вы можете видеть на первой картинке (той, что с вступлением), я нарисовал норвежские руны на своих блоках (со всех сторон, кроме нижней части). Они имеют отношение к загадке. Затем я вставил в футляр простой вопрос: «Истинное богатство…?».

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

Решение загадки:

Истинное богатство - это счастье!

Итак, что нужно сделать игроку, это заменить сокровище (блок с символом богатства) блоком с символом счастья на нем.

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

Шаг 3: Электромонтаж

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

Подключение довольно простое, так как есть только 2 компонента (и Arduino). В описании я использую минимальное количество проводов, если вы хотите использовать больше, не стесняйтесь. (Я использовал больше проводов на картинке)

Arduino к макетной плате: (используйте 2 провода типа папа - папа)

  1. подключите вывод 5V к положительной стороне макетной платы.
  2. подключите один из выводов заземления к стороне «-» макетной платы.

Сервопривод: (Используйте 3 штекерных-мужских провода)

сервопривод имеет три провода: питание, заземление и сигнальный.

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

Датчик цвета: (используйте 7 штекерных-женских проводов)

  1. VCC: подключите этот провод к положительной стороне макета (это питание).
  2. GND: подключите этот провод к минусовой стороне макета (это земля).
  3. S0: подключите этот провод к горизонтальному ряду на макете. *
  4. S1: подключите этот провод к горизонтальному ряду на макете. *
  5. S2: подключите этот провод к горизонтальному ряду на макете. *
  6. S3: подключите этот провод к горизонтальному ряду на макете. *
  7. ВЫХОД: подключите этот провод к горизонтальному ряду на макете. *

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

Макетная плата для Arduino: ** (используйте 6 штыревых - штыревых проводов)

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

  1. подключите строку, которую вы подключили к сигнальному выводу сервопривода, к выводу 9 на Arduino.
  2. Подключите строку, которую вы подключили к контакту S0 датчика цвета, к контакту 4 на Arduino.
  3. подключите строку, которую вы подключили к контакту S1 датчика цвета, к контакту 5 на Arduino.
  4. Подключите строку, которую вы подключили к контакту S2 датчика цвета, к контакту 6 на Arduino.
  5. подключите строку, которую вы подключили к контакту S3 датчика цвета, к контакту 7 на Arduino.
  6. подключите строку, которую вы подключили к выводу OUT датчика цвета, к выводу 8 на Arduino.

** строки, о которых я говорю выше, находятся на вашей макетной плате.

Шаг 4: Код

Во вложении вы найдете код, необходимый для запуска этого проекта. Комментарии в коде должны четко указывать на то, что он делает. Если вам нужна более подробная информация о том, как работает датчик цвета (если вы хотите полностью понять код), я рекомендую вам проверить это учебное пособие «Как работает датчик?» раздел.

Хотя вас еще нет, есть несколько вещей, которые вам нужно изменить в коде:

  • Настройте переменные.
  • Отрегулируйте операторы if, чтобы они соответствовали вашей загадке (при необходимости).

Удобно сделать столб и раскрасить блоки из следующего шага, прежде чем настраивать переменные, чтобы вам не нужно было делать это снова.

Настройте переменные:

Если вы построили проводку правильно, код должен работать, возьмите лист бумаги, ручку и (нарисованные) блоки. *

  1. Временное комментирование функции void checkRiddle вне кода. (чтобы эта часть не работала)
  2. Загрузите код в свой Arduino.
  3. Откройте последовательный монитор, он запустится и покажет R =… G =… B =… (и еще кое-что, теперь они не имеют значения)
  4. Подержите цветной блок прямо перед датчиком (как можно ближе к вашему окончательному дизайну) на пару секунд.
  5. Удерживая его перед датчиком, отключите питание Arduino. (вытащить из порта usb)
  6. Запишите внешние (самые высокие и самые низкие) значения, измеренные датчиком цвета для каждого цвета (R, G и B).
  7. Выберите два наименее различающихся значения (например, R и B). **
  8. Считайте +10 для максимального значения и -10 для минимального значения, чтобы датчик допускал небольшие ошибки.
  9. Теперь замените значения в коде теми, которые у вас есть сейчас. (В комментариях указано, какие значения следует заменить)
  10. Если вы используете другой цвет, чем я, также измените serial.print.
  11. Теперь повторно загрузите код в свой Arduino, используя только что измеренные значения.
  12. Проверьте, правильно ли монитор последовательного порта печатает цвет, который вы только что ввели в код, удерживая перед ним такой же цветной блок. Убедитесь, что он постоянен, пока вы держите его перед датчиком.
  13. Если нет:: (проверьте значения, посмотрите, нужно ли увеличить диапазон. Если да::), код теперь распознает этот цвет.
  14. Теперь повторяйте этот процесс (шаги 4-13), пока все цвета, которые вы хотите использовать, не будут интегрированы в код.
  15. Не забудьте раскомментировать функцию void checkRiddle!

* сначала перейдите к шагу «дело», если вы еще не раскрасили их.

** вы можете быть более точными, если хотите, используя все 3 (R, G и B), но для этого проекта это не требуется.

Отрегулируйте if-выражения для своей загадки: (только если вы хотите изменить решение)

Шаг 5: корпус и покраска блоков

Корпус и покраска блоков
Корпус и покраска блоков
Корпус и покраска блоков
Корпус и покраска блоков
Корпус и покраска блоков
Корпус и покраска блоков
Корпус и покраска блоков
Корпус и покраска блоков

Корпус - довольно сложная деталь, но ее несложно сделать, в основном речь идет о правильных измерениях. Я не привожу свои измерения, потому что мы (скорее всего) не используем материалы одного размера.

Покраска блоков:

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

Если вы не собираете пазл самостоятельно, раскрасьте и руны.

Столб:

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

Прикрепите провода к датчику ДО того, как встроить его в опору, вы больше не сможете дотянуться до штифтов.

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

Убедитесь, что светодиоды на датчике находятся внутри стойки (не за краем), блоки нужно будет поставить на нее позже.

Знак «ты умер»:

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

Создание комнаты:

  1. Раскрасьте коробку, которую вы выбрали для футляра. (Любой цвет, я использовал черный)
  2. Нарисуйте форму комнаты на дне коробки, чтобы определить длину стен. (Измерьте линии линейкой).
  3. Определите, какой высоты должны быть стены. Стены в моем примере имеют высоту 5 сантиметров.
  4. Теперь у вас есть размеры стен, нарисуйте их на картоне и вырежьте.
  5. Покрасьте стены. (Я покрасил их в черный цвет)
  6. Приклейте стены к коробке по ранее нарисованным линиям.

Теперь у вас есть комната.

Отверстия для кабелей и вывески:

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

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

Отверстие для надписи «вы умерли» должно быть немного толще картона, который вы используете, чтобы он мог подняться, не задев корпус. Длина отверстия зависит от размера знака. Проделайте отверстие ножом Стэнли или овощным ножом.

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

Шаг 6: Есть вопросы ??

Итак, теперь вы сможете собрать потрясающую головоломку на основе цветов с помощью Arduino. Если возникнут вопросы, обязательно задавайте!

Удачи в строительстве!

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