Оглавление:
Видео: Electronic Magic 8 Ball and Eyeball: 11 шагов (с изображениями)
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Я хотел создать цифровую версию Magic 8 Ball…
Тело его напечатано на 3D-принтере, а дисплей был изменен с многогранника синего цвета на небольшой OLED, управляемый генератором случайных чисел, запрограммированным в Arduino NANO.
Затем я пошел немного по касательной и создал еще одну оболочку, это ледяной голубой глаз, который смотрит прямо в вашу душу …
ВНИМАНИЕ: В конечном итоге я использовал ртутные переключатели наклона для своей окончательной сборки. Если он предназначен для использования в качестве игрушки, вам следует просто следовать первоначальному плану, изложенному здесь. Ртуть известна токсичностью. На втором видео хорошо видно, зачем я это сделал!
Все мои ртутные выключатели были восстановлены из старых домашних термостатов, предназначенных для свалки, теперь они в надежных руках …
ОБНОВЛЕНИЕ 12 апреля 2019 г. !!!: Я включил гораздо более простой способ включения и запуска этого проекта. Я также добавил урезанный код, который просто отображает совет. Все раскрывается на шаге 10.
Шаг 1: шар 8
Я создал 100-миллиметровую полую сферу в Solidworks
Мне не нужен был соединительный шов вдоль экватора сферы, поэтому затем вырезали верхнюю и нижнюю части, оставив 50-миллиметровое отверстие вверху и 56-миллиметровое отверстие внизу.
Поскольку я не хотел, чтобы какие-либо крепежи были видны, я сделал надрез на 57 мм глубиной 1 мм на внешней стороне забоя и добавил два стержня диаметром 4 мм, которые выходили перпендикулярно отверстию длиной около 4 мм.
Пробка верхнего ствола была смоделирована путем инвертирования первоначального вырезанного участка для верхнего ствола. К внутреннему изгибу плунжера было добавлено дополнительное 2-миллиметровое кольцо, после чего все стало цельным.
Сверху я нарисовал большую цифру 8, и этот контур был вырезан из верхней обложки. Это, в свою очередь, было использовано для создания фигуры 8.
Шаг 2: Порт доступа к окну
Эта часть содержит всю электронику и внутренние механизмы. Он также предназначен для использования в качестве точки доступа для замены батареек.
Я хотел, чтобы на нем не было видно креплений, поэтому я сделал отверстие винтом по частям, он поворачивается примерно на 36 градусов и фиксируется на месте.
В середине детали имеется порт диаметром примерно 1 дюйм, через который можно просматривать советы.
Внутри порта есть квадратный вырез, предназначенный для размещения куска пластика или стекла толщиной 2 мм.
Это окно используется на всех размерах этой игрушки.
Также необходимы две части electronicsBrace и по одной части ElectronicsTray и nanoTray.
Шаг 3. Распечатайте и соберите
Мяч и номер были напечатаны с использованием черного АБС-пластика. В то время как верхняя крышка была напечатана с использованием натурального АБС-пластика. Я попробовал белый АБС, но он выглядел слишком резко.
Цифра 8 запрессовывается в верхнюю крышку.
Верхняя крышка достаточно мала, чтобы пройти внутрь шара через нижнее отверстие.
Это фрикционная посадка, но она также удерживается на месте адгезивом из АБС-пластика.
Я немного беспокоился о том, чтобы разместить все детали внутри, поэтому я пошел дальше и создал еще одну, на этот раз диаметром 120 мм.
Шаг 4: Глаз
Я удалил верхний вырез в 3D-моделях и напечатал оба шара из натурального АБС-пластика, а затем распечатал отверстие для доступа к окну из пластикового пластика синего цвета.
Это дает разумную копию глазного яблока, если смотреть прямо на него.
Мне эта версия нравится больше, чем оригинальная 8Ball.
Шаг 5: Электроника
Пространство было ограничением, как и внешний вид.
Не должно быть никаких внешних выступов или препятствий для эстетики.
Игрушка включается и взаимодействует с ней движением.
Игрушка запускается в выключенном состоянии, пока ее не перевернут.
Вместо кнопочного переключателя я использовал переключатель наклона.
Раньше я использовал полевой МОП-транзистор для управления питанием микроконтроллера. Однако это было не идеально, поскольку позволяло небольшому количеству тока непрерывно питать микроконтроллер, тем самым разряжая батарею примерно через месяц или около того.
В этом случае я использовал небольшое реле, подобное тому, которое я использовал в своем проекте с криптографическим USB-накопителем.
На прилагаемой схеме показана проводка, необходимая для работы оборудования.
Переключатель наклона.
Реле. Я использовал катушку на 6 В, поскольку напряжение батареи составляет 6 В, и для этого потребовалась схема управления реле, которое переключается с простого транзистора NPN.
Модуль Waveshare 128 X 128 OLED от Amazon.
Шаг 6: Программа
Я хотел, чтобы ответы были как у оригинальной игрушки, для этого я воспользовался Википедией.
Это модуль типа SSD1327, и для этих ЖК-дисплеев имеется очень надежная библиотека кода.
Первоначальные попытки использования этого кода закончились неудачей, поскольку использовалась слишком большая память.
Простым обходным решением было использование урезанного кода, предоставленного производителем.
Я исключил большую часть примера и использовал фрагменты исходного кода для отображения необходимой информации.
Программа работает следующим образом:
Мяч в состоянии покоя находится в выключенном состоянии.
Переворачивание мяча и взгляд в окно - это исходное состояние при включенном питании.
Как только Arduino запустится и отобразит инструкции «Задайте вопрос, затем инвертируйте». Программа берет на себя управление и подает питание на Arduino через реле, управляемое программой.
Инструкции остаются видимыми до тех пор, пока игрушку не перевернут, при этом переключатель наклона будет отключен, и программа перейдет в режим мышления. На дисплее отображается «Thinking…», так что вы знаете, что оно все еще активно.
Затем мяч снова переворачивают, чтобы окно стояло вертикально.
Это действие считывается включенным механическим переключателем наклона, и программа генерирует случайный ответ в течение одной секунды, когда окно ориентируется вверх.
Сообщение остается видимым, пока игрушка не будет повернута шариком вверх.
Этот процесс продолжается до тех пор, пока мяч не окажется окном вниз более чем на 16 секунд, после чего программа отключит реле и отключит питание.
КРИТИЧЕСКИЕ ЗАМЕЧАНИЯ по этой программе находятся в случайном (); функция.
У меня были проблемы с отображением одних и тех же ответов, я даже протестировал это на обоих устройствах одновременно и обнаружил, что да, они были одинаковыми.
Очень важно использовать randomSeed (analogRead (0)); рутина. Объяснение этому можно найти ЗДЕСЬ:
Шаг 7: Окно и сборка электроники
Эта сборка состоит из пяти печатных деталей, которые составляют окно, держатель батареи и крышку.
Первый - это видимый компонент, который имеет опоры для OLED, а второй - аккумулятор и держатель контроллера, который крепится к оконным стойкам VIA.
Я использовал для окна небольшой кусок хрусталя. Это было приклеено клеем типа цианоти. У меня был поролон с клеем с одной стороны, его разрезали на небольшие полоски и поместили вокруг стекла с внутренней стороны оконного блока.
Вокруг окна 4 отверстия для шурупов. они разнесены по выбранному мною модулю. В них установлено 4-40 термоустановок с помощью паяльника.
Когда модуль установлен, для его крепления используются стойки 1/4 дюйма.
Мне повезло, когда были доставлены компоненты. Держатель батареи легко помещается внутри отверстия, а это значит, что мне не нужно было размещать его вертикально. Это означает, что мяч меньшего размера подойдет.
В основании отсека электроники находится держатель аккумулятора и имеется 2 выреза, один для реле и один для переключателя наклона.
Крышка состоит из 3 частей, которые защелкиваются вместе и надежно удерживают батареи, а также обеспечивают плоскую поверхность для крепления модуля NANO.
Эти 2 части затем прикручиваются к 4 стойкам на задней стороне СТАРОГО модуля.
С ОСТОРОЖНОСТЬЮ! В итоге я заменил переключатель наклона ртутным переключателем. Это обеспечило более надежную работу.
Шаг 8: посадка с натягом
Оконная сборка, когда она будет завершена, будет очень плотно прилегать через вырез в нижней части шара.
При установке окончательной сборки окна в шар возможны некоторые помехи.
Если это произойдет, возможно, потребуется обрезать внутреннюю кромку опоры окна в шаре, как показано.
Шаг 9: Дополнительные файлы
Это большие шаровые напильники диаметром 120 мм.
Шаг 10: ОБНОВЛЕНИЕ
Я заполнил урезанный код, так что этот шар работает так же, как оригинал.
Теперь, когда вы его переворачиваете, требуется около 4 секунд, чтобы программа запустилась и отобразила совет.
Этот тип операции также возможен с более простой сборкой оборудования.
Можно было бы исключить все силовые части схемы, и цифровой Driving D2 вообще не понадобился бы.
Переключатель наклона может питать переключающий транзистор, который подает питание на необработанный вход питания на плате.
Я оставил компоненты на месте для этого изменения.
При изменении схемы объявление программы powPin и все последующие части, относящиеся к этому, могут быть удалены из программы.
Если исходная схема была построена, и вы хотите использовать код отсутствия питания. Он должен работать, поскольку переключатель наклона включает питание микроконтроллера.
В этом режиме для запуска программы и отображения подсказки всегда требуется около 4 секунд.
Удалив входной контакт, можно еще больше упростить его. Я еще не тестировал этот режим, но он должен работать так же. Только не забудьте удалить все ссылки на чтение ввода из программы.
При использовании этого типа датчика наклона я включил новую опору для батарейного отсека.
Шаг 11: Дополнительные файлы
Это файлы OLED с веб-сайта Waveshare….
Финалист конкурса Arduino Contest 2019