Лампа Neoboard - SD-карта не требуется, 3D-печать: 3 шага (с изображениями)
Лампа Neoboard - SD-карта не требуется, 3D-печать: 3 шага (с изображениями)
Anonim
Лампа Neoboard - SD-карта не требуется, 3D-печать
Лампа Neoboard - SD-карта не требуется, 3D-печать

Подписаться Еще от автора:

Лампа Minecraft Ore - настраиваемый размер и плотность пикселей
Лампа Minecraft Ore - настраиваемый размер и плотность пикселей
Лампа Minecraft Ore - настраиваемый размер и плотность пикселей
Лампа Minecraft Ore - настраиваемый размер и плотность пикселей

Проекты Fusion 360 »

После создания лампы Minecraft для моего 7-летнего ребенка его младший брат захотел чего-то похожего. Ему больше нравится SuperMario, чем Minecraft, поэтому его ночник будет показывать спрайты из видеоигр.

Этот проект основан на проекте Neoboard, но детали можно распечатать на 3D-принтере, и Arduino не нуждается в SD-карте для чтения изображений (они могут храниться во флеш-памяти).

Запасы

  • 1x плата arduino (подойдут Uno или Nano)
  • 2x нить накала (черная для основного корпуса и прозрачная для диффузоров). Даже если вам нужен другой цвет для своей подставки, вам все равно понадобится черная нить для части светодиодных разделителей. Я использовал PLA.
  • 1 кнопка
  • 1 резистор 300-500 Ом (для вывода данных полосы)
  • 1x 1000 мкФ конденсатор (для защиты полосы от резких изменений тока)
  • 1 матричная панель 16x16 светодиодов
  • Типовые материалы для изготовления (клей, дюпоновые провода, самоспающиеся разъемы, винты M4 и т. Д.)

Шаг 1. Загрузите код и обработайте изображения

Загрузите код и обработайте изображения
Загрузите код и обработайте изображения
Загрузите код и обработайте изображения
Загрузите код и обработайте изображения
Загрузите код и обработайте изображения
Загрузите код и обработайте изображения
Загрузите код и обработайте изображения
Загрузите код и обработайте изображения

Вы можете получить код из репозитория GitHub.

Внутри уже есть профили Platformio для плат Arduino Uno и Nano.

Для обработки изображений мы воспользуемся обработкой (подойдет графический интерфейс или инструмент cli). Код обработки считывает изображение размером 16x16 и преобразует все цвета пикселей в массив uint8, отсортированный по типу подключения светодиодной матрицы.

В 99% случаев для корректной обработки изображений вам потребуется только:

  1. Измените значение на переменные inputFilename и outputFilename.
  2. Скопируйте содержимое файла outputFilename и вставьте его в /src/sprites.h

Внутри кода Arduino вам также необходимо изменить

  • Значения LEDS_PIN, BUTTON_PIN и TOTAL_SPRITES
  • Возможно, тип светодиода в конструкторе полосы … но не должен быть обычным
  • И `` переключатель '' внутри функции changeSprite (), чтобы показать все ваши изображения

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

Как вы можете видеть на изображении выше, для хранения кода и 10 изображений SuperMario требуется всего около 11 Кбайт, поэтому есть много места для большего количества изображений (и даже больше, если вы используете плату MEGA2650).

Шаг 2: Распечатайте все детали

Распечатать все детали
Распечатать все детали
Распечатать все детали
Распечатать все детали
Распечатать все детали
Распечатать все детали
Распечатать все детали
Распечатать все детали

Я разработал детали с помощью Fusion360. Вы можете скачать их здесь:

Или, если вам нужны только файлы STL, они доступны в Thingiverse:

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

Для диффузора изначально я думал, что использование гладкого листа с покрытием и шаблона кривой Гильберта даст наилучшие результаты, но я протестировал различные комбинации слоев, разрешения, листов и шаблонов, и я получил лучшие результаты, используя прозрачный PLA. накаливания от BQ с такими настройками:

  • лист: лист с порошковым покрытием
  • слои: 3
  • разрешение: 0,2
  • Картина: прямолинейная

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

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

Шаг 3. Подключите все

Подключить все
Подключить все
Подключить все
Подключить все
Подключить все
Подключить все

Подключить все детали проще простого: подключите плату и светодиодную матрицу с помощью USB-кабеля 5 В, а затем подключите кнопку и вход полосы к обозначенным портам на плате.

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

Если все сделано правильно, то в матрице вы увидите счастливого пингвина:)

Чтобы убедиться, что все работает правильно:

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