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

Зеркало бесконечности калейдоскопа

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

Arduino 101
× 1
Адресные светодиоды без заглушек длиной 1 м (60)
Эта версия Sparkfun удобно связана с этим проектом, но вы можете использовать NeoPixels Adafruit или аналогичные.
× 1
Короткий отрезок одножильного провода или контактов перемычки
Это сделано для того, чтобы многожильный провод был совместим с выводами Arduino.
× 1
термоусадочная трубка
Необязательно, если вам нравится.
× 1
гнездовой разъем цилиндрического разъема с винтовыми клеммами
× 1
штекерный разъем цилиндрического разъема с винтовыми клеммами
× 1
3 батарейных отсека AA с переключателем
× 1
Повышающий регулятор Pololu Valtage
Этот регулятор стоимостью 4 доллара позволяет обеспечить питание всего проекта от одной аккумуляторной батареи с 3 батареями AA. В качестве альтернативы вы можете пропустить эту часть и использовать батарею 9 В для питания Arduino 101. Если вы пойдете по этому маршруту, вам все равно понадобится блок из 3 AA для питания фонарей. https://learn.adafruit.com/adafruit-neopixel-uberguide/power
× 1
Батарейки AA
× 1
12-дюймовая квадратная рамка рисунка «теневой ящик»
Глубина и размер этого кадра идеальны!
× 1
12-дюймовое квадратное зеркало
Это поместится в задней части рамки изображения.
× 1
11 "фото мольберт
Для отображения готового продукта
× 1
Зеркальное отображение конфиденциальности
(необязательно - значительно улучшает эффект, но не обязательно на 100%)
× 1
FoamCore
Стандартный 3/16 "или 1/4" FoamCore. Я использовал белый цвет, но черный тоже может хорошо смотреться. Вам понадобится достаточно, чтобы сделать одну деталь размером 12 на 12 дюймов, плюс достаточно, чтобы собрать вместе полосу длиной 1 м и шириной 05 дюймов.
× 1

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

Паяльник (универсальный)
резак для коробок со свежим лезвием
Пистолет для горячего клея (общий)
устройства для зачистки проводов

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

IDE Arduino
Для этого проекта вам понадобится библиотека Adafruit NeoPixel. https://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library-installation Также, если вы новичок в Arduino 101, вам необходимо установить ядро ​​Кюри для доступа к позиционным датчикам. https://www.arduino.cc/en/Guide/Arduino101

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

Что-то среднее между калейдоскопом и зеркалом бесконечности! Когда вы меняете поворот зеркала, свет меняется в ответ. Этот проект построен с использованием стандартного зеркала и рамы для фотографий, а также некоторых других компонентов. Плата для разработки Arduino 101 имеет встроенное определение положения, которое мы можем использовать для определения угла и управления световым дисплеем.

Примечание. В этом проекте используется та же электроника, что и в Праздничный театр теней в основном просто Arduino101, светодиодная лента и аккумулятор. Я использую регулятор напряжения за 4 доллара, чтобы один и тот же батарейный блок мог питать как светодиоды, так и Arduino 101. В качестве альтернативы вы можете использовать батарею 9 В для питания Arduino и пропустить регулятор.

Часть первая:создать зеркало

Шаг 1:

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

Шаг 2:

Используя инструмент для рисования круга или веревку и карандаш, нарисуйте идеальный круг с радиусом 5,25 дюйма с центром в 12 x 12. Вы можете использовать линейку, чтобы поставить отметку 0,75 дюйма от края 12 x 12 и использовать ее в качестве отправная точка отсчета.

Шаг 3:

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

Шаг 4:

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

Шаг 5:

Отрежьте отдельную полоску из пенопласта длиной около 36 дюймов. Ее можно при необходимости собрать из более коротких сегментов с помощью ленты. Используйте линейку и держите размер как можно ближе к однородному 0,5 дюйма.

Шаг 6:

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

Шаг 7:

Переверните полосу и с помощью горячего клея прикрепите светодиодную ленту по длине полосы Foamcore.

Шаг 8:

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

Шаг 9:

Оберните светодиодную ленту кольцом над отверстием в квадрате из пенопласта 12 x 12 дюймов. Полная светодиодная полоса будет слишком длинной. Размер круга светодиода должен быть чуть больше, чем отверстие, и отрезать лишние светодиоды (около 6 светодиодов). Вы все еще можете использовать эти запасные светодиоды для другого проекта позже.

Шаг 10:

Поместите светодиодную ленту в кольцо на верхней поверхности (плохая сторона) вашего квадрата 12 x 12 дюймов и приклейте горячим клеем прямо на краю круглого отверстия. Убедитесь, что задняя часть светодиодного кольца имеет толщину не менее 0,25 дюйма. от края квадрата 12 x 12 дюймов (в противном случае черные пластиковые прокладки рамы не поместятся вокруг него.

Шаг 11:

Если вы используете полупрозрачную пленку, выньте стекло для рамки теневого бокса и нанесите пленку на стекло, следуя инструкциям производителя. Я обнаружил, что это самый сложный шаг. Обязательно сначала очистите стекло и используйте воду (или мыльный раствор), чтобы облегчить удаление пузырьков воздуха. Использование зеркальной пленки создает гораздо более сильную иллюзию и скрывает светодиоды, но в этом нет 100% необходимости (и вы можете добавить ее позже, если хотите!). Если вы используете пленку, поместите стекло обратно в рамку стороной с пленкой вверх / в кадр.

Шаг 12:

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

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

Часть вторая:настройка электроники

Шаг 1

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

Шаг 2

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

Шаг 3

Затем припаяйте красный провод к клемме VIN на регуляторе напряжения и припаяйте два прямых разъема к контактам GND и VOUT, как показано.

Шаг 4

Теперь подсоедините переходники цилиндрического домкрата. Сначала зачистите концы проводов, идущих от аккумуляторного отсека, затем вставьте их в клеммы штекерного гнезда и затяните отверткой. КРАСНЫЙ идет к клемме (+), ЧЕРНЫЙ идет к клемме (-).

Затем подключите переходник гнездового цилиндрического разъема к свободным проводам, идущим от начала светодиодной ленты (идущей от задней части вашего зеркала). На этой полосе ЖЕЛТЫЙ идет к клемме (-), а КРАСНЫЙ идет к (+ ).

Шаг 5

Теперь подключите жгут к Arduino 101. ЗЕЛЕНЫЙ провод идет к контакту 6, ЖЕЛТЫЙ провод идет к контакту GND рядом с №13.

С двумя контактами заголовка на регуляторе напряжения GND идет на GND, а VOUT идет на контакт Vin на Arduino 101. Не поймите неправильно! Подключение в обратном направлении приводит к появлению запахов и ожогов. Я это знаю.

Шаг 6: Соедините жгуты проводов на Arduino 101 и светодиодную ленту вместе, затем подключите цилиндрический разъем аккумуляторного блока к цилиндрическому разъему светодиодной ленты, и все подключено!

Шаг 7:

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

Загрузите образец кода с помощью компьютера, USB-кабеля и Arduino IDE.

Кроме того, вы можете получить доступ, отредактировать и загрузить пример кода с помощью веб-среды IDE Arduino.

Попробуйте!

В примере кода цвета светодиодов меняются в зависимости от угла наклона зеркала, считываемого акселерометром на вычислительном модуле Intel Cure. В настоящее время в одном положении выключаются все огни, а в одном углу создается эффект преследующего света с последним использованным цветом. Не стесняйтесь погрузиться в код и создать сумасшедшие световые эффекты! Отличное руководство Adafruit NeoPixel Uberguide - отличное место для начала.

ВАЖНО! Если вы хотите установить это зеркало на постоянной основе, вы можете использовать подключаемый блок питания вместо аккумуляторной батареи, но убедитесь, что он выдает 3,5–5 В! Любое более высокое напряжение (например, квадратная батарея 9 В) может перегрузить светодиодную ленту.

Код

  • Arduino 101 Infinity Mirror Sketch
Arduino 101 Infinity Mirror Sketch Arduino
Простой эскиз, который считывает угол Arduino 101 с внутреннего акселерометра и использует угол для управления цветами светодиодной ленты NeoPixel.
 / * Copyright (c) 2016 Intel Corporation. Все права защищены. См. Уведомление о лицензии в конце файла. Arduino 101 «Зеркало бесконечности». Угол поворота Arduino 101 изменяет свет в полосе Neopixel. В этом коде используется библиотека Adafruit Neopixel. Инструкции по установке библиотеки здесь:https://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library-installation Если вы используете настольную версию Arduino IDE, убедитесь, что у вас установлена ​​последняя версия Intel Curie Core. Для получения дополнительной информации посетите https://www.arduino.cc/en/Guide/Arduino101*/#include "CurieIMU.h" #include  #define PIN 6 //// с каким контактом подключены NeoPixels в? Adafruit_NeoPixel strip =Adafruit_NeoPixel (54, PIN, NEO_GRB + NEO_KHZ800); /// длина полосы 15 пикселей. Вы можете изменить это количество пикселей в вашей отдельной полосе. Int tr =0; // Некоторые переменные для хранения "цветовой цели" и "цветовой текущей" для сглаживания ... int tg =0; int tb =0; int r =0; int g =0; int b =0; int rawX =0; ///// для хранения значений из акселерометра Кюри int rawY =0; // int rawZ =0; float angle =0.0; void setup () {// поместите здесь свой установочный код, чтобы запустить его один раз://Serial.begin (9600); // для отладки. CurieIMU.begin (); CurieIMU.setAccelerometerRange (2); // Устанавливаем диапазон акселерометра на 2g. strip.begin (); // инициализировать неопиксельную полосу strip.show (); // Инициализируем все пиксели на "выключено"} void loop () {// помещаем сюда ваш основной код для повторного запуска:// считываем акселерометр:int rawX =CurieIMU.readAccelerometer (X_AXIS); int rawY =CurieIMU.readAccelerometer (Y_AXIS); int rawZ =CurieIMU.readAccelerometer (Z_AXIS); угол =atan2 (rawX, rawY); // функция atan2 () преобразует силы x и y в угол в радианах. здорово! Выходные данные:от -3,14 до 3,14, если (abs (angle)> 2,5) {// цифровые выводы опущены /// выключить свет в этом положении tr =0; tg =0; tb =0; фонари (); } if ((angle> 1.5) &&(angle <2.5)) {// делаем источники света белыми в этой позиции (равные r, g и b). Значения цвета могут доходить до 255, но я считаю, что это достаточно яркое при 100. tr =100; tg =100; tb =100; фонари (); } else if ((angle <1.5) &&(angle> 0.5)) {// сделать свет красным в этой позиции tr =100; tg =0; tb =0; фонари (); } else if ((angle <0.5) &&(angle> -0.5)) {// делаем свет в этой позиции зеленым tr =0; tg =100; tb =0; фонари (); } else if ((angle <-1.5) &&(angle> -2.5)) {// делаем свет синим в этой позиции tr =0; tg =0; tb =100; фонари (); } else if ((angle <-0.5) &&(angle> -1.5)) {//// Выбор угла для чего-нибудь забавного! TheaterChase (); /// эти функции записаны внизу скетча. // rainbowCycle (2); } else {//// в случае неожиданного угла выключить свет. tr =0; tg =0; tb =0; фонари (); }} void runlights () {/// сглаживание цвета. Текущий цвет перемещается к целевому цвету ... Если цель больше, чем текущая, двигайтесь вверх, если меньше, двигайтесь вниз. если (tr> r + 1) {r ++; } если (tg> g + 1) {g ++; } если (tb> b + 1) {b ++; } если (tr  

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

  1. Калейдоскоп
  2. Зеркало
  3. Шестерни бесконечности
  4. Arduino Spybot
  5. FlickMote
  6. Самодельный телевизор B-Gone
  7. гигрометр с охлаждаемым зеркалом Arduino
  8. Основные часы
  9. Найди меня
  10. Зеркальные часы бесконечности